Rongar, ну ты бы смог, на английском форуме думаю тоже нашлись бы мастера модульной системы. Эх придётся самому возиться, спасибо за помощь, а что насчёт открывающихс дверей, неужели нельзя ?
И где тут ноль ставить :
"castle_attack_walls_ladder",mtf_battle_mode,-1,
"You attack the walls of the castle...",
[
(0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,12,[]),
(0,mtef_attackers|mtef_team_1,af_override_horse,aif_start_alarmed,0,[]),
(10,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,0,[]),
(11,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,7,[]),
(15,mtef_defenders|mtef_team_0,af_override_horse,aif_start_alarmed,0,[]),
(40,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(41,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(42,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(43,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(44,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(45,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
(46,mtef_defenders|mtef_team_0|mtef_archers_first,af_override_horse,aif_start_alarmed,1,[]),
],
[
common_battle_mission_start,
common_battle_tab_press,
common_siege_question_answered,
common_siege_init,
common_music_situation_update,
common_siege_ai_trigger_init,
common_siege_ai_trigger_init_2,
common_siege_ai_trigger_init_after_2_secs,
common_siege_defender_reinforcement_check,
common_siege_defender_reinforcement_archer_reposition,
common_siege_attacker_reinforcement_check,
common_siege_attacker_do_not_stall,
common_battle_check_friendly_kills,
common_battle_check_victory_condition,
common_battle_victory_display,
common_siege_refill_ammo,
common_siege_check_defeat_condition,
common_battle_order_panel,
common_battle_order_panel_tick,
common_inventory_not_available,
## (15, 0, 0,
## [
## (get_player_agent_no, ":player_agent"),
## (agent_get_team, ":agent_team", ":player_agent"),
## (neq, "$attacker_team", ":agent_team"),
## (assign, ":non_ranged", 0),
## (assign, ":ranged", 0),
## (assign, ":ranged_pos_x", 0),
## (assign, ":ranged_pos_y", 0),
## (set_fixed_point_multiplier, 100),
## (try_for_agents, ":agent_no"),
## (eq, ":non_ranged", 0),
## (agent_is_human, ":agent_no"),
## (agent_is_alive, ":agent_no"),
## (neg|agent_is_defender, ":agent_no"),
## (agent_get_class, ":agent_class", ":agent_no"),
## (try_begin),
## (neq, ":agent_class", grc_archers),
## (val_add, ":non_ranged", 1),
## (else_try),
## (val_add, ":ranged", 1),
## (agent_get_position, pos0, ":agent_no"),
## (position_get_x, ":pos_x", pos0),
## (position_get_y, ":pos_y", pos0),
## (val_add, ":ranged_pos_x", ":pos_x"),
## (val_add, ":ranged_pos_y", ":pos_y"),
## (try_end),
## (try_end),
## (try_begin),
## (eq, ":non_ranged", 0),
## (gt, ":ranged", 0),
## (val_div, ":ranged_pos_x", ":ranged"),
## (val_div, ":ranged_pos_y", ":ranged"),
## (entry_point_get_position, pos0, 10),
## (init_position, pos1),
## (position_set_x, pos1, ":ranged_pos_x"),
## (position_set_y, pos1, ":ranged_pos_y"),
## (position_get_z, ":pos_z", pos0),
## (position_set_z, pos1, ":pos_z"),
## (get_distance_between_positions, ":dist", pos0, pos1),
## (gt, ":dist", 1000), #average position of archers is more than 10 meters far from entry point 10
## (team_give_order, "$attacker_team", grc_archers, mordr_hold),
## (team_set_order_position, "$attacker_team", grc_archers, pos0),
## (else_try),
## (team_give_order, "$attacker_team", grc_everyone, mordr_charge),
## (try_end),
## ],
## []),