Difference between revisions of "TotalControl for LSL/Events/BOT LOCATION REPLY"
From SmartBots Developers Docs
(Updated example) |
|||
Line 12: | Line 12: | ||
<syntaxhighlight lang="lsl"> | <syntaxhighlight lang="lsl"> | ||
− | + | integer BOT_SETUP_SETBOT = 280101; | |
− | + | integer BOT_LOCATION = 290232; | |
− | + | integer BOT_LOCATION_REPLY = 290233; | |
− | + | ||
− | + | ||
− | + | integer READY = FALSE; | |
− | + | ||
− | + | string name = "SmartBots Resident"; | |
− | + | string accesscode = "f7dheb7fba9"; | |
− | + | ||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llMessageLinked(LINK_SET,BOT_SETUP_SETBOT,name,accesscode); | ||
+ | } | ||
+ | |||
+ | touch_start(integer total_number) | ||
+ | { | ||
+ | if (READY) { | ||
+ | llMessageLinked(LINK_SET,BOT_LOCATION,"",""); | ||
+ | llOwnerSay("Requesting the bot's location."); | ||
+ | } else { | ||
+ | llOwnerSay("The bot is not ready. If you received a Setup Failed message then please check your access code is correct, otherwise please try again in a moment."); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | link_message(integer sender, integer cmd, string data, key idk) { | ||
+ | string id = (string)idk; | ||
+ | if(cmd == BOT_SETUP_SUCCESS) { | ||
+ | READY = TRUE; | ||
+ | llOwnerSay("Setup Success: data=" + data + "\nkey= " + id); | ||
+ | } else if(cmd == BOT_SETUP_FAILED ) { | ||
+ | READY = FALSE; | ||
+ | llOwnerSay("Setup Failed: data=" + data + "\nkey= " + id); | ||
+ | } else if(num==BOT_LOCATION_REPLY) { | ||
+ | list location = llParseString2List(str, ["\n"], []); | ||
+ | llOwnerSay("Bot ("+name+") is at: secondlife://" + llList2String(location, 0) + "/" + llList2String(location, 1) + "/" + llList2String(location, 2) + "/" + llList2String(location, 3)); | ||
+ | } | ||
+ | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{NavMenu}} | {{NavMenu}} |
Latest revision as of 01:40, 13 March 2019
Raised when bot returns its location
Reference
This event comes with the following event object:
Variable | Required | Description | |
---|---|---|---|
event object properties: | |||
str | List of roles in the format "region\nx\ny\nz" | ||
id | --- |
Example
integer BOT_SETUP_SETBOT = 280101;
integer BOT_LOCATION = 290232;
integer BOT_LOCATION_REPLY = 290233;
integer READY = FALSE;
string name = "SmartBots Resident";
string accesscode = "f7dheb7fba9";
default
{
state_entry()
{
llMessageLinked(LINK_SET,BOT_SETUP_SETBOT,name,accesscode);
}
touch_start(integer total_number)
{
if (READY) {
llMessageLinked(LINK_SET,BOT_LOCATION,"","");
llOwnerSay("Requesting the bot's location.");
} else {
llOwnerSay("The bot is not ready. If you received a Setup Failed message then please check your access code is correct, otherwise please try again in a moment.");
}
}
link_message(integer sender, integer cmd, string data, key idk) {
string id = (string)idk;
if(cmd == BOT_SETUP_SUCCESS) {
READY = TRUE;
llOwnerSay("Setup Success: data=" + data + "\nkey= " + id);
} else if(cmd == BOT_SETUP_FAILED ) {
READY = FALSE;
llOwnerSay("Setup Failed: data=" + data + "\nkey= " + id);
} else if(num==BOT_LOCATION_REPLY) {
list location = llParseString2List(str, ["\n"], []);
llOwnerSay("Bot ("+name+") is at: secondlife://" + llList2String(location, 0) + "/" + llList2String(location, 1) + "/" + llList2String(location, 2) + "/" + llList2String(location, 3));
}
}
}