Well, weeks ago a friend asked me if I could modify the source code of the FPSC-Game.exe to her needs. Now, time is always an issue and wading through somebody else's code isn't really an amusement. However, she asked nicely and so I took some time and did it and while I was at it, I added some more stuff.
It certainly has bugs and therefore I need 3 to 4 testers.
NOTE: This is really a side project, and it'll take a while till I get around to fix bugs.
Anyway, this is new:
- 12 new conditions
- 22 new actions
- 4 global variables
- entity timers
- Load/Save level
(not to be confused with Load/Save game, but you can start from a stored level after you quit the game, for example)
here's the read me
Conditions
----------------------------------------------------------------
KEYPRESSED=X
is true if the user presses the key with the SCANCODE in X
ENTITYTIMERGREATER=X
is true if X exceeds the entity timer
PLRLOWER=X
is true when player is X units lower than entity
VAR1=X
is true when the numeric value of variable 1 equals X
VAR2=X
is true when the numeric value of variable 2 equals X
VAR1LESS=X
is true when the numeric value of variable 1 is less than X
VAR1GREATER=X
is true when the numeric value of variable 1 is less than X
VARA=X
is true when the alpha-numeric value of variable A equals X
VARB=X
is true when the alpha-numeric value of variable B equals X
FILEEXIST
is true when CHECKFILE was successful
LEVEL=X
is true when the current level equals X
LEVELSTART
is true once for each level
Actions
----------------------------------------------------------------
STORELEVEL=filename
stores the current level settings in the specified file name
LOADLEVEL=filename
loads a level previously stored in filename
ENTITYTIMERSTART
resets the entitiy timer
SYNCRATE=X
sets the sync rate of the game
VAR1=X
sets variable 1 to the numeric value X
VAR2
sets variable 2 to the numeric value X
VARA
sets variable A to the alpha-numeric value X
VARB
sets variable B to the alpha-numeric value X
VAR1ADD=X
adds the numeric value X to the value of variable 1
VAR1SUB=X
subtracts the numeric value X to the value of variable 1
VAR1MUL=X
multiplies the numeric value X to the value of variable 1
VAR1DIV=X
divides the numeric value X to the value of variable 1
VARACONCAT=X
concats the alpha-numeric value in variable A with X
WRITEVAR1=X
writes a numeric value of an entity data given in X to variable 1
writable data:
state
health
plrhealth
quantity
plrdist
plrusingaction
shotdamage
activated
WRITEVAR2=X
writes a numeric value of an entity state given in X to variable 2 (see WRITEVAR1 for more details)
WRITEVARA=X
writes an alpha-numeric value of an entity data given in X to variable A
writable data:
name
WRITEVARB=X
writes an alpha-numeric value of an entity data given in X to variable B
EXECFILE=FileName
Executes a file
EXECFILEWAIT=Filename
executes a file and waits till it's terminated
CALLDLL=DllFile|FuncName
calls the function "FuncName" in a Dll "DllFile" and passes 4 pointers. These point to values in
Var1, Var2, VarA, VarB
CHECKFILE=FileName
Checks if a file exist. Use the FILEEXIST condition to get the result
DELETEFILE=FileName
Deletes a file
Using Variables
----------------------------------------------------------------
This mods provides four global variables. Two of them are numeric (variables 1 and 2), and two are
alpha-numeric (A and B). Within the scripts you can use these variables instead of literal values.
Example:
:state=%1:state=%2
The preceding % sign tells the script interpreter that you want to use a variable instead of a
literal variable. In the above example the interpreter checks whether state equals the value in
variable 1 and if so, sets state to the value in variable 2.
There are three requirements for testers:
1) you need to be good at FPSC scripting
2) you need a program that can extract .7z files
3) you need to leave you email address here.
And once again: This is only a SIDE PROJECT. I'll answer your questions, but I will not respond to feature requests in this thread at this point in time.