integer trgroof;
integer trgbedroom;
integer trglivingroom;
integer trgdungeon;
vector dungeon = <80.0,245.0,50.4>;
vector livingroom = <80.0,245.0,54.8>;
vector bedroom = <80.0,245.0,60.0>;
vector roof = <80.0,245.0,65.0>;
default
{
state_entry()
{
llSetStatus(STATUS_PHYSICS, TRUE);
llListen(0, "", "", "rf"

;
llListen(0, "", "", "lr"

;
llListen(0, "", "", "br"

;
llListen(0, "", "", "dn"

;
llSetStatus(STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z,FALSE);
}
listen(integer channel, string name, key id, string msg)
{
if(msg == "rf"
{
trgroof = llTarget( roof, .1 );
llMoveToTarget( roof, .051 );
msg = "";
}
if (msg == "lr"

{
trgbedroom = llTarget( livingroom, .1 );
llMoveToTarget(livingroom, .051 );
msg = "";
}
if(msg == "br"
{
trgbedroom = llTarget( bedroom, .1 );
llMoveToTarget(bedroom, .051 );
msg = "";
}
if (msg == "dn"

{
trgdungeon = llTarget( dungeon, .1 );
llMoveToTarget(dungeon, .051 );
msg = "";
}
}
at_target (integer tnumb, vector trgpos, vector ourpos)
{
if (tnumb == trgroof)
{
llStopMoveToTarget();
llTargetRemove (trgroof);
}
if (tnumb == trgbedroom)
{
llStopMoveToTarget();
llTargetRemove (trgbedroom);
}
if (tnumb == trglivingroom)
{
llStopMoveToTarget();
llTargetRemove (trglivingroom);
}
if (tnumb == trgdungeon)
{
llStopMoveToTarget();
llTargetRemove (trgdungeon);
}
}
}