Сообщество Империал: Скрипты мода DenMod - Сообщество Империал

DinarMayor

Скрипты мода DenMod

Описания всех скриптов и их обсуждение.
Тема создана: 03 октября 2022, 21:27 · Автор: DinarMayor
  • 16 Страниц
  • 1
  • 2
  • 3
  • 4
  • Последняя »
 1 
 DinarMayor
  • Imperial
Imperial
Форумчанин

Дата: 26 ноября 2022, 16:36




Скрипты мода DenMod



Imp



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



Описание скриптов (Reveal)



Номер карты для тех, кто хочет отблагодарить разработчика:
СберБанк: 2202 2063 6114 3568



     DinarMayor
    • Imperial
    Imperial
    Форумчанин

    Дата: 03 октября 2022, 21:27

    Скрипт сдачи осажденного поселения


    Код (Reveal)

    Нужно еще для ИИ сделать. Хотелось бы конечно сделать, чтоб можно было выводить войска из осажденного города через бой, через тактику, но так не получилось пока.
       DinarMayor
      • Imperial
      Imperial
      Форумчанин

      Дата: 09 октября 2022, 07:33

      DinarMayor

      Скрипт сдачи осажденного поселения

      Доделал скрипт для ИИ + добавил бонусы к стенам поселений.



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

      export_descr_buildings.txt (Reveal)

      Сам скрипт - это одни счетчики и два условия, но фрагмент выложу.
      battle_EDB.lua (Reveal)

      Imp



      Скрипт сдачи поселения(и для игрока и для ИИ(для ИИ два варианта))
      Осаждающие должны как минимум в 1,5 раза быть сильнее, иначе скрипт не сработает(так задумано).
      surrend_settlement.lua (Reveal)


      В первом варианте сдачи города ИИ игроку можно даже не иметь осадной техники, но за каждую попытку "договориться" будет сниматься рандомное количество денег с казны. Гарнизон города выживает.
      Во втором варианте нужно пытать через "ложный штурм", но за это можно получить негативные трейты. Гарнизон не выживает - условно, сдается в плен.



      !!!ps Почему я сюда выкладываю скрипты? Просто были заинтересованные в луа скриптах люди, а примеры очень помогают разобраться побыстрее. :008:

         DinarMayor
        • Imperial
        Imperial
        Форумчанин

        Дата: 11 октября 2022, 08:18

        DinarMayor

        Корабли теперь можно брать на абордаж

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



        В скрипте пиратства задействованы только корабли "Наемный пиратский когг" и "Наемная пиратская галера". Только с ними можно получить трейт первого уровня, а второго уровня можно получить за победу над вражескими адмиралами и за блокады портов. Как только трюмы будут заполнены(второй уровень трейта), нужно будет плыть в любую точку, встретится там со своим купцом на берегу и покликать по флоту - совершим сделку(передадим трейт) и получим деньги от 1000 до 5000 золотых.



        Оба скрипта(файл naval_scripts.lua - название файла может кому пригодится в будущем)) (Reveal)
           DinarMayor
          • Imperial
          Imperial
          Форумчанин

          Дата: 16 октября 2022, 19:24

          Добавил небольшой скрипт пополнения армии в фортах.

          -теперь все войска в фортах автоматически пополняются(от 1 до 5 человек)
          -за это снимается небольшая плата: (от 1 до 10 монет)*(от 1 до 5 человек)=рандом)
          -войска пополняются во всех фортах, в независимости в своих землях или нет
          -в фортах можно бесплатно содержать до 5 юнитов
          -в связи со всем, что выше, поднял стоимость строительства фортов на 15000
          -пустые форты теперь разрушаются(но у ИИ они всегда непустые, кроме тех случаев, когда фракция погибла, но этот момент я подкручу, может быть)

          Spoiler (expand)



          Также подкорректировал скрипт автовойны - теперь Папа не так сильно беспределит) Т.е. получалось, что все соседи Папской области были вынуждены воевать с Папой. Теперь война не объявляется если:
          -католики перешли границу Папской области
          -Папские войска перешли границу католиков

          Посмотрим, что выйдет)
             DinarMayor
            • Imperial
            Imperial
            Форумчанин

            Дата: 17 октября 2022, 16:31

            Запилил небольшой скрипт, который будет проверять армию защитника на юниты "CE Wagon Fort", "Gulay Gorod" и "Hussites", и если они есть в составе его армии, то будет заменятся пользовательская плитка под его ногами. Скорее для красоты, но все же разнообразие хоть)

            Код (Reveal)

               DinarMayor
              • Imperial
              Imperial
              Форумчанин

              Дата: 19 октября 2022, 16:41

              В программу M2TWEOP завезли много чего интересного. Одно из них - структура портов.
              Теперь роспуск флота в порту и роспуск армии на корабле в порту возвращает население городу, которому пренадлежит этот самый порт.

              Фрагмент кода (Reveal)

              Лог выдает вот такие данные(log_always - это для меня и для отслеживания вылетов и багов)
              DenMod.lua.game.script.txt (Reveal)


              Следующие, что хочу сделать с портами - это пополнение флота в портах(примерно так же, как и с армиями).
                 DinarMayor
                • Imperial
                Imperial
                Форумчанин

                Дата: 11 ноября 2022, 11:22

                Написал скрипт, при помощи которого можно будет унаследовать фракцию через династический брак.
                Как работает:
                -ведется журнал(таблица в луа) со списком детей королевских особ:
                     -на старте кампании все несовершеннолетние сыновья заносятся в таблицу
                     -при рождение новых детей проверяется их пол и трейт отца на королевскую кровь(династию) и тоже заносятся в таблицу
                     -при совершеннолетие соответствующие дети вычеркиваются из таблицы
                -сам скрипт активизируется на момент смерти правителя фракции:
                     -если новый правитель не королевской крови
                     -если у фракции кончились члены семьи королевской крови(трейт "Французская кровь", Английская и т.д. - та династия, что со старта правители), то
                     -проверяется таблица с детьми у этой фракции и если там их нет, то
                     -проверяется есть ли выданная замуж принцесса(королевских кровей, разумеется :0142: ) и за какую фракцию и если такая есть, то
                     -это фракция полностью становится частью той, где принцесса. Мужу этой принцессы, скорее всего, сделаю анчи "правитель Франции" и т.п.
                -ИИ так же может унаследовать фракцию ИИ, но не игрока. Игрок может унаследовать все фракции, кроме мятежников, Папу, ацтеков, моголов и тимуридов.

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

                faction_legacy.lua (Reveal)

                give_everything_to_faction.txt(аккуратнее - много текста)) (Reveal)



                Еще один скрипт, автоматически меняющий наследника на кровного(трейт "Французская кровь", Английская и т.д. - та династия, что со старта правители), т.е. теперь, если комп будет назначать наследником приемыша, то скрипт быстро вернет наследную корону кому надо :0142: Работает для всех фракций.
                Spoiler (expand)



                Еще скрипт "Автоматического пополнения флота в портах" (вроде еще не писал)
                Автоматически будет пополнятся по несколько человек или ни одного - рандом :)
                Spoiler (expand)



                Вроде еще что-то мелкое было, но не помню уже) Пока, думаю скриптами все. Теперь начну тащить юниты +500 и думать как реализовать их наем. Так-то Юней обещал помочь с этим, даже что-то уже сделал. В общем, если все будет норм, то будет новая система найма для этих юнитов. Будет наем в городах, в поле наемников, и третье, новое, скорее всего в фортах. На край сделаю их пока скриптовыми - наем через евент какой-нибудь :008:
                   DinarMayor
                  • Imperial
                  Imperial
                  Форумчанин

                  Дата: 02 декабря 2022, 20:25

                  Объяснил камраду как перетащить скрипт дезертирства в свой мод. Может кому-нибудь пригодиться. Я тут не все нюансы прописал, т.к. инфы разом будет много - там просто дальше в файле deserters.lua нужно будет под себя, под мод, еще поменять название и кол-во фракций и кол-во отнимаемых солдат.

                  Ты скачал уже мод?
                  Если да, то нужно сделать следующие:
                  -скачай Для просмотра ссылки Зарегистрируйтесь и установи в папку своего мода
                  Spoiler (expand)

                  -должно получиться примерно вот так
                  Spoiler (expand)

                  -запусти M2TWEOP GUI.exe(далее играть/запускать игру только через него)
                  -пропиши свой cfg файл мода
                  Spoiler (expand)

                  -открой в моем моде папку DenMod_v.1.0\youneuoy_Data\plugins\lua\DenMod
                  -найди файл deserters.lua и скопируй ее в свой мод в папку youneuoy_Data\plugins\lua.
                  -открой файл luaPluginScript.lua и добавь почти в начале файла строку
                  	require('deserters')

                  Spoiler (expand)

                  а вот это в самом конце этого же файла
                  function hasTrait(namedChar, trait)
                  	local currTrait = namedChar:getTraits()
                  	if (currTrait ~= nil) then
                  		while currTrait ~= nil do
                  			if (currTrait.name == trait) then 
                  				local lvl = currTrait.level
                  					return lvl            
                  				else currTrait = currTrait.nextTrait
                  			end
                  		end
                  	end
                  	return 0
                  end
                  
                  function onChangeTurnNum(turnNum)
                  	deserters();
                  end
                  

                  -попробуй запустить и промотать ходы. Войска будут дезертировать, если будут находиться на нейтральных или враждебных землях.


                  Попробуй сперва сделать это, если все получиться(или нет), то объясню дальше.
                     DinarMayor
                    • Imperial
                    Imperial
                    Форумчанин

                    Дата: 12 декабря 2022, 20:16

                    DinarMayor (03 декабря 2022, 20:37):

                    Xamax (03 декабря 2022, 20:23):

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

                    Это можно устроить ,кстати - я об этом думал. Можно сделать, например, если городов штуки три и прошло, как ты говоришь, ходов 30, то скрипт смены религии будет и на них работать(тимуриды тоже). Если до НГ успею - сделаю.

                    Добавил монголов и тимуридов в скрипт смены религии. Плюс немного переписал сам скрипт. Монголы и тимуриды будут менять религию:
                    -если прошло примерно 40 ходов после их вторжения
                    -и если у них не меньше пяти провинций

                    Остальное работает также, как и раньше

                    Quote

                    Если у какой-то фракции в каждом поселение одновременно та или иная религия больше или равно 55%, то фракция обращается в новую веру, все прежние постройки рушатся и появляются новые. Внешний вид священнослужителей остается, пока, тем же. Это действует на все фракции, кроме Папы, Монголов, Тимуридов и мятежников.


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

                    Сам скрипт
                    new_religion.lua (Reveal)

                    Imp
                      • 16 Страниц
                      • 1
                      • 2
                      • 3
                      • 4
                      • Последняя »
                       Похожие Темы
                      FСобытия и скрипты (Fleur de Lis: Maximilian)
                      События и скрипты (Fleur de Lis: Maximilian)
                      Автор D DinarMayor
                      Обновление 07 октября 2023, 21:16
                      Л[Lenta] Релиз новой версии мода DenMod
                      [Lenta] Релиз новой версии мода DenMod
                      Автор З Затейник
                      Обновление 01 октября 2023, 00:57
                      СКак отключить некоторые скрипты в моде
                      Как отключить некоторые скрипты в моде
                      Автор p pontoleon
                      Обновление 04 июля 2023, 03:40
                      Воспользуйтесь одной из соц-сетей для входа
                      РегистрацияВход на форум 
                      «Империал» · Условия · Ответственность · Визитка · 18 июн 2024, 12:38 · Зеркала: Org, Site · Счётчики