Сообщество Империал: Гарнизонный скрипт Medieval 2: Total War - Сообщество Империал

yonan

Гарнизонный скрипт Medieval 2: Total War

Скрипт генерирующий юниты в случаи осады города
Тема создана: 24 апреля 2012, 17:32 · Автор: yonan
  • 8 Страниц
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Последняя »
 2 
 OPASEH
  • Imperial
Imperial
Ветеран модинга

Дата: 27 апреля 2012, 06:08

Гарнизонный скрипт


declare_counter g2
declare_counter f2

;;;;;;;;;;;;;;;;;;Эти счетчки нужны,чтобы скрипт работал только когда человек напал на АИ.В вашем случае скрипт будет работать даже если АИ напал на город человека.
monitor_event SettlementTurnStart not SettlementIsLocal
and SettlementName Rheims
set_counter g2 0
end_monitor

monitor_event SettlementTurnStart SettlementIsLocal
and SettlementName Rheims
set_counter g2 1
end_monitor
;===================================ONLY PLAYER VS AI(Это Чтобы скрипт не работал АИ ПРОТИВ АИ,АИ не знает что в городе есть гарнизонный скрипт и поэтому подводить к нему мало войск и отгребает============================
declare_counter Grrson
set_counter Grrson 0
declare_counter Facstart
set_counter Facstart 1

monitor_event FactionTurnStart FactionIsLocal
set_counter Facstart 1
end_monitor

monitor_event FactionTurnEnd FactionIsLocal
set_counter Facstart 0
end_monitor
;;;;;;;;;;;;;Сам скрипт
monitor_conditions not I_SettlementUnderSiege Rheims
and I_CompareCounter f2 = 1
set_counter f2 0
end_monitor
monitor_conditions I_SettlementUnderSiege Rheims
and I_CompareCounter f2 = 0
and I_CompareCounter g2 = 0
set_counter Grrson 0
if I_CompareCounter Facstart = 1
set_counter Grrson 1
end_if
if I_CompareCounter Grrson = 1
create_unit Rheims, Mercenary Spearmen, num 1, exp 3, arm 1, wep 1
create_unit Rheims, Mercenary Spearmen, num 1, exp 3, arm 1, wep 1
create_unit Rheims, Breton Light Cavalry, num 1, exp 3, arm 1, wep 1
create_unit Rheims, Breton Light Cavalry, num 1, exp 3, arm 1, wep 1
create_unit Rheims, Mercenary Frankish Knights, num 1, exp 3, arm 1, wep 1
create_unit Rheims, Mercenary Pavise Crossbowmen, num 1, exp 3, arm 1, wep 1
end_if
set_counter f2 1
end_monitor


В данном случае используються только наемники(приоритет найма наемников у АИ убран в EDU),т.к они прописаны всем,то и удалять их будет проше.(Однако лучше создать для этого спец юнитов)
Удаление:

declare_counter Clear_Units

monitor_event PreFactionTurnStart FactionIsLocal
set_counter Clear_Units 1
end_monitor

monitor_event FactionTurnEnd FactionIsLocal
set_counter Clear_Units 2
end_monitor

monitor_conditions not I_FactionBesieged france(У франции нет город в осаде)
and I_IsFactionAIControlled france
and I_CompareCounter Clear_Units = 1
destroy_units france Mercenary Spearmen
destroy_units france Breton Light Cavalry
destroy_units france Mercenary Frankish Knights
destroy_units france Mercenary Pavise Crossbowmen
destroy_units france Macemen
destroy_units france Prussian Spearmen
end_monitor


Т.е скрипт работает всегда,независимо кому принадлежит город и после осады,воины в гарнизоне исчезнут
     OPASEH
    • Imperial
    Imperial
    Ветеран модинга

    Дата: 27 апреля 2012, 08:58

    Я уже задавался этим вопросом,и проверял - результат ничего не вылетело.
    Темболее движок вам не позволит сделать как-то по другому удаление гарнизоных юнитов(это еще не в одном моде нету),юнитов в страт режиме леблить нельзя,поэтому только общей командой.
       Dart Kovu Nazgul
      • Imperial
      Imperial
      Гранд-мофф

      Дата: 27 апреля 2012, 09:35

      BULAT STEEL
      Но выходит что если осадить два города фракции france, и в одном из них выиграть, команда расформирует гарнизоны во всех городах, соответственно в тот же ход можно будет захватить другие ослабленные города.
         OPASEH
        • Imperial
        Imperial
        Ветеран модинга

        Дата: 27 апреля 2012, 10:12

        Нет вы меня поняли,я все продумал и этот момент тоже.
        Команда not I_FactionBesieged france - означает,что у Франции нет не одного города в осаде.
        Т.е представим ситуацию:
        1)Я взял в осаду два города Франции
        2)В одном городе я проиграл осаду или выйграл или снял с города осаду сам(не важно),то просто в обоих городах юниты не удаляться.Скрипт будет ждать(кондитион означает что цикл может выполняться бесконечно) пока у фракции france не будет не одного города в осаде и тогда он только удалит юнитов из гарнизона.

        К сожалению команд типо удалить в N городе N юнит в движке нет.
           Dart Kovu Nazgul
          • Imperial
          Imperial
          Гранд-мофф

          Дата: 27 апреля 2012, 19:33

          BULAT STEEL

          2)В одном городе я проиграл осаду или выйграл или снял с города осаду сам(не важно),то просто в обоих городах юниты не удаляться.

          но тогда второй вариант, гарнизонные юниты из первого города будут жить до снятия осады со второго, значит их можно будет использовать уже как регулярные но до момента исчезновения всех осад или и это предусмотрели ??
             OPASEH
            • Imperial
            Imperial
            Ветеран модинга

            Дата: 28 апреля 2012, 07:06

            Да,но это лушче чем ничего.К тому же случаеться это редко
               Gwrtheyrn Gwrthneu
              • Imperial
              Imperial
              Форумчанин

              Дата: 19 марта 2013, 20:38

              OPASEH а вот интересно если осада с города снята но гарнизон не распущен. И уже другая армия начинает осаждать тот же город то скрипт получается сработает вновь и в добавок к старому подойдет новый гарнизон?
              Если да тогда попытаюсь это ограничить. Чтоб гарнизон мог вновь собираться только через несколько ходов после начала осады.
                 Avtocrator
                • Imperial
                Imperial
                Gorthaur2488

                Дата: 28 апреля 2013, 18:58

                OPASEH

                Камрад, а не пробовали в скрипте удалять юниты командой inc_recruit_pool? В ней как я понял не сам отряд удаляется, а можно уменьшить количество юнитов в отряде(поставив отрицательное число). Вот только не знаю можно ли ей уменьшить количество воинов в отряде до нуля и удалится ли он.
                   _Feanor_
                  • Imperial
                  Imperial
                  Форумчанин

                  Дата: 28 апреля 2013, 19:12

                  Насколько я знаю inc_recruit_pool уменьшает/увеличивает число юнитов, доступных для найма. Он их не убирает из гарнизона(хотя я не пробовал). Если в городе нет постройки, рекрутирующей юнита "1" и мы пишем inc_recruit_pool "1", то будет вылет(у меня так).
                     Avtocrator
                    • Imperial
                    Imperial
                    Gorthaur2488

                    Дата: 28 апреля 2013, 19:19

                    _Feanor_
                    Наверное я перевел неправильно. А свести к нулю количество нанимаемых юнитов возможно?
                       _Feanor_
                      • Imperial
                      Imperial
                      Форумчанин

                      Дата: 28 апреля 2013, 19:23

                      Именно в городе? Скорее всего да. Вот про наемников не знаю - вряд ли. Но опять же, такая команда требует массу доп. условий, чтобы скрипт работал адекватно.
                        • 8 Страниц
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • Последняя »
                         Похожие Темы
                        TОбсуждение Total War: Pharaoh
                        Очередная часть серии игр Total War
                        Автор J Jackel
                        Обновление 4 мин. назад
                        ЭRetrofit Mod v 1.00 - Hotseat Medieval 2 Total War
                        Давным-давно в далекой-предалекой галактике шли... Тотальные воины
                        Автор А Алексей_Гетьма...
                        Обновление Сегодня, 00:27
                        ЗЮг-Западный Угол Европы (хот-сит по ваниле Rome: Total War)
                        хот-сит кампания по Rome: Total War, ванила, онлайн бои между игроками
                        Автор J Jekas
                        Обновление Вчера, 22:34
                        Воспользуйтесь одной из соц-сетей для входа
                        РегистрацияВход на форум 
                        «Империал» · Условия · Ответственность · Визитка · 29 мар 2024, 02:46 · Зеркала: Org, Site, Online · Эльдорадо казино · Gold казино · Счётчики