Community Imperial: Использвание команды engage_armies - Сообщество Империал




bitterhowl

Использвание команды engage_armies

Описание метода от jurcek1987
Theme created: 07 February 2024, 04:10 · Author: bitterhowl
Views:
 1 142

 bitterhowl
  • Imp
Imperial
 

Date: 07 February 2024, 04:10

Сведения получены от автора скриптов мода Tzardoms jurcek1987.

Использование оператора engage_armies в кампании приводит к невозможности загружать сохранения. Автор метода подметил, что в моде Insularis Draco этой проблемы нет, и перенес методику в Tzardoms, а также поделился принципом, за что ему огромное спасибо.

Суть в том, что если атакующий генерал ИИ после битвы остается жив, то сохранения ломаются. Его нужно либо убить через скрипт, либо выслать с карты. Вот его пример кода Битвы на Косовом поле.

;;=====================================================================;;
;;;;;;;;;;;;;;;;;;;;;;;;;; BATTLE OF KOSOVO ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;=====================================================================;;

; Hungary
monitor_event PreFactionTurnStart FactionIsLocal
    if I_IsFactionAIControlled hungary
        terminate_monitor
    end_if


            console_command move_character Murad_II1 192, 173
            console_command move_character Janos_Hunyadi1 191, 174


        historic_event BATTLE_OF_KOSOVO factions { hungary, }


        hide_ui
        disable_movie_view
        move_strat_camera 191, 184
        zoom_strat_camera 0
        end_if
    terminate_monitor
end_monitor


monitor_event MessageClosed
    if I_IsFactionAIControlled hungary
        terminate_monitor
    end_if
            engage_armies Murad_II1, Janos_Hunyadi1
terminate_monitor
end_monitor


monitor_event PostBattle TrueCondition
    if I_IsFactionAIControlled hungary
        terminate_monitor
    end_if
    show_ui
        if I_CharacterExists Murad_II1
            reposition_character Murad_II1, 186, 144
            send_character_off_map Murad_II1
            campaign_wait 0.1
            spawn_army
                faction ottoman
                character    Murad Osmanoglu, named character, age 42, x 219, y 139, label Murad_II2
                unit        Silahdar Corps        exp 3 armour 0 weapon_lvl 0
            end
        end_if
terminate_monitor
end_monitor


; Ottomans
monitor_event PreFactionTurnStart FactionIsLocal
    if I_IsFactionAIControlled ottoman
        terminate_monitor
    end_if


            console_command move_character Murad_II1 192, 173
            console_command move_character Janos_Hunyadi1 191, 174


        historic_event BATTLE_OF_KOSOVO factions { ottoman, }


        hide_ui
        disable_movie_view
        move_strat_camera 192, 181
        zoom_strat_camera 0
    terminate_monitor
end_monitor


monitor_event MessageClosed
    if I_IsFactionAIControlled ottoman
        terminate_monitor
    end_if
    if I_EventCounter BATTLE_OF_KOSOVO > 0
            engage_armies Janos_Hunyadi1, Murad_II1
    terminate_monitor
    end_if
end_monitor


monitor_event PostBattle TrueCondition
    if I_IsFactionAIControlled ottoman
        terminate_monitor
    end_if
    show_ui
        if I_CharacterExists Janos_Hunyadi1
            reposition_character Janos_Hunyadi1, 180, 209
            kill_character DET_NATURAL Janos_Hunyadi1
        end_if
            campaign_wait 0.1
            spawn_army
                faction hungary
                character    Janos Hunyadi, named character, age 42, x 180, y 209, label Janos_Hunyadi2, portrait Janos_Hunyadi
                traits         Biography_Janos_Hunyadi 1, LoyaltyStarter 1, ReligionStarter 1, Ethnic_Transilvanian_Vlach 1, Royal_Founder 1, MilitaryInclination 1, NaturalMilitarySkill 3, Military_Edu 4, GoodCommander 3, VictorVirtue 1, GoodRiskyAttacker 1, Hardened 1, TacticalSkill 2, InspiringSpeaker 2, Brave 3, Energetic 2, CrusaderHistory 2, MilitaryInclination 1, StrategyChivalry 1, Loyal 3, Just 2, GoodAdministrator 2, HatesOttoman 2, AdoredByPope 1, House_Hungary_1_Hunyadi_t 1, EthnoDetermined 1
                unit        Late Royal Banderium        exp 4 armour 0 weapon_lvl 0
            end
                console_command give_ancillary Janos_Hunyadi2 House_Hungary_1_Hunyadi
                console_command give_ancillary Janos_Hunyadi2 regent_of_hungary
                console_command give_ancillary Janos_Hunyadi2 marshall_hungary
                console_command give_ancillary Janos_Hunyadi2 marcin_krol
                console_command give_ancillary Janos_Hunyadi2 trusty_steed


    end_if
terminate_monitor
end_monitor

Здесь, правда, есть нестыковка - персонажа османов просто высылают с карты и возвращают обратно (но почему-то координаты reposition_character и последующего spawn_character не совпадают), тогда как персонажа венгров вдобавок убивают, но затем помещают скриптом в те же координаты, что указаны в reposition_character.

Я в своем моде не дошел еще до этой части, не могу сказать является ли это опечаткой или показаны два варианта решения вопроса. Но в любом случае, обратите внимание, что при возвращении генерала на карту его лейбл меняется и у турок и у венгров. Также непонятно что будет с семейным древом в данном случае (я просто не уточнил в свое время в переписке).

Так что внедряйте и дополняйте тему, пожалуйста. Это хороший способ разнообразить игру скриптами.
     Delabras
    • Imp
    Imperial
     

    Date: 08 February 2024, 19:13

    приветствую, есть интересная команда, которой в теории можно задать историческую битву:

    spawn_battle custom/Battle_of_Cannae

    лично так и не проверил, поскольку историческую битву создать не получилось через редактор, вылетает...
    можете проверить авось работает...
       DinarMayor
      • Imp
      Imperial
       

      Date: 07 September 2024, 18:05

      Приветствую! :046:

      Quote

      spawn_battle custom/Battle_of_Cannae

      Эта команда в меди2 сломана. Ее можно заставить работать только со стартовыми персонажами. Вот To view the link Register
      Это команда еще с Рима1 осталась, но уже не работает как надо в меди2. Увы. Но если это нужно для стартовых персонажей, то сработает, частично.
        Translate a Page
        Conditions · Responsibility · Confid. · About · 03 Jul 2026, 00:43 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite