SCRIPT COMMANDS: Difference between revisions

From AddictHelp
Jump to navigation Jump to search
Kahlan (talk | contribs)
New page: 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> A...
 
Kahlan (talk | contribs)
No edit summary
Line 5: Line 5:
A. Comment
A. Comment
----------
----------
* <text>
* <text>
An '*' at the begining of a line is a comment.  The rest of the line is
ignored.


An '*' at the begining of a line is a comment.  The rest of the line is
ignored.


B. Global
B. Global
---------
---------
global <variable>
global <variable>
Global changes a local variable into a global variable.


Global changes a local variable into a global variable.


C. Eval
C. Eval
-------
-------
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
  sets the varable foobar to the value 10


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
D. If/elseif/else/end
---------------------
---------------------
if (<expression>)
if (<expression>)
  ...
    ...
elseif (<expression>)
elseif (<expression>)
  ...
    ...
else
else
  ...
    ...
end
end
 
An 'if' must occur before the other three.  If the expression evaluates to
An 'if' must occur before the other three.  If the expression evaluates to
true (see section 7 for expression evaluation), the statments between the
true (see section 7 for expression evaluation), the statments between the
if statement and the next elseif, else, or end are executed.  If it  
if statement and the next elseif, else, or end are executed.  If it  
Line 45: Line 44:
the block.  If it is false, it continues searching in the same pattern,  
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.
until a true elseif is found, an else is found, or an end is found.


E. Halt
E. Halt
-------
-------
halt
halt
Halt ends the script execution.


Halt ends the script execution.


F. Return
F. Return
---------
---------
return <value>
return <value>
 
Return sets the return value of the script.  Normally, a script will return
Return sets the return value of the script.  Normally, a script will return
1, unless another return value is specified with the return command.   
1, unless another return value is specified with the return command.   
Unlike most computer langauges, the return command does not end the  
Unlike most computer langauges, the return command does not end the  
script's execution.  The value is returned after all the commands have  
script's execution.  The value is returned after all the commands have  
been executed, or a wait or halt command is called.
been executed, or a wait or halt command is called.


G. Set
G. Set
------
------
set <variable> <value>
set <variable> <value>
 
Set sets the variable to value, without evaluating it.
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"




H. Unset
H. Unset
--------
--------
unset <variable>
unset <variable>
Unset elimiates the specified variable if it exists.


Unset elimiates the specified variable if it exists.


I. Wait
I. Wait
-------
-------
wait <number of seconds>
wait <number of seconds>


A 'wait' command causes the script to pause for a certain length of time.
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  
A numerical argument causes the script to pause the given number of  
seconds.
seconds.


wait <number of ticks>t
wait <number of ticks>t
Line 93: Line 92:
H. log
H. log
--------
--------
log <somestring>


Sends the string to syslog.  The log saves to file, is logged under  
log <somestring>
"syslog normal" at level AVATAR.
 
Sends the string to syslog.  The log saves to file, is logged under  
"syslog normal" at level AVATAR.


You can log values.  I.e.
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."
That will syslog "The characters name is John."




I. switch
I. switch
---------
---------
switch <statement>
switch <statement>
  case <instance>
  case <instance>
    ...
    ...
    break
    break
  case <instance>
  case <instance>
  case <instance>
  case <instance>
    ...
    ...
    break
    break
  default
  default
    ...
    ...
done
done


A switch/case block is a fairly well known method of programming.
A switch/case block is a fairly well known method of programming.
TODO: more detailed explaination to be added.
TODO: more detailed explaination to be added.


J. while
J. while
--------
--------
while (%x% < 5)
while (%x% < 5)
  eval x (%x% + 1)
  eval x (%x% + 1)
  if (%x% == 2)
  if (%x% == 2)
    if (yet something else again)
    if (yet something else again)
      break
      break
    end
    end
  end
  end
done
done


A while loop cannot exist in another while loop.  It will just cause
A while loop cannot exist in another while loop.  It will just cause
problems, and generally break the script.
problems, and generally break the script.


SEE ALSO:  MOBCMDS, OBJCMDS, ROOMCMDS, VARIABLES
SEE ALSO:  MOBCMDS, OBJCMDS, ROOMCMDS, VARIABLES

Revision as of 10:47, 20 November 2008

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.

SEE ALSO: MOBCMDS, OBJCMDS, ROOMCMDS, VARIABLES