Don't click here unless you want to be banned.

LSL Wiki : LibraryDisplayProfilePic

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are crawl338.us.archive.org
Put this script into a prim, when touched the prim will display your profile picture.

This information was gleened from the Debug Console when using the new search.

A thread on the forums by Solar Alter/Jana Kamachi [Source Code]Get a users profile picture started out by displaying just the profile picture, but has gone further and taken other useful information from the resident URL page, such as picks from your profile, it also discusses using the search page to do name2key conversions, brillant ideas by Jana!

Debbie Trilling has also taken this concept far with Library: AV Profile Picture Projector v3.3 and version 5.1 ~ RANDOM AV PROFILE PICTURE PROJECTOR v5.1 by Debbie Trilling ~

Note: I added a dialog box to this script, apparently LL considers this a violation of the TOS, here is part of an email isssued to a resident using Debbie Trilling's script:
Violation: Terms of Service: Permissions Exploit

Residents may not take any action to circumvent the
Permissions system of Second Life. Obtaining, using,
downloading and selling of textures, scripts, etc. without
the permission of the creator -- expressed through the
Permissions system -- is a violation of the Terms of
Service.

Profile prim scanner / greeter returned due to capturing resident profile
picture without permission.


// 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

string RESIDENT_URL = "http://world.secondlife.com/resident/";
key WHITE_DEFAULT_TEXTURE = "5748decc-f629-461c-9a36-a35a221fe21f";
integer DIALOG_CHANNEL = -123654;
string DIALOG_MSG = "By hitting the I Agree button below, you give permission for this script to access your profile texture UUID.";
list KILLJOY_MENU = ["I Agree", "I Disagree"];
integer Dialog_Handle;

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)
    {
        // Set up dialog menu to get avatar approval before displaying their 
        // profile pick. Only listen to the avatar that touched me.
        Dialog_Handle = llListen(DIALOG_CHANNEL, "", llDetectedKey(0), "");
        // Display dialog popup
        llDialog(llDetectedKey(0), DIALOG_MSG, KILLJOY_MENU, DIALOG_CHANNEL);
    }
    
    listen(integer channel, string name, key id, string message)
    {
        if (message == "I Agree")
        { // They agreed so continue to get their avatar profile picture
            // Get page from new search engine for the avatar that touched me
            llHTTPRequest( RESIDENT_URL + (string)id,[HTTP_METHOD,"GET"],"");
            llSetText(name, <1,0,0>, 1.0); // Display avatar name as hover text
        }
        llListenRemove(Dialog_Handle); // Shut down dialog listener
    }
    
    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//lslwiki/blank.jpg 
        if (llSubStringIndex(body, "/lslwiki/blank.jpg") == -1) // If a profile picture exists
        {
            // Find starting point of the profile picture UUID
            integer start_of_UUID = llSubStringIndex(body,"<img alt=\"profile image\" src=\"http://secondlife.com/app/image/") + llStringLength("<img alt=\"profile image\" src=\"http://secondlife.com/app/image/");
            // Find ending point of profile picture UUID
            integer end_of_UUID = llSubStringIndex(body,"\" class=\"parcelimg\" />") - 3;
            // Parse out profile picture UUID from the body
            string profile_pic = llGetSubString(body, start_of_UUID, end_of_UUID);
            // Set the sides of the prim to the picture
            llSetTexture((key)profile_pic, ALL_SIDES);
        }
        else
        {
            llWhisper(0, "You have no profile picture"); // Tell the avatar they have no picture
            llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture
        }
    }
}
There is no comment on this page. [Display comments/form]