Сообщество Империал: Моддинг юнитов - Units - Сообщество Империал

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

Моддинг юнитов - Units
На основе Revolution Under Siege

Dart Kovu Nazgul

    19 995

    888

    39

    2 172

    32 605
  • Статус:Гранд-мофф

Дата: 04 Январь 2015, 18:42

Данные изыскания обнаруженные методом тыка) актуальны для игры "Revolution Under Siege"


Папка Units - содержит в себе все фалы Юнитов (*.uni)
Стоит учесть что, один юнит (файл *.uni) может состоять из нескольких моделей-подразделений как одинакового типа так и разного.
Расположение папки - ...\REDS - Revolution under Siege\RUS\GameData\Units



Units.Cached - файл с которым работает сама игра, в случаи удаления формируется из всех существующих файлов юнитов - *.mdl
Т.е. в случаи внесения изменений в файлы юнитов для того чтобы игра их восприняла надо удалить Units.Cached.



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

По типу юниты делятся на 6 типов (аналогично пунктам меню найма):
- Пехотные подразделения
- Мобильные и кавалерийские подразделения
- Артиллерийские подразделения
- Остальные наземные подразделения
- Корабли
- Гарнизоны и Крепости

есть и 7 пункт меню но можно ли его использовать пока не ясно.



Так же найм юнитов может быть ограничен несколькими нациями из числа основной игральной нации и суб-наций.

    Dart Kovu Nazgul

      19 995

      888

      39

      2 172

      32 605
    • Статус:Гранд-мофф

    Дата: 06 Январь 2015, 19:22

    Рассмотрим содержание файлов на примере нескольких юнитов.
    Информация будет дополняться в этом сообщении по ходу исследований.


    23REDInfantry Div (early conscripts).uni - Пехотная дивизия Красных состоящая из 4 пехотных полков + 1 кавалерийский + 1 артиллерия


    UID = 23 - Порядковый Код присвоенный данному юниту
    NationTag = RED - Принадлежность к фракции
    Name = Пех. див. (ранн. призыв) Полное отображаемое название юнита
    Alias = uni_RED_Div23 - Внутренне игровое название юнита
    ForcePool = 30 - размер юнита (пока непонятно в каких единицах ??)
    ShortName = Пех. див. Короткое отображаемое название юнита
    Text = $uni_txt_RED_Infantry Вроде описание юнита ??
    Color = $colREDRegular Цвет заднего фона иконки юнита ??
    SymbolID = symbol_DivInf.png иконка типа подразделения юнита из папки ... \REDS - Revolution under Siege\RUS\Graphics\NATOSymbols
    ModelType0 = $mdl_RED_Inf5|2 различные виды моделей-подразделений входящие в юнит | их количество
    ModelType1 = $mdl_RED_Inf6|2 различные виды моделей-подразделений входящие в юнит | их количество
    ModelType2 = $mdl_RED_Cav3|1 различные виды моделей-подразделений входящие в юнит | их количество
    ModelType3 = $mdl_RED_Art2|1 различные виды моделей-подразделений входящие в юнит | их количество
    FamilyType0 = $famLine|4 эти же модели указанные по типам | их количество
    FamilyType1 = $famCavalry|1 эти же модели указанные по типам | их количество
    FamilyType2 = $famMedArty|1 эти же модели указанные по типам | их количество
    CmdCost = 4 цена найма ??
    Pillage = 0 мародёрство / фуражирование ??
    BuildRule = $recCity правила строительства
    BuildWeight = 4 цена строительства в каком то весе??
    Area = $Recruit_Russians зона в котрой может наниматься юнит
    CustomNames = 1-я стрелк. див.|2-я стрелк. див.|3-я стрелк. див.|4-я стрелк. див.|5-я стрелк. див. .... перечисление потенциальных названий нанимаемых юнитов


    108REDTachankas.uni - Тачанки Красных


    UID = 108
    NationTag = RED
    Name = Тачанки
    Alias = uni_RED_MG1
    ForcePool = 30
    ShortName = Тачанки
    Text = $uni_txt_RED_Tachankas
    Color = $colREDRegular
    ModelType0 = $mdl_RED_MG1|1
    FamilyType0 = $famLightArty|1
    CmdCost = 1
    Pillage = 0
    BuildRule = $recCity
    BuildWeight = 1
    CustomNames = 1-е подр. тачанок|2-е подр. тачанок|3-е подр. тачанок|4-е подр. тачанок|5-е подр. тачанок ...


    942REDJ. Stalin.uni - генерал Сталин И.В.


    UID = 942
    NationTag = RED
    Name = И.В. Сталин
    Alias = uni_RED_Stalin3
    ForcePool = -1
    ShortName = И.В. Сталин
    Text = $ldr_txt_RED_Stalin
    Color = $colREDRegular
    ModelType0 = $ldr_RED_Stalin3|1
    FamilyType0 = $famLeader|1
    CmdCost = 0
    Pillage = 0
    AutoRaise = -1
    BuildRule = -1
    BuildWeight = -1
    Area = -1
    AltArea = -1

      Dart Kovu Nazgul

        19 995

        888

        39

        2 172

        32 605
      • Статус:Гранд-мофф

      Дата: 17 Январь 2015, 21:43

      Думаю многие из тех кто играл за разные фракции в Revolution Under Siege столкнулись с ситуациями когда генералы суб-фракций, вроде ВВД или КОМУЧ накопились в большом количестве, а укомплектовать их можно только маленькими подразделениями этих суб-фракций состоящим из 1-2 полков.


      Поэтому попробуем на примере обычного отряда КОМУ - "Полк. ополч. КОМУЧ" создать новый юнит:
      - Бригаду по составу, 3 пех. полка + 75 мм артиллерия.



      Сначала найдём будущие составные части, пехотный юнит "Полк. ополч." и "Арт. 75 мм полк" доступные в пуле найма для суб-фракции КОМУЧ.
      Найдя их мы узнаем из каких Models состоят эти юниты.
      В данном случаи легче всего искать по принадлёжности к фракции КОМУЧ, в игре это суб-фракция - WH2
      Ищем все юниты с текстом NationTag = WH2
      Соответственно включив логике и немного просмотрев найденные фалйы находим юниты :
      295WH2Garrison.uni

      UID = 295
      NationTag = WH2
      Name = Гарнизон
      Alias = uni_WH2_Gar
      ForcePool = 6
      ShortName = Пех.
      Text = $uni_txt_WH2_Infantry
      Color = $colWH2Regular
      ModelType0 = $mdl_WH3_Mil1|1
      FamilyType0 = $famLine|1
      CmdCost = 0
      Pillage = 0
      BuildRule = $recCity
      BuildWeight = 1
      Area = $Recruit_Komuch
      CustomNames = 1-й полк. ополч. КОМУЧ|2-й полк. ополч. КОМУЧ|3-й полк. ополч. КОМУЧ|4-й полк. ополч. КОМУЧ
      ...



      298WH2Artillery 75mm Rgt.uni

      UID = 298
      NationTag = WH2
      Name = Арт. 75-мм полк
      Alias = uni_WH2_Art1
      ForcePool = 8
      ShortName = 76-мм батарея
      Text = $uni_txt_WH2_Artillery
      Color = $colWH2Regular
      ModelType0 = $mdl_WH3_Art1|1
      FamilyType0 = $famLightArty|1
      CmdCost = 1
      Pillage = 0
      BuildRule = $recWSU
      BuildWeight = 1
      Area = $Recruit_Russians
      CustomNames = 1-я легк. арт. бат.|2-я легк. арт. бат.|3-я легк. арт. бат.|4-я легк. арт. бат.
      ...


      Красным я выделил имена моделей которые нам понадобятся для нового юнита.

      По логике все номера юнитов идут по очереди и могут быть ли пропуски в цифрах я не знаю. посему запишем новый юнит 1775
      Указав соответствующие модели ModelType и ихние классы в FamilyType.
      Описание юнита я пока не затрагиваю и беру уже существующее - Text = $uni_txt_WH2_Infantry

      1775WH2Garrison Div.uni

      UID = 1775
      NationTag = WH2
      Name = Пех. див. КОМУЧ
      Alias = uni_WH2_Div
      ForcePool = 30
      ShortName = Пех. див.
      Text = $uni_txt_WH2_Infantry
      Color = $colWH2Regular
      SymbolID = symbol_DivInf.png
      ModelType0 = $mdl_WH3_Mil1|3
      ModelType1 = $mdl_WH3_Art1|1
      FamilyType0 = $famLine|3
      FamilyType1 = $famLightArty|1
      CmdCost = 4
      Pillage = 0
      BuildRule = $recCity
      BuildWeight = 4
      Area = $Recruit_Komuch
      CustomNames = 1-я стрелк. див.|2-я стрелк. див.|3-я стрелк. див.|4-я стрелк. див.|5-я стрелк. див.|6-я стрелк. див.|7-я стрелк. див.|8-я стрелк. див.|9-я стрелк. див.|10-я стрелк. див.


      Теперь надо записать придуманное нами внутренее название юнита - Alias = uni_WH2_Div в базу юнитов.
      В файл uni_Alias.ini
      Она находиться по пути ...\REDS - Revolution under Siege\RUS\Aliases
      добавляем в нём строку $uni_WH2_Div = 1775


      У нас новый юнит, значит не забываем удалить Units.Cached
      Но это ещё не всё!

        Dart Kovu Nazgul

          19 995

          888

          39

          2 172

          32 605
        • Статус:Гранд-мофф

        Дата: 25 Январь 2015, 16:19

        Продолжение предыдущего сообщения.

        У нас уже есть готовый юнит, но игра пока не знает когда и как его вербовать и где использовать.
        Поэтому для теста пришлось немного поискать (на основании уже существующих юнитов) и определить файлы в которые надо внести изменения.
        Все дальнейшие изменения сделаны отталкиваясь от того что проверять существование юнита будет в Grand Campaign


        На данном этапе первым делом надо добавить юнит в пул найма для соответствующей фракции
        Файл REDAI1918_3.sct (почему именно этот файл и есть ли связь с его именем, я пока не выяснил)
        Путь к нему ...REDS - Revolution under Siege\RUS\Events

        Находим строки нашей фракции

        SelectFaction = $WH3

        SelectFaction = $WH3
        StartEvent = evt_nam_WH3_milpoolratio|1|0|NULL|NULL|NULL|NULL

        Conditions

        CheckAILevel = 1
        MinDate = 1918/06/01
        MaxDate = 1923/10/01


        добавляем в списке юнитов фракции SelectFaction = $WH3 (WH3 - фракция Белых Сибири)
        Внизу строку SetUnitPoolInfos = $uni_WH2_Div;10;50
        (10 - это изначально доступное количество к найму юнитов этого типа,что означает 50 я пока не понял)

        Далее Возможно не обязательно
        Теперь надо добавить возможность найма в соответствующий файл соответствующей компании.
        Т.к. я пробую на Grand Campaign, то соответственно редактируем Grand Campaign.sct

        SelectFaction = $CMN

        SelectFaction = $CMN
        StartEvent = evt_nam_CMN_TransitionToMay1919|1|0|NULL|NULL|NULL|NULL

        Conditions
        FixedDate = 1919/04/30

        Actions
        .......


        Там повторяться эта запись несколько раз, добавляя/обновляя количество на страте и затем каждый период новых юнитов в пул найма, в соответствии с изменениями даты.
        Соответственно добавляем в списке юнитов фракции SelectFaction = $WH3 в каждом периоде
        Внизу строку ChgUnitPoolInfos = $uni_WH2_Div;10;50

        Стоит отметить что возможно из за того что данная фракция которую я использую для опыта в игре не присутствует изначально, а появляеться на 2 ходу. то соответственно первой командой стоит строка

        ChangeUnitPool = $uni_WH2_Div;10 (а, не "ChgUnitPoolInfos")


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


        В итоге получаем:



          Ответить в темуВведите Ваш логин  
          [Регистрация нового аккаунта]
          Введите Ваш пароль 
          [Восстановить пароль]
          Создать новую тему
          или Войти на форум через соцсеть
            Стиль:
              07 Дек 2016, 21:21
          © 2016 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики