To log into a universe, the following data must be set. First, set the UniverseData, then the CitizenData, because setting the CitizenData requires the values of the universe to be known. The bot must be void for these statements to be accepted.
UniverseData $name $host %port | $name is the name of the universe, like "Active Worlds" or "Ameriworld", and is compulsory. $host and %port may be omitted if they have default values. |
CitizenData %citnum $name $ppw | %citnum is the citizen number, $name is the nickname (may be left blank), $ppw is the privilege password used to log in the bot. The privilege password can be input on the fly using the User input form. The CitizenData must be set after setting the UniverseData, unless the bot logs into the same universe it was previously in. |
Botname $name | $name is the name of the bot. |
When the data for the bot to enter a universe are set correctly, the following statements apply (the bot does not need to be void):
Owners $list | $list is a comma separated string list of citizen numbers, or if only one number must be set, a string containing that number. The string may also be empty to remove all owners from the list. The Owners are the citizens who may act as First Boss and command the bot. The person who's citizen number is used for logging in the bot is automatically First Owner and does not need to be included in this list. |
OwnersAdd $list | similar to the previous statement, but adds one or more numbers to the Owners list. |
EnterUniverse | Teleports the bot into a universe, but it does not enter a world. Requirements: universe, person (citizen number, privilege password) are correct. If not logged into the universe, this statement logs the bot into a universe. If in a universe it stays there (has no effect). If in a world, the bot exits the world but stays in the universe. (x1 2.9999970) |
EnterUniverse @p | xelagot 3.606 The position @p internally sets a destination world and position parameters, which are not applied inmediately. Teleports the bot into a universe, but it does not enter a world. Requirements: universe, person (citizen number, privilege password) are correct. If not logged into the universe, this statement logs the bot into a universe. If in a universe it stays there (has no effect). If in a world, the bot exits the world but stays in the universe. |
EnterInvisible | Teleports the bot into a world, but does not allow the bot to materialise: the bot does not hear nor perceive avatars and can not whisper nor chat, but can query and build without being seen. Requirements: universe, person (citizen number, privilege password) and world are correct, world exists and is online. If not logged into the universe, this statement logs the bot into a universe and world (invisible). If in a universe, but outside a world, it logs into the world (invisible). If in a world, the bot exits and re-enters and stays invisible. |
EnterInvisible @p | xelagot 3.606 The position @p internally sets destination world and position parameters, the world is effective inmediately. Teleports the bot into a world, but does not allow the bot to materialise: the bot does not hear nor perceive avatars and can not whisper nor chat, but can query and build without being seen. Requirements: universe, person (citizen number, privilege password) and world are correct, world exists and is online. If not logged into the universe, this statement logs the bot into a universe and world (invisible). If in a universe, but outside a world, it logs into the world (invisible). If in a world, the bot exits and re-enters and stays invisible. |
Enter | Teleports the bot into a world and to specified coordinates in a visible way. Requirements: universe, person (citizen number, privilege password) and world position settings are correct, world exists and is online. If not logged into the universe, this statement logs the bot into a universe and world at the specified position. If in a universe, but outside a world, it logs into the world. If in a world, the bot exits and re-enters. |
Enter @p | xelagot 3.606 The position @p internally sets a destination world and position parameters, which are applied inmediately. Teleports the bot into a world and to specified coordinates in a visible way. Requirements: universe, person (citizen number, privilege password) and world position settings are correct, world exists and is online. If not logged into the universe, this statement logs the bot into a universe and world at the specified position. If in a universe, but outside a world, it logs into the world. If in a world, the bot exits and re-enters. |
Warp @a | If bot is not logged into a universe or a world, this statement is equivalent to Enter + destination. See this section for when the bot is already inside a world. |
Exit | The bot leaves the world and waits outside of it. It remains in the universe. |
Void | The bot leaves the universe. It's slot is freed. |
Vanish | If the bot is in a world, it exits and re-enters invisibly. Oherwise, this statement has no effect. |
Materialise Materialize |
If the bot is in a world and is invisible, it becomes visible. Oherwise, this statement has no effect. Note that any statement which sets the position of the bot in a world (Warp, WarpLocal, To, Join etc., or that changes the avatar or gesture, will maken an invisible bot visible without issuing this command. If a bot must enter a world and become visible, use either Enter or Warp. |
3.3 GlobalMode ON GlobalMode OFF |
3.3 Caretaker bot: prepares the bot to request entry into a world in GlobalMode or not. It must be followed by an enter command, for example Enter or EnterInvisible, even if the bot is already in the world, because the world server does not accept a GlobalMode state change: the bot must exit and re-enter for the change to be applied.
There are three sets of if statements related to GlobalMode, see below. |
IfLoginWorld statement1 Else statement2 and IfNotLoginWorld statement1 Else statement2 |
tests if the bot is (not) logged into a world. |
IfLoginUniverse statement1 Else statement2 and IfNotLoginUniverse statement1 Else statement2 |
tests if the bot is (not) logged into a universe. |
IfWaitingForServer statement1 Else statement2 and IfNotWaitingForServer statement1 Else statement2 |
X1 2.9999977 Tests if the bot is (not) waiting for server (if it is having disconnection problems). See also the WorldDisconnect and WorldReconnect events. |
IfWaitingForUniverse statement1 Else statement2 and IfNotWaitingForUniverse statement1 Else statement2 IfWaitingForWorld statement1 Else statement2 and IfNotWaitingForWorld statement1 Else statement2 |
X1 2.9999977 (debug statements, do not use them in normal scripts) Tests if the bot is (not) waiting for server (if it is having disconnection problems). Both these cases are included in IfWaitingForServer, which sould be used instead of these statements. |
3.3 IfGlobalModeOn statement1 Else statement2 and IfGlobalModeOff statement1 Else statement2 |
Test the state of GlobalMode preparation, i.e. whether the bot will request GlobalMode the next time it enters a world. This preparation state can be changed with GlobalMode ON|OFF |
3.3 IfMayGlobalMode statement1 Else statement2 and IfMayNotGlobalMode statement1 Else statement2 |
(valid inside a world) test, inside the world, whether the world server is 3.3 compliant and supports Global Mode, and whether the bot is Caretaker and therefore is allowed to use Global Mode. |
3.3 IfHasGlobalMode statement1 Else statement2 and IfHasNotGlobalMode statement1 Else statement2 |
(valid inside a world) test, inside the world, whether the bot is actually using Global Mode. |