LibraryDisplayLandScreenshot
Revision as of 09:49, 16 February 2010 by Jon Desmoulins (talk | contribs) (Created page with 'This is nothing special, but it gets the job done. :) --~~~~ <lsl> // Credit goes to Jana Kamachi/Solar Alter // for discovering this concept first // and taking it beyond just...')
This is nothing special, but it gets the job done. :) --Jon Desmoulins 17:49, 16 February 2010 (UTC)
<lsl> // Credit goes to Jana Kamachi/Solar Alter // for discovering this concept first // and taking it beyond just displaying the profile picture // see http://forums.secondlife.com/showthread.php?t=225460 // and https://wiki.secondlife.com/wiki/User:Jana_Kamachi/Profile // for further information
/*
Modified by Jon Desmoulins to use the new PARCEL_DETAILS_ID to fetch the image that displays on the world.secondlife.com pages It's a little hacky, but it works.
- /
string LAND_URL = "http://world.secondlife.com/place/"; key WHITE_DEFAULT_TEXTURE = "5748decc-f629-461c-9a36-a35a221fe21f";
default {
state_entry() { llSetText("", <1,0,0>, 1.0); // Erase hover text llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture } touch_start(integer num_detected) { llOwnerSay(LAND_URL + (string)llList2Key(llGetParcelDetails(llGetPos(),[5]),0)); llHTTPRequest(LAND_URL + "8d1b5ac3-e95f-3104-e678-0b73b481eaab" ,[],""); } on_rez(integer start_param) { llSetText("", <1,0,0>, 1.0); // Erase hover text llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture } http_response(key request_id,integer status, list metadata, string body) { // If the profile has no picture the image name will be // http://world.secondlife.com/images/blank.jpg if (llSubStringIndex(body, "blank.jpg") == -1) // If a profile picture exists { // Find starting point of the land picture UUID integer start_of_UUID = llSubStringIndex(body,"<meta name=\"imageid\" content=\"") + llStringLength("<meta name=\"imageid\" content=\""); // Find ending point of land picture UUID integer end_of_UUID = llSubStringIndex(body,"/"); // Parse out land UUID from the body string profile_pic = llGetSubString(body, start_of_UUID, end_of_UUID); // Set the sides of the prim to the picture //Parse some more, we need to dig deeper to get the key. integer start = llSubStringIndex(profile_pic,"<!DOCTYPE html PUBLIC \"-/") + llStringLength("<!DOCTYPE html PUBLIC \"-/"); integer end = llSubStringIndex(profile_pic,"\" />"); string landpic = llGetSubString(profile_pic, start,end - 1); //Voila! llSetTexture((key)landpic, ALL_SIDES); } else { llWhisper(0, "You have no land picture"); // Tell the avatar they have no picture llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture } }
} </lsl>