7345 - second life test script
Sep. 17th, 2005 06:19 am//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);
}
}
}
}
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);
}
}
}
}
no subject
Date: 2005-09-17 09:49 pm (UTC)no subject
Date: 2005-09-17 09:51 pm (UTC)I'll give you an editable copy of the gizmo next time I see you on 2nd life.