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

LSL Wiki : LibraryPasswall

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are
This script will allow you to set up a solid wall that lets certain people pass through it (just replace "my name" etc with the names of those you wish to have access)

// access_list is the list of every person you wish to be able to trigger the wall phasing out
list access_list = ["my name", "my friend's name", "my other friend's name"];

// phase_length is the length of time in seconds to hold phantom state
float phase_length = 1.0; 

        // Set status to not phantom on start just in case it got stuck as phantom
        llSetStatus(STATUS_PHANTOM, FALSE);
    collision(integer num_detected)
        // check to see if the person who bumped into the wall is on the access list
        if(llListFindList(access_list, (list)llDetectedName(0)) != -1)
            // if the above is true, then phase out the wall to allow passage by applying a phantom state to the prim
            llSetStatus(STATUS_PHANTOM, TRUE);
            // set the timer to activate phase_length (set at the top of the script) seconds later
        // when the timer goes off, the wall is made solid again by removing the phantom state.
        llSetStatus(STATUS_PHANTOM, FALSE);
Comments [Hide comments/form]
You could set this up with llVolumeDetect so that once it detects a person on the list it goes phantom, and when it doesn't anymore it returns to solid.
-- DolusNaumova (2006-12-21 08:15:09)
don't want someone sitting in the middle and keeping it open ;)
-- AsiraSakai (2007-01-18 22:30:06)
It won't, since llVolumeDetect only triggers collision_start and collision_end events.
-- DolusNaumova (2007-01-19 15:58:07)
Why did they use llKey2Name(llDetectedKey(0), instead of just llDetectedName(0)?
-- (2007-12-23 08:38:11)
Attach a comment to this page: