Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string address = "062fb727-34ae-bedb-52d4-98f2de2d320c@lsl.secondlife.com";
- string object;
- integer primCount;
- integer primNum;
- string data;
- integer y;
- integer clearEmail;
- key request;
- list dialogMsg;
- list diaButtons;
- clear()
- {
- clearEmail = 1;
- llResetTime();
- while(llGetTime() < 0.5)
- {
- llGetNextEmail("","");
- }
- clearEmail = 0;
- for(y = 2; y <= 51; y++)
- {
- if(llGetLinkName(y) != "none")
- llMessageLinked(y+1,0,"build","18<>0<><1.000000, 1.000000, 1.000000><>1.000000<>9<>3<>0<><0.000000, 1.000000, 0.000000><>0.000000<><0.000000, 0.000000, 0.000000><><0.000000, 1.000000, 0.000000><>7<><0.010000, 0.010000, 0.010000><>17<>0<>34f7488f-202c-6f2e-3873-c6baf6666138<><0.020000, 0.020000, 0.000000><><0.000000, 0.000000, 0.000000><>0.000000"+"BREAKnoneBREAK<0,0,0>");
- }
- y = 0;
- }
- transform(string name)
- {
- object=name;
- emailOut();
- llResetTime();
- llSetTimerEvent(0.01);
- }
- integer node;
- emailOut()
- {
- llSetText("Downloading...",<1,1,1>,1);
- llMessageLinked(LINK_ROOT,-78264370-node,address,object);
- node++;
- if(node > 4)
- node = 0;
- }
- list telosButtons = ["Gizmo Telos","Telos Orange","Gizmo Eclipse","Spark.Hud v1.0.2","Spark.Tool Alpha","Gizmo Vayu Hud v2.0","Zeaks theme"];
- integer running = 0;
- integer listener;
- string theme;
- integer pageNumber = 0;
- string generateMSG(integer start, integer end)
- {
- string msg;
- integer a;
- for(a = start;a<=end;a++)
- {
- if(a < llGetListLength(dialogMsg))
- msg += llList2String(dialogMsg,a);
- else
- msg += "";
- }
- return msg;
- }
- list generateButtons(integer start, integer end)
- {
- list t;
- integer a;
- for(a = start;a<=end;a++)
- {
- if(a <= llGetListLength(dialogMsg))
- t += (string)a;
- else
- t += " ";
- }
- return t;
- }
- dialog(integer pageNum)
- {
- if(llGetListLength(diaButtons) <= 12)
- llDialog(llGetOwner(),"Which theme do you want your gizmo to use?\n"+generateMSG(0,llGetListLength(diaButtons)-1),generateButtons(1,llGetListLength(diaButtons)),-45632);
- else
- {
- llDialog(llGetOwner(),"Which theme do you want your gizmo to use?\n"+generateMSG(pageNum*9+1,(pageNum+1)*9),generateButtons(pageNum*9 + 1,(pageNum+1)*9)+["Previous","~","Next"],-45632);
- }
- }
- default
- {
- on_rez(integer r){
- llResetScript();
- }
- state_entry()
- {
- llPreloadSound("//dialogmenu?");
- listener = llListen(-45632,"",llGetOwner(),"");
- request = llHTTPRequest("http://jongoldsz.googlepages.com/themes.txt",[HTTP_METHOD, "GET",HTTP_MIMETYPE, "application/x-www-form-urlencoded"]," ");
- }
- listen(integer channel,string name,key id,string message)
- {
- if(message == "Next")
- {
- pageNumber++;
- if(pageNumber > llCeil(llGetListLength(dialogMsg)/9.0)-1)
- pageNumber = 0;
- dialog(pageNumber);
- }
- else if(message == "Previous")
- {
- pageNumber--;
- if(pageNumber<0)
- pageNumber = llCeil(llGetListLength(dialogMsg)/9.0)-1;
- dialog(pageNumber);
- }
- else if((integer)message > 0)
- {
- pageNumber = 0;
- llPlaySound("//dialogmenu?",1.0);
- llListenRemove(listener);
- running = 1;
- clear();
- theme = llList2String(telosButtons,((integer)message) - 1);
- transform(theme);
- }
- }
- touch_start(integer num_detected)
- {
- if(llDetectedKey(0) == llGetOwner() && !running && llGetListLength(diaButtons)>0)
- {
- llPlaySound("//dialogmenu?",1.0);
- dialog(pageNumber);
- }
- }
- touch_end(integer te){
- llStopSound();
- }
- timer()
- {
- if(llGetTime() > 20)
- {
- llSetText("Download failed. Retrying...",<1,1,1>,1);
- clear();
- primCount = 0;
- data = "";
- transform(theme);
- }
- llGetNextEmail("","");
- }
- http_response(key request_id,integer status,list metadata,string body)
- {
- if(request_id == request)
- {
- telosButtons = llParseString2List(body,["<BREAK>"], []);
- list temp = llParseString2List(llList2String(telosButtons,1),["\\n"], []);
- for(y = 0;y<llGetListLength(temp);y++)
- {
- dialogMsg += llList2String(temp,y)+"\n";
- }
- telosButtons = llCSV2List(llList2String(telosButtons,0));
- for(y = 1;y<=llGetListLength(telosButtons);y++)
- diaButtons += (string)y;
- }
- }
- email(string time,string address,string subj,string message,integer num_left)
- {
- if(!clearEmail)
- {
- if(llSubStringIndex(subj,"transform,") == 0 && primCount != 0 && y < primCount)
- {
- primNum = (integer)llGetSubString(subj,10,-1);
- if(primNum <= primCount)
- {
- y++;
- if(y == primCount)
- llSetTimerEvent(0);
- llResetTime();
- data = llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1);
- llMessageLinked(primNum+1,0,"build",data);
- llSetText((string)llFloor(y/(float)primCount*100)+"% has been downloaded.",<1,1,1>,1);
- if(y == primCount)
- {
- llSetText("Installing new theme.",<1,1,1>,1);
- llSleep(1);
- llMessageLinked(LINK_SET,0,"assemble",NULL_KEY);
- llSleep(0.5);
- llMessageLinked(LINK_SET,0,"assemble",NULL_KEY);
- llSleep(0.5);
- llMessageLinked(LINK_SET,0,"assemble",NULL_KEY);
- llSleep(0.5);
- llMessageLinked(LINK_SET,0,"assemble",NULL_KEY);
- llSleep(0.5);
- llMessageLinked(LINK_SET,0,"assemble",NULL_KEY);
- llSetText(" ",<1,1,1>,1);
- llResetScript();
- }
- }
- }
- else if(llSubStringIndex(subj,"primCount,") == 0)
- {
- primCount = (integer)llGetSubString(subj,10,-1);
- llMessageLinked(2,0,"primcount",(string)primCount);
- }
- }
- else if(clearEmail)
- {
- data = subj;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement