//desc – box flies up 300m and then builds a floating 30x30x30 room to work from. Portable Fortress of Solitude.
vector getpos;
default
{
    state_entry()
    {
        llSay(0, “Script reset.”);
        llSitTarget(<0, 0, 0.1>, ZERO_ROTATION);
        getpos = llGetPos();
    }
   
    on_rez(integer start_param)
    {
        llSay(0, “Have a seat, ” + llKey2Name(llGetOwner()) + “.”);
        llResetScript();
        getpos = llGetPos();
    }
   
    changed(integer change)
    {
        key agent = llAvatarOnSitTarget();
       
        if (change & CHANGED_LINK)//used to detect when someone sits on it
        {
            if(agent == llGetOwner())
            {
                if(agent)
                {
                    llSay(0,”Moving to 300 meters.”);
                    while ( llVecDist(llGetPos(), <getpos.x,getpos.y,300>) > 0.001 )
                    {
                        llSetPos(<getpos.x,getpos.y,300>);
                    }
                    llSay(0, “Rezzing workspace.”);
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, ZERO_ROTATION,90);
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, llEuler2Rot(<PI_BY_TWO,0,0>),91);
            llSay(91,(string)(llGetPos() + <0,15.25,10.25>));
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, llEuler2Rot(<PI_BY_TWO,0,0>),92);
            llSay(92,(string)(llGetPos() + <0,-15.25,10.25>));
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, llEuler2Rot(<PI_BY_TWO,PI_BY_TWO,0>),93);
            llSay(93,(string)(llGetPos() + <15.25,0,10.25>));
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, llEuler2Rot(<PI_BY_TWO,PI_BY_TWO,0>),94);
            llSay(94,(string)(llGetPos() + <-15.25,0,10.25>));
            llRezObject(“Panel”,llGetPos() + <0,0,-5>, ZERO_VECTOR, ZERO_ROTATION,95);
            llSay(95,(string)(llGetPos() + <0,0,25.5>));
            llSay(0,”Rezzing finished.”);
            llDie();
                }
            }
            else//get off, non owner
            {
                llSay(0,”You are not the owner.”);
                llUnSit(agent);
            }
        } 
    }
}
 
		