Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- key r;
- integer enabled = 1;
- integer l;
- integer chan;
- string group;
- string landGroup;
- setGroup() {
- if(enabled < 0 ) return;
- string t = (string)llList2Key(llGetParcelDetails(llGetPos(),[PARCEL_DETAILS_GROUP]),0);
- r = llHTTPRequest("http://world.secondlife.com/group/" + t,[],"");
- }
- default
- {
- touch_start(integer i) { llResetTime(); }
- touch_end(integer i) {
- if(llGetTime() > 0.3) enabled *= -1;
- if(enabled > 0) llSetColor(<0,6,0>, ALL_SIDES);
- else llSetColor(<6,0,0>, ALL_SIDES);
- }
- //group2key -- parse and set
- http_response(key request_id, integer status, list metadata, string body) {
- if(r == request_id) {
- //set group
- landGroup = llList2String(llParseString2List(body, ["<title>","</title>"], []), 1);
- llOwnerSay("@setgroup:" + landGroup + "=force");
- //states active group when it changes between teleports
- chan = (integer)(llFrand(100000) + 100);
- l = llListen(chan, "", llGetOwner(), "");
- llSleep(0.6);
- llOwnerSay("@getgroup=" + (string)chan);
- }
- }
- //post group change checks
- listen(integer c, string n, key a, string m) {
- //check if was able to change to land group;
- if(landGroup != m) { //set to none if so.
- llOwnerSay("@setgroup:none=force"); //on land group fail, set to nothing
- }
- else if(m != group) {
- group = m;
- llOwnerSay("Active group is " + group);
- }
- llListenRemove(l);
- }
- changed(integer p) {
- if((p & CHANGED_TELEPORT) || (p & CHANGED_REGION)) setGroup();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement