Vp enter: Difference between revisions
Jump to navigation
Jump to search
Added reason codes and callback |
Removed reason code, inform about world setting event |
||
Line 4: | Line 4: | ||
{{sdk parameter row|string|world|Name of an online world to enter}} | {{sdk parameter row|string|world|Name of an online world to enter}} | ||
|returncodes= | |returncodes= | ||
{{sdk return code row| | {{sdk return code row|string_too_long |World name was longer than 255 bytes}} | ||
{{sdk return code row|connection_error |Disconnected from universe while sending, or connecting to the world failed}} | |||
{{sdk return code row| | {{sdk return code row|world_not_found |No such world is connected to the [[universe]]}} | ||
{{sdk return code row| | {{sdk return code row|world_login_error |Could not login to world (e.g. incorrect world address configured) or banned (not yet implemented)}} | ||
{{sdk return code row| | {{sdk return code row|timeout |Connection attempt to the world server timed out (e.g. firewalled server)}} | ||
{{sdk return code row| | {{sdk return code row|not_in_universe |Bot is not currently connected to universe}} | ||
{{sdk return code row| | |||
|behavior= | |behavior= | ||
*If a {{sdk callback| | *If a {{sdk callback|enter}} callback is set this function will return immediately and return the result using the callback, otherwise it will call {{sdk method|wait}} in a loop until done. | ||
* If the bot was already in a world, it will automatically leave that world. | *If the bot was already in a world, it will automatically leave that world. | ||
*This will trigger {{sdk event|world_setting}} for each world setting, provided that the instance has subscribed to the event. See {{sdk method|event_set}}. | |||
|caveats= | |caveats= | ||
*The bot will not have a visible "presence" in the world (e.g. will not appear to other users or bots') until {{sdk method|state_change}} is called at least once. | *The bot will not have a visible "presence" in the world (e.g. will not appear to other users or bots') until {{sdk method|state_change}} is called at least once. | ||
*World names are case-sensitive. | *World names are case-sensitive. | ||
|seealso= | |seealso= | ||
* {{sdk callback| | * {{sdk callback|enter}} | ||
* {{sdk method|state_change}} | * {{sdk method|state_change}} | ||
* {{sdk method|leave}} | * {{sdk method|leave}} | ||
}} | }} |
Revision as of 17:24, 17 December 2016
Method call snippet
vp_enter(instance, world);
Enters a bot into a world.
Parameters
These are the parameters that this method requires:
Parameter | Usage |
---|---|
VPInstance instance |
Pointer to the instance this method call is intended for |
string world |
Name of an online world to enter |
Returns
This method returns a return code integer, which indicates whether the call was successful or errored for any reason:
Return code | Cause |
---|---|
VP_RC_SUCCESS |
Successful call (for methods that have a registered callback, it only means the request has been sent) |
VP_RC_STRING_TOO_LONG |
World name was longer than 255 bytes |
VP_RC_CONNECTION_ERROR |
Disconnected from universe while sending, or connecting to the world failed |
VP_RC_WORLD_NOT_FOUND |
No such world is connected to the universe |
VP_RC_WORLD_LOGIN_ERROR |
Could not login to world (e.g. incorrect world address configured) or banned (not yet implemented) |
VP_RC_TIMEOUT |
Connection attempt to the world server timed out (e.g. firewalled server) |
VP_RC_NOT_IN_UNIVERSE |
Bot is not currently connected to universe |
Behavior
- If a
VP_CALLBACK_ENTER
callback is set this function will return immediately and return the result using the callback, otherwise it will callvp_wait()
in a loop until done. - If the bot was already in a world, it will automatically leave that world.
- This will trigger
VP_EVENT_WORLD_SETTING
for each world setting, provided that the instance has subscribed to the event. Seevp_event_set()
.
Caveats
- The bot will not have a visible "presence" in the world (e.g. will not appear to other users or bots') until
vp_state_change()
is called at least once. - World names are case-sensitive.
Examples
- This method has no usage examples; please add at least one to this page