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

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Гарнизонный скрипт
Скрипт генерирующий юниты в случаи осады города
Тема создана: 24 Апрель 2012, 17:32Сообщений: 45 · Просмотров: 4 032

  • 5 Страниц
  • 1
  • 2
  • 3
  • 4
  • 5

Недавно добавленные Статьи

Zombie Star Wars Mod

Count Bagatur RF

Гунны в Total War: Attila

Последний Эллин

Обзор Total War: Warhammer

Последний Эллин

Записки легионера.

Ιουστινιανός

OPASEH ответил:

    6 135

    5

    0

    513

    3 285
  • Статус:Ветеран модинга

Дата: 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


Т.е скрипт работает всегда,независимо кому принадлежит город и после осады,воины в гарнизоне исчезнут
    • 5 Страниц
    • 1
    • 2
    • 3
    • 4
    • 5

    OPASEH ответил:

      6 135

      5

      0

      513

      3 285
    • Статус:Ветеран модинга

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

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

      Dart Kovu Nazgul ответил:

        20 457

        890

        39

        2 203

        33 600
      • Статус:Гранд-мофф

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

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

        OPASEH ответил:

          6 135

          5

          0

          513

          3 285
        • Статус:Ветеран модинга

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

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

        К сожалению команд типо удалить в N городе N юнит в движке нет.

          Dart Kovu Nazgul ответил:

            20 457

            890

            39

            2 203

            33 600
          • Статус:Гранд-мофф

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

          Для просмотра ссылки ЗарегистрируйесьBULAT STEEL

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

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

            OPASEH ответил:

              6 135

              5

              0

              513

              3 285
            • Статус:Ветеран модинга

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

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

              Gwrtheyrn Gwrthneu ответил:

                221

                0

                0

                12

                88
              • Статус:Легионер

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

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

                Avtocrator ответил:

                  2 720

                  54

                  14

                  522

                  1 904
                • Статус:Gorthaur2488

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

                OPASEH

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

                  _Feanor_ ответил:

                    68

                    0

                    0

                    5

                    23
                  • Статус:Рекрут

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

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

                    Avtocrator ответил:

                      2 720

                      54

                      14

                      522

                      1 904
                    • Статус:Gorthaur2488

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

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

                      _Feanor_ ответил:

                        68

                        0

                        0

                        5

                        23
                      • Статус:Рекрут

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

                      Именно в городе? Скорее всего да. Вот про наемников не знаю - вряд ли. Но опять же, такая команда требует массу доп. условий, чтобы скрипт работал адекватно.
                        • 5 Страниц
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5

                        Лента Новостей

                        Введите ваши имя форумчанина и пароль:

                        Введите Ваше имя  
                        [Регистрация нового аккаунта]
                        Введите Ваш пароль 
                        [Восстановить пароль]

                        Не стесняйся, общайся -


                        Воспользуйтесь одной из социальных сетей для входа на форум:


                        Внимание: Реклама отключена для зарегистрированных посетителей

                          Стиль:
                            19 Фев 2017, 14:51
                        © 2017 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики