Each segment has to be a script_object and getting one segment to move up, rotate, and move back is no problem. But, getting all the segments to move together can be.
Start by just trying to make one segment move. If both bay doors open at the same time, make both bottom segments one script_object. Give it a targetname (like baydoor1). You will need a trigger_use (targetname baydoor_trigger) and a fake button for players to look at. Now you can script the action.
baydoor_standby:
$baydoor_trigger waittill trigger // Wait for trigger to be used.
thread baydoor1_open // Start segment one thread.
end
baydoor1_open:
// Make it move up part way.
$baydoor1 moveUp 224 // Set direction "up" and distance in units.
$baydoor1 waitmove // Start it moving and wait until done.
// The next 4 lines make it move around the curve.
$baydoor1 moveUp 32 // Set direction "up" and distance in units.
$baydoor1 rotateZUp 90 // Set rotation in degrees.
$baydoor1 moveNorth 32 // Set direction "North" and distance in units.
$baydoor1 waitmove // Start it moving and wait until done.
// Make it move back in the bay.
$baydoor1 moveNorth 256 // Set direction "North" and distance in units.
$baydoor1 move // Start it moving to final spot.
end
Each segment will need its own thread like the one above, but with different distances. All the threads will need to be started at the same time in the standby thread. This is only an example because I do not know the distances or directions for your doors. I did not add sound, but getting it to move is enough for now.
If the door can also go down, another set of "down" threads will be needed for that, and the script will get even more complicated.
Hope that helps!
Ps: I have a fireman's pole that works, if you need it. It is in this tutorial map:
http://pages.sbcglobal.net/tltrude/Temp ... ngdoor.zip .