Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- list sides;
- list deftextures;
- string profile_key_prefix = "<meta name=\"imageid\" content=\"";
- string profile_img_prefix = "<img alt=\"profile image\" src=\"http://secondlife.com/app/image/";
- integer profile_key_prefix_length; // calculated from profile_key_prefix in state_entry()
- integer profile_img_prefix_length; // calculated from profile_key_prefix in state_entry()
- GetProfilePic(key id){
- string URL_RESIDENT = "http://world.secondlife.com/resident/";
- c=llHTTPRequest( URL_RESIDENT + (string)id,[HTTP_METHOD,"GET"],"");
- }
- GetDefaultTextures(){
- integer i;
- integer faces = llGetNumberOfSides();
- for (i = 0; i < faces; i++){
- sides+=i;
- deftextures+=llGetTexture(i);
- }
- }
- SetDefaultTextures(){
- integer i;
- integer faces;
- faces = llGetNumberOfSides();
- for (i = 0; i < faces; i++){
- llSetTexture(llList2String(deftextures,i),i);
- }
- }
- key c;
- key ocheck;
- default{
- on_rez(integer r){
- llResetScript();
- }
- state_entry(){
- profile_key_prefix_length = llStringLength(profile_key_prefix);
- profile_img_prefix_length = llStringLength(profile_img_prefix);
- llSetText("",<0.8,0,1>,1);
- GetDefaultTextures();
- GetProfilePic(llGetOwner());
- }
- http_response(key req,integer stat, list met, string body){
- integer s1 = llSubStringIndex(body, profile_key_prefix);
- integer s1l = profile_key_prefix_length;
- if(s1 == -1){ // second try
- s1 = llSubStringIndex(body, profile_img_prefix);
- s1l = profile_img_prefix_length;
- }
- if(s1 == -1){ // still no match?
- SetDefaultTextures();
- }
- else{
- s1 += s1l;
- key UUID=llGetSubString(body, s1, s1 + 35);
- if (UUID == NULL_KEY) {
- SetDefaultTextures();
- }
- else {
- c = NULL_KEY;
- llSetTexture(UUID,ALL_SIDES);
- ocheck = llRequestAgentData(llGetOwner(),DATA_ONLINE);
- llSetTimerEvent(25);
- }
- }
- }timer(){
- ocheck = llRequestAgentData(llGetOwner(),DATA_ONLINE);
- }
- dataserver(key qid,string data){
- llSetTimerEvent(0.0);
- if(qid == ocheck){
- integer run = (integer)data;
- llSetLinkColor(LINK_ALL_OTHERS, <128 * llAbs(run - 1), 128 * run, 0>, ALL_SIDES);
- ocheck = NULL_KEY;
- }
- llSetTimerEvent(25);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement