This would return a list of characters in the room that are Aliens
Threading a function onto an object
thread <target> Function(args)
A function in a script may be 'threaded' onto another object, that is, a new script is created on the target object, and it starts executing the function. When the function ends or halts, the script disappears. This is similiar to attaching a script to an object and then 'calling' that script, without the need to create a second script.
Functions in imported scripts can be threaded onto an object as well
Function arguments
Now a function definition can include the list of variables to fill in based on the comma-separated arguments passed to it:
function Func(var1, var2, var3)
calling Func like: %Func(foo, bar, baz 45)% will fill in the variables as such:
var1 = foo
var2 = bar
var3 = baz 45
arg is NOT set, any excess parameters passed would be ignored
A function with no ( ) in it's definition will still get %arg%
A function with ( ) but no variables in the list will NOT get %arg%, it will not get any variables set
No variable name, like: function Func(var1, , var3) will work, with the middle paramter ignored (that is, the results will be the same as above; var1 = foo, var3 = baz 45, var2 will not exist)
Constant Data
constant <varname> <value>
Just like a variable! However, it cannot be set. If you do set it, you are merely creating a new local/global that overrides it.
Accessible like a function, within the current script (including functions), and anything in the script that imports it
%players% - returns a list of all live connected sockets
clan() returns a record of clan data
Returns list of allies
Hexadecimal and octal numbers supported through most of the script engine
room.newexit(dir) returns the new-format exit data
value.paramfind(match) finds a matching parameter
object.gun returns an object's gun data as a record
character.bonusarmor returns bonus armor of a character
send, echo, echoaround, echoaround2 can take optional +sleeping argument to also send to sleeping characters
inc/increment and dec/decrement variable commands added
endcombat renamed stopcombat
Behavior Sets
A "Set" of scripts and predefined variables that an object/mob/room can inherit from, without having to manually set the scripts/variables on the object. When the set is modified, all of the objects that use that set will be updated properly.
oset command to alter object variables
text.splat(num) - given the text string, repeat it num times.