SCRIPT COMMANDS: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Built-in script commands are commands that are not called the way normal | Built-in script commands are commands that are not called the way normal player commds are called. The commands below are valid in all types of scripts: | ||
player commds are called. The commands below are valid in all types of | |||
scripts: | |||
A. Comment | A. Comment | ||
---------- | ---------- | ||
* <text> | * <text> | ||
An '*' at the begining of a line is a comment. The rest of the line is ignored. | |||
| Line 13: | Line 11: | ||
--------- | --------- | ||
global <variable> | global <variable> | ||
Global changes a local variable into a global variable. | |||
| Line 19: | Line 18: | ||
------- | ------- | ||
eval <variable> <value> | eval <variable> <value> | ||
Eval evaluates the value and sets variable to result. See section 7 for details on how expression evaluation works. | |||
Example: eval foobar 15 - 5 | Example: eval foobar 15 - 5 | ||
sets the varable foobar to the value 10 | sets the varable foobar to the value 10 | ||
| Line 34: | Line 34: | ||
... | ... | ||
end | end | ||
An 'if' must occur before the other three. If the expression evaluates to true (see section 7 for expression evaluation), the statments between the if statement and the next elseif, else, or end are executed. If it stopped at a elseif or else, it scans for the next end, and continues execution at that point. If the expression evaluated to false, it searches for the next elseif, else, or end. If it finds an elseif, it checks that expression. If it is true, it executes the statements between the elseif and the next elseif, else, or end, and then finds the end of the block. If it is false, it continues searching in the same pattern, until a true elseif is found, an else is found, or an end is found. | |||
| Line 49: | Line 41: | ||
------- | ------- | ||
halt | halt | ||
Halt ends the script execution. | |||
| Line 55: | Line 48: | ||
--------- | --------- | ||
return <value> | return <value> | ||
Return sets the return value of the script. Normally, a script will return 1, unless another return value is specified with the return command. Unlike most computer langauges, the return command does not end the script's execution. The value is returned after all the commands have been executed, or a wait or halt command is called. | |||
Unlike most computer langauges, the return command does not end the | |||
| Line 65: | Line 55: | ||
------ | ------ | ||
set <variable> <value> | set <variable> <value> | ||
Set sets the variable to value, without evaluating it. | |||
Example: set foobar 15 - 5 | Example: set foobar 15 - 5 | ||
sets the varable foobar to the string "15 - 5" | sets the varable foobar to the string "15 - 5" | ||
| Line 73: | Line 65: | ||
-------- | -------- | ||
unset <variable> | unset <variable> | ||
Unset elimiates the specified variable if it exists. | |||
| Line 80: | Line 73: | ||
wait <number of seconds> | wait <number of seconds> | ||
A 'wait' command causes the script to pause for a certain length of time. A numerical argument causes the script to pause the given number of seconds. | |||
A numerical argument causes the script to pause the given number of | |||
wait <number of ticks>t | wait <number of ticks>t | ||
This causes the script to pause for 75 seconds per number of ticks. (This does not cause it to trigger exactly when a tick happens. This is a throwback to before ticks were eactly counted with the event system). | |||
(This does not cause it to trigger exactly when a tick happens. This is a | |||
H. log | H. log | ||
| Line 95: | Line 84: | ||
log <somestring> | log <somestring> | ||
Sends the string to syslog. The log saves to file, is logged under | |||
"syslog normal" at level AVATAR. | |||
You can log values. I.e. | |||
log The characters name is %actor.name%. | log The characters name is %actor.name%. | ||
That will syslog "The characters name is John." | |||
| Line 119: | Line 108: | ||
done | done | ||
A switch/case block is a fairly well known method of programming. | |||
TODO: more detailed explaination to be added. | |||
J. while | J. while | ||
| Line 133: | Line 123: | ||
done | done | ||
A while loop cannot exist in another while loop. It will just cause | |||
problems, and generally break the script. | |||
SEE ALSO: [[MOBCMDS]], [[OBJCMDS]], [[ROOMCMDS]], [[VARIABLES]] | SEE ALSO: [[MOBCMDS]], [[OBJCMDS]], [[ROOMCMDS]], [[VARIABLES]] | ||
[[CATEGORY:Scripts]] | [[CATEGORY:Scripts]] | ||
Revision as of 01:43, 7 December 2009
Built-in script commands are commands that are not called the way normal player commds are called. The commands below are valid in all types of scripts:
A. Comment
* <text>
An '*' at the begining of a line is a comment. The rest of the line is ignored.
B. Global
global <variable>
Global changes a local variable into a global variable.
C. Eval
eval <variable> <value>
Eval evaluates the value and sets variable to result. See section 7 for details on how expression evaluation works.
Example: eval foobar 15 - 5 sets the varable foobar to the value 10
D. If/elseif/else/end
if (<expression>) ... elseif (<expression>) ... else ... end
An 'if' must occur before the other three. If the expression evaluates to true (see section 7 for expression evaluation), the statments between the if statement and the next elseif, else, or end are executed. If it stopped at a elseif or else, it scans for the next end, and continues execution at that point. If the expression evaluated to false, it searches for the next elseif, else, or end. If it finds an elseif, it checks that expression. If it is true, it executes the statements between the elseif and the next elseif, else, or end, and then finds the end of the block. If it is false, it continues searching in the same pattern, until a true elseif is found, an else is found, or an end is found.
E. Halt
halt
Halt ends the script execution.
F. Return
return <value>
Return sets the return value of the script. Normally, a script will return 1, unless another return value is specified with the return command. Unlike most computer langauges, the return command does not end the script's execution. The value is returned after all the commands have been executed, or a wait or halt command is called.
G. Set
set <variable> <value>
Set sets the variable to value, without evaluating it.
Example: set foobar 15 - 5 sets the varable foobar to the string "15 - 5"
H. Unset
unset <variable>
Unset elimiates the specified variable if it exists.
I. Wait
wait <number of seconds>
A 'wait' command causes the script to pause for a certain length of time. A numerical argument causes the script to pause the given number of seconds.
wait <number of ticks>t
This causes the script to pause for 75 seconds per number of ticks. (This does not cause it to trigger exactly when a tick happens. This is a throwback to before ticks were eactly counted with the event system).
H. log
log <somestring>
Sends the string to syslog. The log saves to file, is logged under "syslog normal" at level AVATAR.
You can log values. I.e.
log The characters name is %actor.name%.
That will syslog "The characters name is John."
I. switch
switch <statement>
case <instance>
...
break
case <instance>
case <instance>
...
break
default
...
done
A switch/case block is a fairly well known method of programming.
TODO: more detailed explaination to be added.
J. while
while (%x% < 5)
eval x (%x% + 1)
if (%x% == 2)
if (yet something else again)
break
end
end
done
A while loop cannot exist in another while loop. It will just cause problems, and generally break the script.