Navigate Edit Fullscreen Area: Switch List Delete StartCam ShowCam Scene: Export Import Clean Tranform: Reset Copy Paste PastePos PasteRot PasteScale P: R: GetT SetT

Color: GetC SetC Vis Out BMin: BMax: SetB ToD ToU

Name: S Action: Touch GetA SetA ?

Animation: ON None XRot YRot ZRot Add: Info: copy the code above somewhere safe (like a text file) or share it via email (or pastebin) with someone. Info: paste the code you saved previously or obtained from someone and press this button -> This is the button to press!

Actions help: actions use a simple command style of the form command parameter1 parameter2 parameter3... etc. Each parameter is usually text either free standing or inside quotes (single or double). Parameters can also be variables that begin with @ (f.e. @this) or text inside { and } (text inside { and } is passed as-is in the command whereas text inside quotes is escaped for

, \r and \t escape sequences for newline, return and tab).



The variable @this always refers to the object that activated it. Variables can be set with the set varname value command, like set haskey 1 which sets the variable @haskey to 1 (notice that @ is not used in set). Instead of variables you can call inline functions inside brackets [ and ]. Those will return some value which will be used instead of the variable. This way simple arithmetic can be done with the +, -, *, / and % (modulo) functions (example: set a [+ 1 2] sets a to 3).



The known commands are: = v1 v2 returns 1 if v1 and v2 are the same, <> v1 v2 or != v1 v2 returns 1 if v1 and v2 are different, < v1 v2, > v1 v2, <= v1 v2 and >= v1 v2 return 1 if v1 is less, greater, less or equal and greater or equal respectively. say msg will display the given message, alert msg will show a message box with the given message, random returns a random number between 0 and 1. hide or hide object-name will hide this object or the object with the given name, show or show object-name will show this or the given object, move x y z or move object-name x y z will move this object or the given object to the given coordinates, rotate x y z or rotate object-name x y z will set this object's or the given object's rotation (in degrees), slide object-name target-name, slide object-name target-name speed and slide object-name target-name speed {command} will cause the given object to slide to the other object's position at the given speed (1 if not given) and if the last form is used, it will perform the command, activate or activate object-name will perform the action of this object or the object with the given name (watch for actions immediately activating themselves! This will hang the page!), teleport x y z will teleport the camera to the given coordinates, view x y z will set the camera's rotation to the given angles (in degrees) and visit area-name will switch to the given area name.



You can put multiple commands separated with the | character (for example say Failed|view 0 180 0 will exeture the say command and after that the view command). You can use the command if to check for a condition - like if a variable is set. If can be used like if value {command} or if value {command1} {command2}. If value is not an empty value, then command or command1 will be executed as an action. If it is an empty value and the second form has been used, then command2 will be executed.



If an object's name begins with the ! character, the action will be automatically be performed when navigation mode is activated (this is true for all objects in all areas). If an object's name begins with the % character, the action will be automatically performed when the area the object is in is entered.



Examples:

say "welcome, look around" will display the message welcome, look around

set hasbox 1|say "You've got the box!" will set the variable @hasbox to 1 and display the message You've got the box!

if @hasbox {show boxontable|say "You put the box on the table"} {say "You need the box"} checks if the variable @hasbox has an empty value or not and if it is not empty, then it shows the boxontable object and displays the You put the box on the table message. Otherwise if @hasbox is empty (not set or emptied via another action), then it displays the You need the box! message.

if @haskey {visit otherplace} will visit the otherplace area if the @haskey variable is not empty