* added script to support /me-like emotes (scriptname is "me")
* changed the permission system: now a script cant be used as game command f no permission is explicitly set
* implemented threadsafe CLI queue to solve crashes with short-intervalled events that ran on 2 threads
* fixed name return at "getitemprotovalue" script
* iplemented DrawObject class and a Mgr for those objects; they will ease object drawing once implemented. the Mgr works under control of the GUI thread and is threadsafe.
* implemented auto-loading of SCP files if a name-tag is present somewhere in the file ("#dbname=...") and no explicit db name was passed to "loadscp" script.
* changed internal ObjMgr storage to std::map (instead of list) for faster access
* fixed call of "_enterworld" script
* fixed handling of MyCharacter(), which could cause crashes after newly changes
* fixed GetFileList() func in tools.cpp (this fixes also related "lgetfiles" script func). now it will only parse files, not directories. might still need some fixing for linux.
55 lines
1.2 KiB
Modula-2
55 lines
1.2 KiB
Modula-2
// PSEUWOW DEF_SCRIPT STARTUP FILE
|
|
|
|
// this is for debugging which scripts are loaded
|
|
// set to false to disable output
|
|
SET,LoadDebug true
|
|
|
|
LOG *** DefScript StartUp [${@version_short}]...
|
|
|
|
// first, load all scripts in path 'scripts' with extension .def
|
|
SET,fcount ?{LGETFILES,scriptlist,def scripts}
|
|
LSORT scriptlist
|
|
LOG *** Loading ${fcount} script files.
|
|
// iterate over all files and load them; if counter i is equal to the amount of files we are done.
|
|
SET,i 0
|
|
SET,errors 0
|
|
LOOP
|
|
IF ?{EQUAL,${i} ${fcount}}
|
|
EXITLOOP
|
|
ENDIF
|
|
SET,fn ./scripts/?{LINDEX,scriptlist ${i}}
|
|
IF ?{AND,?{IsSet LoadDebug} ${LoadDebug}}
|
|
LOG * Loading script file [${fn}]
|
|
ENDIF
|
|
IF ?{NOT ?{LOADDEF ${fn}}}
|
|
LOGERROR * Error loading [${fn}]
|
|
ADD,errors 1
|
|
ENDIF
|
|
ADD,i 1
|
|
ENDLOOP
|
|
|
|
UNSET tmp
|
|
UNSET fcount
|
|
UNSET i
|
|
UNSET fn
|
|
LDELETE scriptlist
|
|
|
|
IF ?{NOT ${errors}}
|
|
LOG *** All files loaded without errors.
|
|
ELSE
|
|
LOG *** All files loaded, ${errors} errors.
|
|
ENDIF
|
|
UNSET errors
|
|
|
|
// loads & applies the configuration
|
|
CONFIG
|
|
|
|
// Load some SCP files
|
|
LOADALLSCP
|
|
|
|
// do more stuff here in future...
|
|
|
|
LOG * StartUp complete!
|
|
|
|
|