User:Trinity Coulter/Online indicator: Difference between revisions
Jump to navigation
Jump to search
Created page with 'Someone was asking for an online indicator that would check the description field of a prim for an avatar key and tell you their online status. I made this so that it would get ...' |
No edit summary |
||
| Line 1: | Line 1: | ||
Someone was asking for an online indicator that would check the description field of a prim for an avatar key and tell you their online status. I made this so that it would get the owner's key by default when you set out the prim, but its free to change how you like :) | Someone was asking for an online indicator that would check the description field of a prim for an avatar key and tell you their online status. I made this so that it would get the owner's key by default when you set out the prim, but its free to change how you like :) | ||
<lsl> | |||
key query_id; | key query_id; | ||
key current_avie_key; | key current_avie_key; | ||
| Line 68: | Line 68: | ||
} | } | ||
} | } | ||
</lsl> | |||
Latest revision as of 23:32, 12 October 2009
Someone was asking for an online indicator that would check the description field of a prim for an avatar key and tell you their online status. I made this so that it would get the owner's key by default when you set out the prim, but its free to change how you like :)
<lsl> key query_id; key current_avie_key; integer action = DATA_NAME; string avie_name; string online_status = "offline";
default {
state_entry()
{
llSetObjectDesc((string)llGetOwner());
llSetTimerEvent(5.0);
}
on_rez(integer start_param)
{
llResetScript();
}
timer()
{
if (current_avie_key == (key)llGetObjectDesc())
{
action = DATA_ONLINE;
query_id = llRequestAgentData(current_avie_key, action);
}
else
{
action = DATA_NAME;
current_avie_key = (key)llGetObjectDesc();
query_id = llRequestAgentData(current_avie_key, action);
online_status = "offline";
}
}
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
dataserver(key queryid, string data)
{
if(action == DATA_NAME)
{
avie_name = data;
}
if(action == DATA_ONLINE)
{
if(data == "1")
{
online_status = "online";
}
else
{
online_status = "offline";
}
}
if(online_status == "online")
{ llSetColor(<0,1,0>,ALL_SIDES); }
else
{ llSetColor(<1,0,0>,ALL_SIDES); }
llSetText(avie_name + " is " + online_status,<1,1,1>,1.0);
}
} </lsl>