Here's my code. To save space, I've included the controller and only 1 door panel. The other 3 panels code are the same except for the direction they move:
//door panel, 1 of 4. Listens for MasterController
MoveDown(integer distance){
llSetPos(llGetLocalPos() + <0,0,-distance>
;}
MoveUp(integer distance){
llSetPos(llGetLocalPos() + <0,0,distance>
;}
default
{
state_entry(){}
link_message(integer sender_number, integer number, string message, key id){
if(message == "Open_Hatch"
{llSay(0, "Bottom quadrant Moving."
;MoveDown(1);
MoveUp(1);
}
}
}
//MasterController - sends messages to the 4 door panel prims
key operator;
default{
state_entry(){
llSay(0, "Hello, Avatar! Press me to enter."
;}
touch_start(integer total_number){
llSay(0, "Opening Hatch."
;llTriggerSound ("34c9a0b4-5820-0eb3-a639-61dcd5bb7f2b",1.0 );
llMessageLinked(LINK_ALL_CHILDREN, 0, "Open_Hatch", operator);
}
}
Thanks,
Arno