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




DinarMayor

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

Описания всех скриптов и их обсуждение.
Theme created: 03 October 2022, 21:27 · Author: DinarMayor
Views:
 47 380

  • 27 Pages
  • « First
  • 1
  • 2
  • 3
  • 4
  • Last »
 1 
 DinarMayor
  • Imp
Imperial
 

Date: 26 November 2022, 16:36




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



Imp



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



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



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



     DinarMayor
    • Imp
    Imperial
     

    Date: 21 December 2022, 22:40

    DinarMayor

    Сейчас скоро открою тему и перенесу туда все наше общение

    To view the link Register
       DinarMayor
      • Imp
      Imperial
       

      Date: 27 December 2022, 06:07

      Xamax 13 November 2022, 23:40

      Скрипт на наследника кровного норм. Мне кажется ещё не помешает фракции игрока запретить усыновление. Бред, который с первого Рима остался. Только там он оправдан, ибо у римлян была такая практика, усыновлять, а в средние века это портит всю династию

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


      Скрипт отмены усыновления

      Кусочек кода
      function onMessageOpen(fac, msgType)
          if msgType==78 or msgType==77 then
              EmulateKey(VK_ESCAPE, true)
              EmulateKey(VK_ESCAPE, false)
              print("onMessageOpen "..msgType)
          end
      end
      

      На видео, после боя, приходит сообщение о "Герой дня" - скрипт сразу закрывает это сообщение(имитация нажатия Esc). На начало хода приходит сообщение об усыновление - то же самое, что и с героем.
      Сделаю выбор игроку: на начало новой кампании будет приходить сообщение с вопросом "хотите отключить усыновления...".



         Xamax
        • Imp
        Imperial
         

        Date: 27 December 2022, 15:54

        А свадьбы это тоже коснётся?
           DinarMayor
          • Imp
          Imperial
           

          Date: 27 December 2022, 16:32

          Xamax 27 December 2022, 15:54

          А свадьбы это тоже коснётся?

          Нет. Но я еще все проверю на всякий)
             DinarMayor
            • Imp
            Imperial
             

            Date: 28 December 2022, 08:28

            DinarMayor

            Сейчас займусь скриптом, что будет "нейтрализовывать" агентоюнитов

            Готово. На момент прихода и/или выполнения миссии будут проверятся стеки игрока на наличие технических юнитов-агентов, что не должны попадать на тактику. Если они есть - уничтожить! :003:
            function check_agent_units(msgType)
            	if(msgType==52 or msgType==54) then
            		kill_agent_units(msgType);
            	end
            end
            
            function kill_agent_units(msgType)
            	for i=0, LocalFaction.stacksNum-1 do
            		local stack = LocalFaction:getStack(i);    
            
            		for un=stack.numOfUnits-1, 0, -1 do
            			local stack_unit = stack:getUnit(un);
            			local unitName = stack_unit.eduEntry.Type;
            
            			if unitName=="Alchemist" or unitName=="Inquisitor" or unitName=="Witch" or unitName=="Princess" then
            				stack_unit.alias="-удалить-";		-- исключаем, чтоб население не прибавилось -- 
            				stack_unit:kill(); 
            				--- позже тут буду заменять на другой юнит --- 
            				log_always("--- "..msgType.." миссия - удалили юнит "..unitName.." ---");
            			end
            		end
            	end
            end


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

              Date: 28 December 2022, 09:31

              Если есть желание ,глянь в этом моде много всяких фишек реализовано.https://www.twcenter.net/forums/showthread.php?816598-DOWNLOAD- SSHIP-0-98-ver-September-8th-2022&p=16115575&viewfull=1#post16115575,https: //www.twcenter.net/forums/showthread.php?654754-DOWNLOAD-SSHIP-ver-0-97-patch-H-(Jan- 29th-2021)&p=15956672&viewfull=1#post15956672.
              Может что пригодиться. :046:
                 DinarMayor
                • Imp
                Imperial
                 

                Date: 28 December 2022, 09:38

                Если читал шапку основной темы, то там этот мод указан в благодарностях) Но я не изучал особо их скрипты, а получил от них разрешение на юниты и почти ими только и занимался. Периодически запускаю этот мод(у меня на компе три его версии) - гляну и на фишки тогда)
                   DinarMayor
                  • Imp
                  Imperial
                   

                  Date: 07 January 2023, 04:02

                  DinarMayor

                  захватить вражеский корабль

                  Теперь работает и для ИИ. На выходных успел состряпать :n07: Скрипт очень простой и легкий. Во время хода игрока рандомно адмиралам ИИ будут выдаваться такие корабли, как будто он взяли их в абордаж. Можно было бы и после битвы ИИ против ИИ, но так меньше нагрузки, да и видимость та же.
                  Скрипт (Reveal)

                     DinarMayor
                    • Imp
                    Imperial
                     

                    Date: 25 January 2023, 18:52


                    Теперь флот, форты, города и сторожевые башни(последние два делаются еще) будут отображаться и на тактике.



                    В зависимости где(справа, слева, сверху или снизу) находится объект(флот, форт и т.п.) от атакованной армии, будет меняться тайл под его ногами на заранее сделанную. Плюс сделал рандомность погоды и времени суток на таких тайлах.

                    Фрагмент скрипта.
                    Spoiler (expand)

                       DinarMayor
                      • Imp
                      Imperial
                       

                      Date: 29 January 2023, 02:17

                      Сделал и добавил генерацию городов на тактике.

                      Местоположение, внешний вид и уровень стен соответствуют действительности(как это было бы при штурме например). Кроме башен - и это можно сделать по идее. Плюс нужно бы сделать для каждой плитки по своему файлу .wfc, т.е. север, юг, запад, восток, северо-запад и т.д. - итого 8шт. Сейчас для всех таких объектов проверяется только 4 стороны - справа, слева, сверху или снизу.
                      Spoiler (expand)

                      Если сделать для всех 8ми, то это уже будет занимать 3 гигабайта :0142: А это я еще со временем буду добавлять такие объекты. Поначалу для каждой культуры продублировал было в соотвествующие папки, но после добавил проверку наличия файла и это необходимость отпала. Например для русской культуры есть только деревня и поселок, а если игра/прога не находит, скажем, большой город в папке русской культуры, то возьмет из папки северной Европы.


                      Фрагмент скрипта.
                      Spoiler (expand)


                      !!!ps Если кто-то пытается что-то понять в этих скриптах( :0142: ), то скажу, что log_always() - это функция вообще не нужна для работы скриптов. Это мне для выявления ошибок. Вот, например, фрагмент того, что этот скрипт напечатал в моем лог файле DenMod.lua.game.script.txt:
                      Sun Jan 29 01:52:06 2023 [lua.game.script] --- onGeneralAssaultsGeneral - hre  vs slave  ---
                      Sun Jan 29 01:52:06 2023 [lua.game.script] --- onGeneralAssaultsGeneral - hre  vs slave  ---
                      Sun Jan 29 01:52:06 2023 [lua.game.script] return true
                      Sun Jan 29 01:52:06 2023 [lua.game.script] return true
                      Sun Jan 29 01:52:06 2023 [lua.game.script] sett_on_the_top, 406, 301, c_rus/wooden_pallisade_on_the_top.wfc, clear, sunrise
                      Sun Jan 29 01:52:06 2023 [lua.game.script] --- onUngarrisonedSettlement - Moscow
                      Sun Jan 29 01:52:06 2023 [lua.game.script] --- addGarSettUnit - Moscow --- 
                      Sun Jan 29 01:52:06 2023 [lua.game.script] --- onPreBattlePanelOpen - hre ---
                      Sun Jan 29 01:52:07 2023 [lua.game.script] panel_check 1
                      


                      -"onGeneralAssaultsGeneral - hre vs slave" - немцы атаковали мятежников(проверяется дважды, т.к. в эвенте две стороны - атакующий и обороняющийся) и в этом эвенте/функции вызывается функция замены тайлов(плиток)
                      -"return true" - проверка доходит до функции settTiles(поселения), там проверяется наличие файла и если он есть, то печатает "return true". Если бы был "return false", то прога начала бы искать файл в папке northern_european(а там есть все файлы)
                      -"sett_on_the_top, 406, 301, c_rus/wooden_pallisade_on_the_top.wfc, clear, sunrise" - замена тайла на координатах 406, 301 состоялась
                      -"onUngarrisonedSettlement - Moscow" и "addGarSettUnit - Moscow" - гарнизон вышел подкреплением и добавить гарнизонные юниты гарнизону Москвы(для мятежников делаю как раз).
                      -"onPreBattlePanelOpen - hre" - открылась панель "Развертывание войск"
                      -"panel_check 1" - германикус активизировался(во время нажатии кнопки "вступить в бой" задается счетчик)

                      Вот почему я прошу обязательно лог файлы при вылетах. :)

                      !!!ps !!!ps Позже перенесу некоторые сообщения в тему скриптов - сюда больше народу ходит, потому решил было тут писать. :)

                        • 27 Pages
                        • « First
                        • 1
                        • 2
                        • 3
                        • 4
                        • Last »
                         
                        Translate a Page
                        Conditions · Responsibility · Confid. · About · 03 Jul 2026, 02:23 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite