-- LUA Script - precede every function and global member with lowercase name of script g_player_was_on_trigger = false g_player_is_on_trigger = false g_door_state = "closed" -- init when level first runs function door_test_init(e) g_player_was_on_trigger = false g_player_is_on_trigger = false g_door_state = "closed" HideTerrain() end function door_test_main(e) Prompt(g_door_state) if g_player_on_platform ~= nil then if g_ezentitymover_name[g_player_on_platform.entity].name == "Trigger1" then g_player_is_on_trigger = true local Sequence, in_prog = ezentitymover_status(g_player_on_platform.entity) if not in_prog and Sequence == 1 then ezentitymover_set_sequence(g_player_on_platform.entity) g_player_was_on_trigger = true elseif g_door_state == "closed" then ezentitymover_set_sequence(get_ezentity_from_name("Door1"),2) ezentitymover_set_sequence(get_ezentity_from_name("Door2"),2) g_door_state = "opening" return end elseif g_ezentitymover_name[g_player_on_platform.entity].name == "DeathPad" then if g_door_state == "closed" then HurtPlayer(e,10) end end elseif g_player_was_on_trigger then g_player_is_on_trigger = false local trigger = get_ezentity_from_name("Trigger1") local Sequence, in_prog = ezentitymover_status(trigger) if not in_prog and Sequence == 4 then ezentitymover_set_sequence(trigger) g_player_was_on_trigger = false end end if g_door_state == "opening" then local door1 = get_ezentity_from_name("Door1") local door2 = get_ezentity_from_name("Door2") local Seq1, in_prog1 = ezentitymover_status(door1) local Seq2, in_prog2 = ezentitymover_status(door2) if not in_prog1 and not in_prog2 then if Seq1 == 4 and Seq2 == 4 then g_door_state = "open" end end elseif g_door_state == "closing" then local door1 = get_ezentity_from_name("Door1") local door2 = get_ezentity_from_name("Door2") local Seq1, in_prog1 = ezentitymover_status(door1) local Seq2, in_prog2 = ezentitymover_status(door2) if not in_prog1 and not in_prog2 then if Seq1 == 1 and Seq2 == 1 then g_door_state = "closed" end end elseif g_door_state == "open" and not g_player_is_on_trigger then ezentitymover_set_sequence(get_ezentity_from_name("Door1"),5) ezentitymover_set_sequence(get_ezentity_from_name("Door2"),5) g_door_state = "closing" end end