#Do stuff above to get ":instance_id"; store desired position in pos5
(prop_instance_animate_to_position, ":instance_id", pos5, 20*100), #Move the desired prop to pos5 in 20 seconds.
(ti_on_scene_prop_init, [
(store_trigger_param_1. ":prop"),
(prop_instance_get_position, pos4, ":prop"),
(position_move_z, pos4, 500), #Move 5 meters up
(scene_prop_set_slot, prop_animation_slot, 0), #set prop_animation_slot in module_constants or header_common
(prop_instance_animate_to_position, ":prop", pos4, 500),
]),
(ti_on_scene_prop_animation_finished, [
(store_trigger_param_1. ":prop"),
(prop_instance_get_position, pos4, ":prop"),
(try_begin),
(scene_prop_slot_eq, prop_animation_slot, 0)
(position_move_z, pos4, -500), #Move 5 meters down, to the original position
(scene_prop_set_slot, prop_animation_slot, 1),
(prop_instance_animate_to_position, ":prop", pos4, 500),
(else_try),
(scene_prop_slot_eq, prop_animation_slot, 1)
(position_move_z, pos4, 500), #move 5 meters up
(scene_prop_set_slot, prop_animation_slot, 0),
(prop_instance_animate_to_position, ":prop", pos4, 500),
(try_end),
]),
(scene_prop_get_num_instances,":max", ":spr_my_prop"),
(try_for_range, ":cur", 0, ":max"),
(scene_prop_get_instance, ":instance", ":spr_my_prop", ":cur"),
#Check to see if this is the instance/one of the instances you want and do stuff with it
(try_end),
(1,2,ti_once,
[ (get_player_agent_no, ":player_agent"),
(agent_is_alive, ":player_agent"),
(agent_get_position, pos1, ":player_agent"),
(set_fixed_point_multiplier, 100),
(scene_prop_get_instance,":door", "spr_dungeon_door_entry_a",0),
(prop_instance_get_position, pos2, ":door"),
(get_distance_between_positions, ":cur_distance", pos1, pos2),
(le, ":cur_distance", 1000),
],
[ (set_fixed_point_multiplier, 100),
(scene_prop_get_instance,":door", "spr_dungeon_door_entry_a",0),
(prop_instance_get_position, pos2, ":door"),
(position_rotate_z, pos2, -100),
(prop_instance_animate_to_position, ":door", pos2,200),
]),