Get Profile Picture: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
WEB-1383 / WEB-1384 workaround, use <meta> instead of <img> |
||
| Line 6: | Line 6: | ||
// Snippets and HTTPRequest bits were taken from: | // Snippets and HTTPRequest bits were taken from: | ||
//~ RANDOM PROFILE PROJECTOR v5.4.5 by Debbie Trilling ~ | //~ RANDOM PROFILE PROJECTOR v5.4.5 by Debbie Trilling ~ | ||
// Get Profile Picture by Valentine Foxdale | // Get Profile Picture by Valentine Foxdale | ||
// optmisation by SignpostMarv Martin | // optmisation by SignpostMarv Martin | ||
// workaround for WEB-1384 by Viktoria Dovgal, use meta tag instead of img since it comes earlier | |||
list sides; | list sides; | ||
list deftextures; | list deftextures; | ||
integer s1l; // calculated from profile_key_prefix in state_entry() | integer s1l; // calculated from profile_key_prefix in state_entry() | ||
string profile_key_prefix = "< | string profile_key_prefix = "<meta name=\"imageid\" content=\""; | ||
GetProfilePic(key id) //Run the HTTP Request then set the texture | GetProfilePic(key id) //Run the HTTP Request then set the texture | ||
{ | { | ||
| Line 55: | Line 55: | ||
http_response(key req,integer stat, list met, string body) | http_response(key req,integer stat, list met, string body) | ||
{ | { | ||
integer s1 = llSubStringIndex(body,profile_key_prefix) | integer s1 = llSubStringIndex(body,profile_key_prefix) + s1l; | ||
if(s1 == -1){SetDefaultTextures();} | if(s1 == -1){SetDefaultTextures();} | ||
else | else | ||
{ | { | ||
key UUID=llGetSubString(body,s1+ | key UUID=llGetSubString(body, s1, s1 + 35); | ||
llSetTexture(UUID,ALL_SIDES); | llSetTexture(UUID,ALL_SIDES); | ||
} | } | ||
} | } | ||
} | } | ||
</lsl> | </lsl> | ||
Revision as of 03:18, 24 November 2009
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Get Profile Picture by Valentine Foxdale
<lsl>
// Snippets and HTTPRequest bits were taken from:
//~ RANDOM PROFILE PROJECTOR v5.4.5 by Debbie Trilling ~
// Get Profile Picture by Valentine Foxdale // optmisation by SignpostMarv Martin // workaround for WEB-1384 by Viktoria Dovgal, use meta tag instead of img since it comes earlier list sides; list deftextures; integer s1l; // calculated from profile_key_prefix in state_entry() string profile_key_prefix = "<meta name=\"imageid\" content=\""; GetProfilePic(key id) //Run the HTTP Request then set the texture {
//key id=llDetectedKey(0); This breaks the function, better off not used string URL_RESIDENT = "http://world.secondlife.com/resident/"; llHTTPRequest( URL_RESIDENT + (string)id,[HTTP_METHOD,"GET"],"");
} GetDefaultTextures() //Get the default textures from each side {
integer i;
integer faces = llGetNumberOfSides();
for (i = 0; i < faces; i++)
{
sides+=i;
deftextures+=llGetTexture(i);
}
} SetDefaultTextures() //Set the sides to their default textures {
integer i;
integer faces;
faces = llGetNumberOfSides();
for (i = 0; i < faces; i++)
{
llSetTexture(llList2String(deftextures,i),i);
}
} default {
state_entry()
{
s1l = llStringLength(profile_key_prefix);
llSetText("Touch for this object to display your profile picture!",<0.8,0,1>,1);
//Note: Usage of another person's profile picture without their permission may be viewed as copyright infringement.
GetDefaultTextures();
}
touch_start(integer total_number)
{
GetProfilePic(llDetectedKey(0));
}
http_response(key req,integer stat, list met, string body)
{
integer s1 = llSubStringIndex(body,profile_key_prefix) + s1l;
if(s1 == -1){SetDefaultTextures();}
else
{
key UUID=llGetSubString(body, s1, s1 + 35);
llSetTexture(UUID,ALL_SIDES);
}
}
} </lsl>