Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- key user_key = "";
- key blank = TEXTURE_BLANK;
- key toucher;
- list user_able;
- list group_able;
- string url = "http://world.secondlife.com/resident/";
- string name;
- string status;
- integer lis_handle;
- integer dia_handle;
- integer own_handle;
- integer g_handle = -81524;
- integer u_handle = -81525;
- integer facechange;
- 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_img_prefix in state_entry()
- default
- {
- state_entry()
- {
- lis_handle = 0;
- own_handle = -924304;
- dia_handle = -924303;
- profile_key_prefix_length = llStringLength(profile_key_prefix);
- profile_img_prefix_length = llStringLength(profile_img_prefix);
- llSetTexture(blank, ALL_SIDES);
- }
- touch_start(integer num_detected)
- {
- lis_handle = 0;
- toucher = llDetectedKey(0);
- facechange = llDetectedTouchFace(0);
- //llWhisper(0, llDumpList2String(database, ", "));
- if(toucher == llGetOwner())
- {
- llDialog(toucher,"What will you do?",["Add","Remove"],own_handle);
- own_handle = -92430;
- llListen(own_handle, "", NULL_KEY, "");
- }
- }
- listen(integer channel, string name, key id, string message)
- {
- if(id == llGetOwner())
- {
- if(channel == own_handle)
- {
- if(message == "Add")
- {
- llWhisper(0,"Please paste the resident key into chat.");
- llListen(lis_handle, "", NULL_KEY, "");
- own_handle = -92430;
- llListenRemove(own_handle);
- }
- if(message == "Remove")
- {
- llSetTexture(blank, facechange);
- list temp = [NULL_KEY];
- own_handle = -92430;
- llListenRemove(own_handle);
- }
- }
- if(channel == lis_handle)
- {
- user_key = message;
- list temp = [message];
- //database = llListReplaceList(database, temp, facechange, facechange);
- llHTTPRequest(url + (string)user_key,[HTTP_METHOD,"GET"],"");
- lis_handle = -92431;
- llListenRemove(lis_handle);
- }
- }
- }
- on_rez(integer start_param)
- {
- llSetTexture(blank, ALL_SIDES);
- }
- http_response(key request_id,integer status, list metadata, string body)
- {
- string profile_pic;
- 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?
- list temp = [NULL_KEY];
- //database = llListReplaceList(database, temp, facechange, facechange);
- profile_pic = blank;
- llWhisper(0,"Key is invalid.");
- lis_handle = -92431;
- llListenRemove(lis_handle);
- }
- else
- {
- profile_pic = llGetSubString(body,s1 + s1l, s1 + s1l + 35);
- if (profile_pic == (string)NULL_KEY)
- {
- profile_pic = blank;
- llWhisper(0,"This resident has no profile image.");
- }
- }
- llSetTexture(profile_pic, facechange);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement