Сообщество Империал: Скрипты и скриптинг в Rome: Total War - Сообщество Империал

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

VIR Скрипты и скриптинг в Rome: Total War
Делимся опытом, let the profit
Тема создана: 14 Февраль 2007, 01:42 · Автор: VIRСообщений: 366 · Просмотров: 33 722

  • Скрипты и скриптинг в Rome: Total War Вконтакте!
  • Скрипты и скриптинг в Rome: Total War в Фейсбуке!
  • Скрипты и скриптинг в Rome: Total War в Google+!
Библиотека
VIR
  • Imperial
Imperial
3 669
Imperial
73
Imperial
48
Imperial
158
Imperial
10

Дата: 14 Февраль 2007, 01:42

Тут занялся я созданием скриптов для своего мода. Полазил на буржуйских форумах и обнаружил, что можно очень многое сделать с их помощью! Ё%
Я например разабрался(надеюсь) как добавлять с помощью скрипта в ходе игры деньги, армии, новые строения! Но я хочу сделать привязку этих событий к выполнению определенных условий, а не просто с наступлением даты.
Возможно найдутся знающие люди и мы разберемся как это сделать все сообща!? Imperial


Информация от камрада HouseOfHam

Спойлер (скрытая информация)


    Савромат
    • Imperial
    Imperial
    22 648
    Imperial
    364
    Imperial
    3 764
    Imperial
    26 625
    Imperial
    58

    Дата: 01 Январь 2010, 18:12

    HouseOfHam
    Такой вопрос.
    В скрипте по возникновению армий (напр. Ксантиппа в Европе Барбарорум) есть такая строчка:
    if I_CharacterTypeNearTile slave diplomat, 0 68,11
    При этом сама армия возникает в другой точке, довольно далекой от указанной.

    Смысл команды по документации - "Есть ли в указанной точке персонаж (в данном случае дипломат повстанцев)?

    Но вот как эту точку задать? Чем она определяется - при чем тут позиция в глубине Сахары (68, 11) и возникновение армии недалеко от Карфагена? А если мне надо в Испании армию создать - что мне писать в этой строчке?

    И вообще какой в этом смысл?
      AriX
      • Imperial
      Imperial
      1 008
      Imperial
      23
      Imperial
      40
      Imperial
      501
      Imperial
      0

      Дата: 03 Январь 2010, 01:46

      HouseOfHam (22 Дек 2009, 00:16):

      Единственное что приходит в голову, это создать скриптом во всех поселениях здание (на основании каких-то определённых событий/условий) присутствие/отсуствие которого является условием найма.

      Ну,хорошо,тогда давайте привяжем скрипт не к реформе Мария,а к,например,строительству 5 Имперских дворцов и 3 Литейных.Поможите? Imperial
        Савромат
        • Imperial
        Imperial
        22 648
        Imperial
        364
        Imperial
        3 764
        Imperial
        26 625
        Imperial
        58

        Дата: 03 Январь 2010, 09:40

        HouseOfHam
        Разверну вопрос на примере чтобы мне понятнее было (я же не программер а простой любопытный пользователь)

        В скрипте Европы Барбарорум поднимающем армию Нараваса ниписано:
        ;--------------------------------------------------
        ;Section 8q: Naravas
        ;--------------------------------------------------
        declare_counter NaravasBasicConditions
        declare_counter SpawnNaravas

        Я правильно понимаю что этим задается проверка на базовые условия появления Нараваса и на то не появился ли он раньше - чтобы исключить повторное и далее вновь и вновь возникновение его армии?

        дальше прописываются условия (владение определенными городами)
        monitor_event FactionTurnStart FactionType egypt
        and FactionIsLocal
        and I_TurnNumber > 107

        set_counter NaravasBasicConditions 0

        if I_TurnNumber < 192
        if I_SettlementOwner Adrumeto = egypt
        set_counter NaravasBasicConditions 1
        end_if
        и т.д.

        А затем - проверка не возник ли он ранее. И вот тут появляется этот самый ребельский дипломат в глубине Сахары..
        ; Has Naravas has already been spawned?
        ;
        if I_CharacterTypeNearTile slave diplomat, 1 95,4
        set_counter NaravasBasicConditions 0
        terminate_monitor
        end_if
        end_if

        if I_TurnNumber > 191
        terminate_monitor
        end_if

        end_monitor

        При чем тут slave diplomat, 1 95,4 - в радиусе 1 координаты от точки на самом нижнем краю карты куда емнип даже и попасть нельзя?
        И если мы пишем событие для другой армии - то как нам эту точку задать праивльно - любую свободную в Сахаре у края карты что ли?

        Далее.
        Вот идет скрипт подъема армии и в нем - строчка
        monitor_event FactionTurnStart FactionType egypt
        and FactionIsLocal
        and I_CompareCounter SpawnNaravas = 1

        set_counter SpawnNaravas 0

        spawn_army

        Это типа "армия появилась и мы сбрасываем условия ее появления в 0 чтобы она снова не появилась"?

        И вот это что значит:

        advance_advice_thread Naravas_Thread

        spawn_character slave Abraham, diplomat, command 0, influence 0, management 0, subterfuge 0, age 38, , x 95, y 4

        move Naravas, 73, 98

        end_monitor

        ; Reset basic conditions counter
        ;
        monitor_event FactionTurnStart FactionType egypt
        and FactionIsLocal
        and I_CompareCounter NaravasBasicConditions = 1

        set_counter NaravasBasicConditions 0

        if I_TurnNumber > 191
        terminate_monitor
        end_if

        end_monitor

        - зачем тут снова дипломат ребельный по имени Абрахам в Сахаре и зачем двигать Нараваса?

        И - Reset basic conditions counter - зачем если уже сбросили все на 0?

        Сорри если я спрашиваю очевидные вещи но понять хочется...
          Julius
          • Imperial
          Imperial
          2 650
          Imperial
          10
          Imperial
          194
          Imperial
          2 501
          Imperial
          0

          Дата: 03 Январь 2010, 10:35

          Chernish 3 Янв 2010 (09:40):

          При чем тут slave diplomat, 1 95,4 - в радиусе 1 координаты от точки на самом нижнем краю карты куда емнип даже и попасть нельзя?
          дипломат тут имеет функцию постоянной переменной, если можно так сказать (ведь как известно в РТВ, переменные теряют свои значения после перезагрузки игры). Если по простому, то логика следующая - раз дипломат уже есть в заданных координатах, значит Наравас уже был создан, и значит повторно его вызывать не надо. (ведь если его убьют, то по другому это условие никак не проверить, т.к. обычная переменная может потеряться при перезагрузке). Для этого создатели и решили воспользоваться дипломатом Imperial По идее на его месте мог быть любой юнит, которого можно вызвать через консоль..
          Итак, если дипломат уже есть в нужных координатах, то базовое условие обнуляется и мониторинг этого события завершается:
          Спойлер (скрытая информация)


          Chernish 3 Янв 2010 (09:40):

          И если мы пишем событие для другой армии - то как нам эту точку задать праивльно - любую свободную в Сахаре у края карты что ли?
          Нет, пишем как раз необходимые координаты..
          в случае армии Нараваса, это:
          Спойлер (скрытая информация)

          Но чтобы не изобретать заново велосипед, рекомендую воспользоваться также и "методом дипломата", что и разрабы ЕВ (дабы избежать повторного спауна армии)..

          Chernish 3 Янв 2010 (09:40):

          Это типа "армия появилась и мы сбрасываем условия ее появления в 0 чтобы она снова не появилась"?
          Да.

          Chernish 3 Янв 2010 (09:40):

          И вот это что значит:
          advance_advice_thread Naravas_Thread - скорее всего просто сообщение о том, что вот появилась армия, бла бла..
          move Naravas, 73, 98 - вот и мне не совсем понятно почему его сначала создают в одном месте (72, 98), а потом двигают на соседнюю клетку.. там случайно не находится ни один город? Imperial

          Chernish 3 Янв 2010 (09:40):

          - зачем тут снова дипломат ребельный по имени Абрахам в Сахаре и зачем двигать Нараваса?
          не снова) он создаётся одновременно с армией, только на недоступных игроку координатах.. А выше в скрипте лишь проверялось - есть ли он уже там, или нет.

          Chernish 3 Янв 2010 (09:40):

          И - Reset basic conditions counter - зачем если уже сбросили все на 0?
          Вот тоже не знаю, но думаю причины на это у них были.. может перестраховались? Imperial
            Савромат
            • Imperial
            Imperial
            22 648
            Imperial
            364
            Imperial
            3 764
            Imperial
            26 625
            Imperial
            58

            Дата: 03 Январь 2010, 11:17

            Julius2

            Julius2 3 Янв 2010 (10:35):

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

            О! Вот что значит разъяснение знающего человека :-). Спасибо! Теперь понятно..

            Julius2 3 Янв 2010 (10:35):

            Нет, пишем как раз необходимые координаты..
            в случае армии Нараваса, это:

            Это координаты появления армии Нараваса, а я спрашиваю про координаты точки в которой появляется дипломат-переменная. Они могут быть любые в недоступном регионе юга Сахары у края карты? Где физически можно поставить юнит?

            Julius2 3 Янв 2010 (10:35):

            advance_advice_thread Naravas_Thread - скорее всего просто сообщение о том, что вот появилась армия, бла бла..

            То есть если его не напишем то ничего страшного не будет...

            Julius2 3 Янв 2010 (10:35):

            вот и мне не совсем понятно почему его сначала создают в одном месте (72, 98), а потом двигают на соседнюю клетку.. там случайно не находится ни один город?

            Проверю.. Насколько я знаю армию можно поднять только вне города...

            Julius2 3 Янв 2010 (10:35):

            не снова) он создаётся одновременно с армией, только на недоступных игроку координатах.. А выше в скрипте лишь проверялось - есть ли он уже там, или нет.


            Угу. Теперь понятно.

            Julius2 3 Янв 2010 (10:35):

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

            ОК, как рабочая версия подойдет, прописать эти строки для перестраховки нетрудно...

            Вообще спасибо - многое стало понятнее.
            В принципе скрипты пишутся по документации которые Грас Дюк выложил еще в 2005 г. Но некоторые вещи (особенно последовательность команд и их смысл) бывают новому человеку непонятны.
              Julius
              • Imperial
              Imperial
              2 650
              Imperial
              10
              Imperial
              194
              Imperial
              2 501
              Imperial
              0

              Дата: 03 Январь 2010, 11:25

              Chernish 3 Янв 2010 (11:17):

              То есть если его не напишем то ничего страшного не будет...
              думаю не будет)
              можете проверить, кстати, в файле export_descr_advice.txt, что это за трид - Naravas_Thread ..
              просто я на работе и этот файл мне недоступен Imperial
                Савромат
                • Imperial
                Imperial
                22 648
                Imperial
                364
                Imperial
                3 764
                Imperial
                26 625
                Imperial
                58

                Дата: 03 Январь 2010, 11:39

                Julius2 3 Янв 2010 (11:25):

                я на работе

                Сочувствую..

                AdviceThread Naravas_Thread
                GameArea Campaign

                Item Naravas_Text_01
                Uninhibitable
                Verbosity 0
                Threshold 1
                MaxRepeats 0
                RepeatInterval 1
                Attitude Normal
                Presentation Default
                Title Naravas_Text_01_Title
                Text Naravas_Text_01_Text1


                Текст - {Naravas_Text_01_Title}Our Massylian allies have sent us aid! - Наши нумидийские союзники пришли нам на помощь!
                и т.д.

                В принципе полезная вещь. Если поднимать армию Гамилькара в Иберии то сообщение об этом весьма полезно в игровом плане (а то игрок может и не заметить сразу) + краткая историческая справка кто, зачем и почем...



                А что такое Uninhibitable ?

                72,98 - это точка на границе Карфагена и ребельской Нумидии, на ней расположен значок "слоновая кость", перемещается Наравас на соседнюю клетку, до ближайшего города - Утики - довольно далеко.
                зачем его передвигать то? Чтобы он двигаться мог? Где-то я читал что поднимаемые армии неподвижны иногда.. Imperial
                  Julius
                  • Imperial
                  Imperial
                  2 650
                  Imperial
                  10
                  Imperial
                  194
                  Imperial
                  2 501
                  Imperial
                  0

                  Дата: 03 Январь 2010, 12:00

                  Chernish 3 Янв 2010 (11:39):

                  Текст - {Naravas_Text_01_Title}Our Massylian allies have sent us aid! - Наши нумидийские союзники пришли нам на помощь!
                  и т.д.
                  угу, как я и говорил)

                  Chernish 3 Янв 2010 (11:39):

                  А что такое Uninhibitable ?
                  не знаю.. помню сам сталкивался.. а документация что говорит, по этому поводу? Imperial

                  Chernish 3 Янв 2010 (11:39):

                  зачем его передвигать то? Чтобы он двигаться мог? Где-то я читал что поднимаемые армии неподвижны иногда..
                  хмм, любопытно) вот оно как Imperial тогда лучше вам поступить также со своей армией, мало ли что)
                    HouseOfHam
                    • Imperial
                    Imperial
                    259
                    Imperial
                    2
                    Imperial
                    27
                    Imperial
                    69
                    Imperial
                    1

                    Дата: 07 Январь 2010, 02:19

                    Дипломата кидают в такое место из которого он физически не может уйти (если только не помрёт), иначе проверка на его наличие в этом месте потеряла бы смысл.
                      Савромат
                      • Imperial
                      Imperial
                      22 648
                      Imperial
                      364
                      Imperial
                      3 764
                      Imperial
                      26 625
                      Imperial
                      58

                      Дата: 07 Январь 2010, 07:42

                      HouseOfHam
                      Ага :-). Его можно поместить в недоступную зону (юг Сахары) на такое место где нельзя двигаться.
                      А после его смерти уже должно действовать ограничение на событие по ходам...

                      Вот только много ли там таких мест? Imperial Может его на какой малый островок загнать? Вроде Аи не посылает к таким дипломатам на остров убийц..
                        • Скрипты и скриптинг в Rome: Total War Вконтакте!
                        • Скрипты и скриптинг в Rome: Total War Фейсбуке!
                        • Скрипты и скриптинг в Rome: Total War Google+!
                        Лента Новостей

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

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

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


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

                        Стиль
                           23 Окт 2017, 13:05
                        © 2017 «Империал». Условия предоставления. Ответственность сторон. Декларация о Сотрудничестве. Лицензия зарегистрирована на: «Империал». Счётчики