Elevator, 2 frames, switches -- prl_funicular_switch.cog
Here is the basic LEC 00_elev_switch.cog modified by using two switches and adding a pause with alarm sound before the elevator (or funicular) starts moving. Elevator returns to frame 0 by itself. 27 February 2001

# Jedi Knight Cog Script
#
# prl_funicular_switch.cog
# modified from 00_elev_switch.cog
# Sylvicolus [PRL] 27 February 2001
# http://www.lactarius.com/sylvicolus/jk/
#
# When either of two switches are activated, This elevator 
# or funicular will go from frame 0 to frame 1, 
# sleep, then come back down to frame 0.
# An alarm will sound, then a pause, before elevator starts moving.
# Elevator will not react to "blocked" message.
#
# This cog is not supported by LucasArts Entertainment Co.
      
symbols

message	activated
message	arrived
message	timer

surface	switch1   linkid=1
surface	switch2   linkid=1
thing	elevator  linkid=2
flex	start_wait=0.5   desc=pause_before_alarm
flex	move_wait=2.0    desc=pause_before_moving
flex	sleeptime=5.0
flex	speed=2.0
sound	wav0=Activate02.wav
sound	alarm=00alarmloop01.wav

end

# ========================================================

code

activated:
	if (GetSenderId() != 1) return;  // message came from elevator
	if (GetWallCel(switch1) == 1) return;
	SetWallCel(switch1, 1);
	SetWallCel(switch2, 1);
	PlaySoundPos(wav0, SurfaceCenter(switch1), 0.6, -1, -1, 0);
	PlaySoundPos(wav0, SurfaceCenter(switch2), 0.6, -1, -1, 0);
	sleep(start_wait);
	PlaySoundThing(alarm, elevator, 3.0, -1, -1, 0x84);
	sleep(start_wait);
	PlaySoundThing(alarm, elevator, 3.0, -1, -1, 0x84);
	sleep(move_wait);
	MoveToFrame(elevator, 1, speed);
	return;

arrived:
	if (GetCurFrame(elevator) == 0)
	{
		SetWallCel(switch1, 0);
		SetWallCel(switch2, 0);
		PlaySoundPos(wav0, SurfaceCenter(switch1), 0.6, -1, -1, 0);
		PlaySoundPos(wav0, SurfaceCenter(switch2), 0.6, -1, -1, 0);
	} else {
		// Set sleep time at top
		SetTimer(sleeptime);
	}
	return;

timer:
	// Send elevator down
	PlaySoundThing(alarm, elevator, 3.0, -1, -1, 0);
	sleep(start_wait);
	PlaySoundThing(alarm, elevator, 3.0, -1, -1, 0);
	sleep(move_wait);
	MoveToFrame(elevator, 0, speed);
	return;

end