骑砍1战团mod开发-欢迎来到骑砍联盟(RTS大规模军团竞技)_哔哩哔哩_bilibili
一.小地图presentation
("RTS_battle", 0, 0, [
(ti_on_presentation_load, [
(set_fixed_point_multiplier, 1000),
(call_script, "script_RTS_calculate_map_scale"),
(call_script, "script_RTS_init_map_overlay"),
(call_script, "script_RTS_update_overlay_on_map"),
(presentation_set_duration, 999999),
]),
(ti_on_presentation_run, [
(set_fixed_point_multiplier, 1000),
(call_script, "script_RTS_update_overlay_on_map"),
]),
(ti_on_presentation_mouse_press, [
(store_trigger_param_1, ":object"),
(store_trigger_param_2, ":mouse_state"),
(get_scene_boundaries, pos2, pos3),
(try_begin),
(eq, ":object", "$g_RTS_battle_map_plane"),
(eq, ":mouse_state", 0),
(mouse_get_position, pos1),
(call_script, "script_RTS_convert_map_pos_to_3d_pos"),
(position_get_x, ":3d_cam_x", pos0),
(position_get_y, ":3d_cam_y", pos0),
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_set_x, pos2, ":3d_cam_x"),
(position_set_y, pos2, ":3d_cam_y"),
(position_set_z_to_ground_level, pos2),
(position_move_z, pos2, 1000, 1),
(mission_cam_set_position, pos2),
(try_end),
]),
]),
二.RTS视角切换
(0, 0, ti_once, [],[
(assign, "$g_tank_mode", 0),
(assign, "$g_tank_paota_rotate_z", 0),
(assign, "$g_tank_cheti_instance_no", 0),
(assign, "$g_tank_paota_instance_no", 0),
(assign, "$g_fly_mode", 0),
(assign, "$g_fly_speed", 0),
(assign, "$g_RTS_battle_mode", 0),
(assign, "$g_RTS_battle_rbtn_flag", 0),
(assign, "$g_RTS_shift_mode", 0),
]),
(0, 0, 0, [(key_clicked, key_numpad_4),(eq, "$g_RTS_battle_mode", 0)],[
(init_position, pos1),
(init_position, pos2),
(init_position, pos3),
(assign, "$g_RTS_battle_mode", 1),
#set player position
(get_player_agent_no, ":player_agent"),
(agent_get_horse, ":player_horse", ":player_agent"),
(agent_set_no_dynamics, ":player_agent", 1),
(try_begin),
(neq, ":player_horse", -1),
(agent_set_no_dynamics, ":player_horse", 1),
(try_end),
#spawn rbtn flag
(try_begin),
(eq, "$g_RTS_battle_rbtn_flag", 0),
(agent_get_position, pos3, ":player_agent"),
(set_spawn_position, pos3),
(spawn_scene_prop, "spr_RTS_rbtn_flag"),
(assign, "$g_RTS_battle_rbtn_flag", reg0),
(try_end),
#set camera position
(mission_cam_set_mode, 1, 1, 0),
(mission_cam_get_position, pos1),
(position_set_z_to_ground_level, pos1),
(position_get_rotation_around_z, ":cam_rotation_around_z", pos1),
(position_copy_origin, pos2, pos1),
(position_rotate_z, pos2, ":cam_rotation_around_z"),
(position_move_y, pos2, -800),
(position_move_z, pos2, 1000),
(position_rotate_x, pos2, -30),
(mission_cam_set_position, pos2),
#set map overlay slot
(try_for_agents, ":agent_no"),
(agent_set_slot, ":agent_no", slot_agent_map_overlay_id, 0),
(try_end),
(start_presentation, "prsnt_RTS_battle"),
]),
(0, 0, 0, [(key_clicked, key_numpad_5),(eq, "$g_RTS_battle_mode", 1)],[
(assign, "$g_RTS_battle_mode", 0),
(play_sound, "snd_lol_reconn"),
(mission_cam_set_mode, 0, 1, 0),
(get_player_agent_no, ":player_agent"),
(agent_get_horse, ":player_horse", ":player_agent"),
(agent_set_no_dynamics, ":player_agent", 0),
(try_begin),
(neq, ":player_horse", -1),
(agent_set_no_dynamics, ":player_horse", 0),
(try_end),
(presentation_set_duration, 0),
]),
(0, 0, 0, [(neg|key_is_down, key_left_mouse_button),(eq, "$g_RTS_battle_mode", 1)],[
(assign, "$g_RTS_battle_white_frame_alpha", 0),
]),
(0, 0.1, 0, [(key_is_down, key_left_mouse_button),(eq, "$g_RTS_battle_mode", 1)],[
(assign, "$g_RTS_battle_white_frame_alpha", 0xFF),
(init_position, pos1),
(init_position, pos2),
(init_position, pos3),
(set_fixed_point_multiplier, 1000),
(mouse_get_position, pos1),
(position_get_x, "$g_RTS_battle_mouse_rd_x", pos1),
(position_get_y, "$g_RTS_battle_mouse_rd_y", pos1),
(try_begin),
(gt, "$g_RTS_battle_mouse_rd_x", "$g_RTS_battle_map_pos_x"),
(gt, "$g_RTS_battle_mouse_rd_y", "$g_RTS_battle_map_pos_y"),
(assign, "$g_RTS_battle_mouse_rd_x", -1),
(assign, "$g_RTS_battle_mouse_rd_y", -1),
(try_end),
(try_for_agents, ":agent_no"),
(try_begin),
(agent_is_non_player, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_is_ally, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_get_slot, ":origin_division", ":agent_no", slot_agent_rts_origin_division),
(agent_set_division, ":agent_no", ":origin_division"),
(call_script, "script_RTS_3d_pos_to_mouse_pos", ":agent_no"),
(position_get_x, ":agent_screen_x", pos2),
(position_get_y, ":agent_screen_y", pos2),
(try_begin),
(lt, ":agent_screen_x", "$g_RTS_battle_mouse_rd_x"),
(gt, ":agent_screen_x", "$g_RTS_battle_mouse_lt_x"),
(lt, ":agent_screen_y", "$g_RTS_battle_mouse_lt_y"),
(gt, ":agent_screen_y", "$g_RTS_battle_mouse_rd_y"),
(agent_set_division, ":agent_no", 8),
(team_set_order_listener, 1, 8),
(try_end),
(try_end),
(try_end),
]),
(0, 0, 0, [(key_clicked, key_left_mouse_button),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos1),
(set_fixed_point_multiplier, 1000),
(mouse_get_position, pos1),
(position_get_x, "$g_RTS_battle_mouse_lt_x", pos1),
(position_get_y, "$g_RTS_battle_mouse_lt_y", pos1),
(try_begin),
(gt, "$g_RTS_battle_mouse_lt_x", "$g_RTS_battle_map_pos_x"),
(gt, "$g_RTS_battle_mouse_lt_y", "$g_RTS_battle_map_pos_y"),
(assign, "$g_RTS_battle_mouse_lt_x", -1),
(assign, "$g_RTS_battle_mouse_lt_y", -1),
(try_end),
]),
(0, 0, 0, [(key_clicked, key_right_mouse_button),(eq, "$g_RTS_battle_mode", 1)],[
(call_script, "script_RTS_mouse_pos_to_3d_pos"),
(prop_instance_set_position, "$g_RTS_battle_rbtn_flag", pos3),
#check enemy around
(assign, ":is_enemy_around", 0),
(set_fixed_point_multiplier, 100),
(try_for_agents, ":agent_no", pos3, 200),
(try_begin),
(agent_is_alive, ":agent_no"),
(agent_is_human, ":agent_no"),
(neg|agent_is_ally, ":agent_no"),
(assign, ":is_enemy_around", 1),
(try_end),
(try_end),
#enemy around mordr_charge otherwise go to pos3
(try_begin),
(eq, ":is_enemy_around", 1),
(team_set_order_listener, 1, 8),
(team_give_order, 1, 1, mordr_charge),
(else_try),
(try_for_agents, ":agent_no"),
(agent_get_division, ":current_division", ":agent_no"),
(try_begin),
(agent_is_alive, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_ally, ":agent_no"),
(eq, ":current_division", 8),
(agent_set_scripted_destination, ":agent_no", pos3),
(try_end),
(try_end),
(try_end),
]),
#camera zoom press shift
(0, 0.2, 0, [(neg|key_is_down, key_left_shift),(eq, "$g_RTS_battle_mode", 1)],[
(try_begin),
(eq, "$g_RTS_shift_mode", 1),
(assign, "$g_RTS_shift_mode", 0),
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_move_y, pos2, -500),
(mission_cam_animate_to_position, pos2, 100, 0),
(try_end),
]),
(0, 0.1, 0, [(key_is_down, key_left_shift),(eq, "$g_RTS_battle_mode", 1)],[
(try_begin),
(eq, "$g_RTS_shift_mode", 0),
(assign, "$g_RTS_shift_mode", 1),
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_move_y, pos2, 500),
(mission_cam_animate_to_position, pos2, 100, 0),
(try_end),
]),
#spawn agent for help press space
(0, 0, 0, [(key_clicked, key_space),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos3),
(try_begin),
(neq, "$g_RTS_battle_rbtn_flag", 0),
(prop_instance_get_position, pos3, "$g_RTS_battle_rbtn_flag"),
(set_spawn_position, pos3),
(spawn_agent, "trp_kingdom_1_lord"),
(agent_set_team, reg0, 1),
(try_end),
]),
(0, 0, 0.1, [(game_key_is_down, gk_move_left),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_rotate_x, pos2, 30),
(position_move_x, pos2, -500),
(position_set_z_to_ground_level, pos2),
(position_move_z, pos2, 1000),
(position_rotate_x, pos2, -30),
(mission_cam_animate_to_position, pos2, 300, 0),
]),
(0, 0, 0.1, [(game_key_is_down, gk_move_right),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_rotate_x, pos2, 30),
(position_move_x, pos2, 500),
(position_set_z_to_ground_level, pos2),
(position_move_z, pos2, 1000),
(position_rotate_x, pos2, -30),
(mission_cam_animate_to_position, pos2, 300, 0),
]),
(0, 0, 0.1, [(game_key_is_down, gk_move_forward),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_rotate_x, pos2, 30),
(position_move_y, pos2, 500),
(position_set_z_to_ground_level, pos2),
(position_move_z, pos2, 1000),
(position_rotate_x, pos2, -30),
(mission_cam_animate_to_position, pos2, 300, 0),
]),
(0, 0, 0.1, [(game_key_is_down, gk_move_backward),(eq, "$g_RTS_battle_mode", 1)],[
(init_position, pos2),
(mission_cam_get_position, pos2),
(position_rotate_x, pos2, 30),
(position_move_y, pos2, -500),
(position_set_z_to_ground_level, pos2),
(position_move_z, pos2, 1000),
(position_rotate_x, pos2, -30),
(mission_cam_animate_to_position, pos2, 300, 0),
]),
(ti_on_agent_spawn, 0, 0, [], [
(store_trigger_param_1, ":agent_no"),
(try_begin),
(agent_is_non_player, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_is_ally, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_get_division, ":origin_division", ":agent_no"),
(agent_set_slot, ":agent_no", slot_agent_rts_origin_division, ":origin_division"),
(try_end),
]),
三.新增函数
# RTS_3d_pos_to_mouse_pos
# Input: agent_no agent no
# Output: pos2 mouse pos
("RTS_3d_pos_to_mouse_pos", [
(store_script_param, ":agent_no", 1),
(init_position, pos1),
(init_position, pos2),
(set_fixed_point_multiplier, 1000),
(agent_get_position, pos1, ":agent_no"),
(position_get_screen_projection, pos2, pos1),
]),
# RTS_mouse_pos_to_3d_pos
# Input: none
# Output: pos3 3d pos
("RTS_mouse_pos_to_3d_pos", [
(init_position, pos1),
(init_position, pos2),
(init_position, pos3),
(set_fixed_point_multiplier, 1000),
#screen coordinates is 1000*750 size, camera at center
(mouse_get_position, pos1),
(mission_cam_get_position, pos2),
(position_get_x, ":mouse_x", pos1),
(position_get_y, ":mouse_y", pos1),
(store_sub, ":mouse_x_offset", ":mouse_x", 500),
(store_sub, ":mouse_y_offset", ":mouse_y", 375),
(val_mul, ":mouse_y_offset", 38),
(val_div, ":mouse_y_offset", 375),
(position_rotate_x, pos2, ":mouse_y_offset"),
(val_mul, ":mouse_x_offset", -50),
(val_div, ":mouse_x_offset", 500),
(position_rotate_z, pos2, ":mouse_x_offset"),
(cast_ray, ":scn_prop_id", pos3, pos2),
(position_get_rotation_around_x, ":rotate_x", pos3),
(val_mul, ":rotate_x", -1),
(position_rotate_x, pos3, ":rotate_x"),
(position_get_rotation_around_z, ":rotate_z", pos3),
(val_mul, ":rotate_z", -1),
(position_rotate_z, pos3, ":rotate_z"),
]),
# script RTS_convert_3d_pos_to_map_pos
# Input: pos1 = 3d_pos, pos2 = map_size_pos
# Output: pos0 = map_pos
("RTS_convert_3d_pos_to_map_pos",[
(set_fixed_point_multiplier, 1000),
(position_transform_position_to_local, pos3, pos2, pos1),
(position_get_x, ":agent_x_pos", pos3),
(position_get_y, ":agent_y_pos", pos3),
(val_div, ":agent_x_pos", "$g_battle_map_scale"),
(val_div, ":agent_y_pos", "$g_battle_map_scale"),
(store_sub, ":map_x", 1030, "$g_battle_map_width"),
(store_sub, ":map_y", 770, "$g_battle_map_height"),
(val_add, ":agent_x_pos", ":map_x"),
(val_add, ":agent_y_pos", ":map_y"),
(position_set_x, pos0, ":agent_x_pos"),
(position_set_y, pos0, ":agent_y_pos"),
]),
# script_RTS_convert_map_pos_to_3d_pos
# Input: pos1 = map_pos, pos2 = map_size_pos
# Output: pos0 = 3d_pos
("RTS_convert_map_pos_to_3d_pos",[
(set_fixed_point_multiplier, 1000),
(position_get_x, ":agent_x_pos", pos1),
(position_get_y, ":agent_y_pos", pos1),
(store_sub, ":map_x", 1030, "$g_battle_map_width"),
(store_sub, ":map_y", 770, "$g_battle_map_height"),
(val_sub, ":agent_x_pos", ":map_x"),
(val_sub, ":agent_y_pos", ":map_y"),
(val_mul, ":agent_x_pos", "$g_battle_map_scale"),
(val_mul, ":agent_y_pos", "$g_battle_map_scale"),
(position_set_x, pos1, ":agent_x_pos"),
(position_set_y, pos1, ":agent_y_pos"),
(position_transform_position_to_parent, pos0, pos2, pos1),
]),
# script_RTS_calculate_map_scale
# Input: none
# Output: "$g_battle_map_scale", "$g_battle_map_height"
("RTS_calculate_map_scale",[
(get_scene_boundaries, pos2, pos3),
(position_transform_position_to_local, pos4, pos2, pos3),
(position_get_x, ":map_width", pos4),
(position_get_y, ":map_height", pos4),
(store_div, ":map_ratio", ":map_height", 100),
(store_div, ":map_ratio", ":map_width", ":map_ratio"),
(try_begin),
(gt, ":map_ratio", 100),
(assign, "$g_battle_map_width", 300),
(store_div, "$g_battle_map_scale", ":map_width", "$g_battle_map_width"),
(store_div, "$g_battle_map_height", ":map_height", "$g_battle_map_scale"),
(else_try),
(assign, "$g_battle_map_height", 300),
(store_div, "$g_battle_map_scale", ":map_height", "$g_battle_map_height"),
(store_div, "$g_battle_map_width", ":map_width", "$g_battle_map_scale"),
(try_end),
]),
# script_RTS_init_map_overlay
# Input: none
# Output: none
("RTS_init_map_overlay",[
(create_image_button_overlay, "$g_RTS_battle_map_plane", "mesh_white_plane", "mesh_white_plane"),
(overlay_set_color, "$g_RTS_battle_map_plane", 0),
(store_add, ":map_bordered_width", "$g_battle_map_width", 20),
(store_add, ":map_bordered_height", "$g_battle_map_height", 20),
(store_mul, ":map_scale_x", ":map_bordered_width", 30),
(store_mul, ":map_scale_y", ":map_bordered_height", 30),
(position_set_x, pos1, ":map_scale_x"),
(position_set_y, pos1, ":map_scale_y"),
(overlay_set_size, "$g_RTS_battle_map_plane", pos1),
(store_sub, "$g_RTS_battle_map_pos_x", 1130, ":map_bordered_width"),
(store_sub, "$g_RTS_battle_map_pos_y", 880, ":map_bordered_height"),
(position_set_x, pos1, "$g_RTS_battle_map_pos_x"),
(position_set_y, pos1, "$g_RTS_battle_map_pos_y"),
(overlay_set_position, "$g_RTS_battle_map_plane", pos1),
(overlay_set_alpha, "$g_RTS_battle_map_plane", 0x44),
(create_image_button_overlay, "$g_RTS_battle_camera_frame", "mesh_white_plane", "mesh_white_plane"),
(position_set_x, pos1, 800),
(position_set_y, pos1, 800),
(overlay_set_size, "$g_RTS_battle_camera_frame", pos1),
(overlay_set_color, "$g_RTS_battle_camera_frame", 0x337540),
(create_image_button_overlay, "$g_RTS_battle_white_frame", "mesh_white_frame", "mesh_white_frame"),
(overlay_set_color, "$g_RTS_battle_white_frame", 0xFFFFFFFF),
(overlay_set_alpha, "$g_RTS_battle_white_frame", 0),
(position_set_x, pos1, 5),
(position_set_y, pos1, 5),
(overlay_set_size, "$g_RTS_battle_white_frame", pos1),
(position_set_x, pos1, -10),
(position_set_y, pos1, -10),
(overlay_set_position, "$g_RTS_battle_white_frame", pos1),
]),
# script_RTS_update_overlay_on_map
# Input: none
# Output: none
("RTS_update_overlay_on_map", [
(set_fixed_point_multiplier, 1000),
(get_scene_boundaries, pos2, pos3),
#update agent overlay
(try_for_agents, ":cur_agent"),
(agent_is_human, ":cur_agent"),
(agent_get_division, ":agent_division", ":cur_agent"),
(agent_get_party_id, ":agent_party", ":cur_agent"),
(agent_get_slot, ":agent_overlay", ":cur_agent", slot_agent_map_overlay_id),
(try_begin),
(eq, ":agent_party", "p_main_party"),
(try_begin),
(agent_is_alive, ":cur_agent"),
(call_script, "script_RTS_update_agent_overlay_on_map", ":cur_agent"),
(else_try),
(overlay_set_alpha, ":agent_overlay", 0),
(try_end),
(else_try),
(agent_is_ally, ":cur_agent"),
(try_begin),
(agent_is_alive, ":cur_agent"),
(call_script, "script_RTS_update_agent_overlay_on_map", ":cur_agent"),
(else_try),
(overlay_set_alpha, ":agent_overlay", 0),
(try_end),
(else_try),
(try_begin),
(agent_is_alive, ":cur_agent"),
(call_script, "script_RTS_update_agent_overlay_on_map", ":cur_agent"),
(else_try),
(overlay_set_alpha, ":agent_overlay", 0),
(try_end),
(try_end),
(try_end),
##update camera overlay
(init_position, pos1),
(mission_cam_get_position, pos1),
(position_set_z_to_ground_level, pos1),
(position_rotate_x, pos1, 30),
(position_move_y, pos1, 600),
(call_script, "script_RTS_convert_3d_pos_to_map_pos"),
(overlay_set_position, "$g_RTS_battle_camera_frame", pos0),
##update frame overlay
(store_sub, ":frame_width", "$g_RTS_battle_mouse_rd_x", "$g_RTS_battle_mouse_lt_x"),
(store_sub, ":frame_height", "$g_RTS_battle_mouse_lt_y", "$g_RTS_battle_mouse_rd_y"),
(try_begin),
(gt, ":frame_width", 0),
(gt, ":frame_height", 0),
(gt, "$g_RTS_battle_mouse_lt_x", 0),
(gt, "$g_RTS_battle_mouse_rd_y", 0),
(position_set_x, pos1, ":frame_width"),
(position_set_y, pos1, ":frame_height"),
(overlay_set_size, "$g_RTS_battle_white_frame", pos1),
(position_set_x, pos1, "$g_RTS_battle_mouse_lt_x"),
(position_set_y, pos1, "$g_RTS_battle_mouse_rd_y"),
(overlay_set_position, "$g_RTS_battle_white_frame", pos1),
(overlay_set_alpha, "$g_RTS_battle_white_frame", "$g_RTS_battle_white_frame_alpha"),
(try_end),
]),
# script_RTS_update_agent_position_on_map
# Input: arg1 = agent_no, pos2 = map_size_pos
# Output: none
("RTS_update_agent_overlay_on_map",[
(store_script_param_1, ":agent_no"),
(agent_get_slot, ":agent_overlay", ":agent_no", slot_agent_map_overlay_id),
(get_player_agent_no, ":player_agent"),
(try_begin),
(le, ":agent_overlay", 0),
(set_fixed_point_multiplier, 1000),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(create_mesh_overlay, reg1, "mesh_player_dot"),
(position_set_x, pos1, 500),
(position_set_y, pos1, 500),
(overlay_set_size, reg1, pos1),
(else_try),
(create_mesh_overlay, reg1, "mesh_white_dot"),
(position_set_x, pos1, 200),
(position_set_y, pos1, 200),
(overlay_set_size, reg1, pos1),
(try_end),
(overlay_set_alpha, reg1, 0x88),
(agent_set_slot, ":agent_no", slot_agent_map_overlay_id, reg1),
(assign, ":agent_overlay", reg1),
(try_end),
(try_begin),
(neq, ":agent_no", ":player_agent"),
(agent_get_party_id, ":agent_party", ":agent_no"),
(try_begin),
(eq, ":agent_party", "p_main_party"),
(agent_get_division, ":agent_division", ":agent_no"),
(try_begin),
(eq, ":agent_division", 0),
(overlay_set_color, ":agent_overlay", 0x8d5220),
(else_try),
(eq, ":agent_division", 1),
(overlay_set_color, ":agent_overlay", 0x34c6e4),
(else_try),
(eq, ":agent_division", 2),
(overlay_set_color, ":agent_overlay", 0x569619),
(else_try),
(eq, ":agent_division", 3),
(overlay_set_color, ":agent_overlay", 0xFFE500),
(else_try),
(eq, ":agent_division", 4),
(overlay_set_color, ":agent_overlay", 0x990099),
(else_try),
(eq, ":agent_division", 5),
(overlay_set_color, ":agent_overlay", 0x99FE80),
(else_try),
(eq, ":agent_division", 6),
(overlay_set_color, ":agent_overlay", 0x9DEFFE),
(else_try),
(eq, ":agent_division", 7),
(overlay_set_color, ":agent_overlay", 0xFECB9D),
(else_try),
(eq, ":agent_division", 8),
(overlay_set_color, ":agent_overlay", 0xB19C9C),
(try_end),
(else_try),
(agent_is_ally, ":agent_no"),
(overlay_set_color, ":agent_overlay", 0x5555FF),
(else_try),
(overlay_set_color, ":agent_overlay", 0xFF0000),
(try_end),
(try_end),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(agent_get_look_position, pos1, ":agent_no"),
(position_get_rotation_around_z, ":rot", pos1),
(init_position, pos10),
(position_rotate_z, pos10, ":rot"),
(overlay_set_mesh_rotation, ":agent_overlay", pos10),
(call_script, "script_RTS_convert_3d_pos_to_map_pos"),
(else_try),
(agent_get_position, pos1, ":agent_no"),
(call_script, "script_RTS_convert_3d_pos_to_map_pos"),
(try_end),
(overlay_set_position, ":agent_overlay", pos0),
]),