vp_login
Jump to navigation
Jump to search
Method call snippet
vp_login(instance, username, password, botname);
Login to the universe server; using the credentials of an existing user account.
Parameters
These are the parameters that this method requires:
Parameter | Usage |
---|---|
VPInstance instance |
Pointer to the instance this method call is intended for |
string username |
Use credentials of the account with this name |
string password |
Password associated with the account |
string botname |
Name that the bot will appear with in a world. There are no restrictions on what characters can be used. |
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 |
If any of the given string parameters exceed 255 bytes in length (when using UTF-8 encoded characters they can each be multiple bytes long) |
VP_RC_INVALID_LOGIN |
The login credentials are incorrect |
VP_RC_TIMEOUT |
Timeout |
VP_RC_NOT_IN_UNIVERSE |
Universe request made while not connected to a universe server |
The following attributes will be returned in VP_CALLBACK_LOGIN
if the operation was successful:
Attribute | Usage | Also returned for |
---|---|---|
VP_MY_USER_ID | User id of account used to log in |
Behavior
- If a
VP_CALLBACK_LOGIN
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. - When successfully logged in, bots will have square brackets around their name. For example, providing "Samantha" as the
botname
parameter will identify the bot as "[Samantha]". - The user ID of the account used to log in will be exposed to other users.
- Bot names that contain UTF-8 encoded characters (e.g. "\xE2\x98\xAF" is the "Yin and Yang" symbol ☯) will display correctly in a browser.
Caveats
- To log out from a universe,
vp_destroy()
must be called which will also disconnect the bot from the world. - If calling this while already logged in and entered into a world, then it will not update the identity of the bot inside the world (nor will it disconnect). Need to call
vp_enter()
for the identity in world to update.
Examples
int rc;
rc = vp_login(sdk, "myname", "mypassword", "botname");
if (rc)
printf("Couldn't login (reason %d)\n", rc);