Сообщество Империал: Моддинг юнитов в Revolution Under Siege. Часть 1 - Пошаговые Стратегии - Стратегические Игры - Библиотека Статей - Сообщество Империал

Информация

Dart Kovu Nazgul
  • Автор: Dart Kovu Nazgul
  • Добавлено: 04 янв 2015, 21:58
  • Обновлено: 31 мар 2015, 00:24
  • Просмотров: 2 925

Последние Статьи

Актуальные бонусы в казино 888starz
Актуальные бонусы в казино 888starzФонд Игровых · 28 мар 2024, 23:35
World of Infinitas - 2024 Missions (Zero Hour)
World of Infinitas - 2024 Missions (Zero Hour)CountBagaturMonte · 25 мар 2024, 20:18
Онлайн радио и его возможности
Онлайн радио и его возможностиСоциоПат · 18 мар 2024, 22:08

Моддинг юнитов в Revolution Under Siege. Часть 1

Моддинг юнитов в Revolution Under Siege. Часть 1
Автор: Dart Kovu Nazgul Dart Kovu Nazgul
Дата: 04 янв 2015, 21:58 · Просмотров: 2 925
Данные изыскания обнаруженные методом тыка) актуальны для игры "Revolution Under Siege"


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

Imp

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



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

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

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

Imp

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




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


Папка Models - содержит в себе все фалы Моделей юнитов (*.mdl), наименьшей единицы в составе юнита (не обязательно боевой).

Imp

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

Imp

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



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


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


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


Думаю многие из тех кто играл за разные фракции в 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
Но это ещё не всё!

У нас уже есть готовый юнит, но игра пока не знает когда и как его вербовать и где использовать.
Поэтому для теста пришлось немного поискать (на основании уже существующих юнитов) и определить файлы в которые надо внести изменения.
Все дальнейшие изменения сделаны отталкиваясь от того что проверять существование юнита будет в 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")


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


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

Imp

Imp

    Воспользуйтесь одной из соц-сетей для входа
    РегистрацияВход на форум 
    Сообщество ИмпериалБиблиотека Статей Стратегические Игры Пошаговые Стратегии Моддинг юнитов в Revolution Under Siege. Часть 1 Обратная Связь
    Стиль:Language: 
    «Империал» · Условия · Ответственность · Визитка · 23 апр 2024, 10:12 · Зеркала: Org, Site, Online · Счётчики