Difference between revisions of "User:Trinity Coulter/Online indicator"
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 ...') |
|||
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 22: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>