-- LUA Script - precede every function and global member with lowercase name of script g_ezplatform_test3_trigger = nil g_ezplatform_test3_lift_floor = 1 -- start lift at ground floor g_player_was_on_platform2 = false -- init when level first runs function ezplatform_test3_init(e) g_ezplatform_test3_trigger = 0 g_player_was_on_platform2 = false g_ezplatform_test3_lift_floor = 1 end function ezplatform_test3_main(e) if g_player_on_platform == nil and g_player_was_on_platform2 then local p1 = get_platform_from_name("Platform2") platform_set_sequence(p1) g_player_was_on_platform2 = false end if g_player_on_platform ~= nil and g_ezplatform_name[g_player_on_platform.entity].name == "Platform2" then g_player_was_on_platform2 = true local Sequence = platform_status(g_player_on_platform.entity) if Sequence == 1 then platform_set_sequence(g_player_on_platform.entity) end end if g_ezplatform_test3_trigger == 0 and g_player_on_platform ~= nil then if g_ezplatform_name[g_player_on_platform.entity].name == "Trigger1" then local Sequence = platform_status(g_player_on_platform.entity) if Sequence == 1 then platform_set_sequence(g_player_on_platform.entity, 2) g_ezplatform_test3_trigger = 1 return end end end if g_ezplatform_test3_trigger == 1 then local p1 = get_platform_from_name("Platform1") if p1 ~= nil then platform_set_sequence(p1, 2) g_ezplatform_test3_trigger = 2 return end end if g_ezplatform_test3_trigger == 2 then local p1 = get_platform_from_name("Wall1") if p1 ~= nil then platform_set_sequence(p1, 2) g_ezplatform_test3_trigger = 3 return end end if g_ezplatform_test3_trigger == 3 then local p1 = get_platform_from_name("Platform1") local Sequence = platform_status(p1) if Sequence == 5 then platform_set_sequence(get_platform_from_name("Wall1")) g_ezplatform_test3_trigger = 4 return end end if g_ezplatform_test3_trigger == 4 then local p1 = get_platform_from_name("Wall1") local Sequence = platform_status(p1) if Sequence == 1 then platform_set_sequence(get_platform_from_name("Trigger1")) g_ezplatform_test3_trigger = 0 return end end -- Lift part if g_player_on_platform ~= nil then local playerplat = g_ezplatform_name[g_player_on_platform.entity].name if playerplat == "LiftTrigger1" then g_ezplatform_test3_lift_floor = 1 elseif playerplat == "LiftTrigger2" then g_ezplatform_test3_lift_floor = 2 elseif playerplat == "LiftTrigger3" then g_ezplatform_test3_lift_floor = 3 elseif playerplat == "LiftTrigger4" then g_ezplatform_test3_lift_floor = 4 elseif playerplat == "Lift1" then local x,z = g_player_on_platform.Xoffset, g_player_on_platform.Zoffset if x < -50 and z > 50 then g_ezplatform_test3_lift_floor = 1 elseif x > 50 and z > 50 then g_ezplatform_test3_lift_floor = 2 elseif x > 50 and z < -50 then g_ezplatform_test3_lift_floor = 3 elseif x < -50 and z < -50 then g_ezplatform_test3_lift_floor = 4 end end end local p1 = get_platform_from_name("Lift1") local Sequence = platform_status(p1) if Sequence == 1 then if g_ezplatform_test3_lift_floor > 1 then platform_set_sequence(p1) return end elseif Sequence == 3 then if g_ezplatform_test3_lift_floor > 2 then platform_set_sequence(p1) return elseif g_ezplatform_test3_lift_floor == 1 then platform_set_sequence(p1, 12) return end elseif Sequence == 5 then if g_ezplatform_test3_lift_floor > 3 then platform_set_sequence(p1) return elseif g_ezplatform_test3_lift_floor < 3 then platform_set_sequence(p1, 10) return end elseif Sequence == 7 then if g_ezplatform_test3_lift_floor < 4 then platform_set_sequence(p1) return end elseif Sequence == 9 then if g_ezplatform_test3_lift_floor > 3 then platform_set_sequence(p1, 6) return elseif g_ezplatform_test3_lift_floor < 3 then platform_set_sequence(p1) return end elseif Sequence == 11 then if g_ezplatform_test3_lift_floor > 2 then platform_set_sequence(p1, 4) return elseif g_ezplatform_test3_lift_floor < 2 then platform_set_sequence(p1) return end end end