Как самому сделать мод. - Страница 3 - AGEod - Strategium.ru Перейти к содержимому
Strategium.ru

Как самому сделать мод.


Northern Neighbour

Рекомендованные сообщения

Northern Neighbour
10 часов назад, Red_ сказал:

Здравствуйте!

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

Через Политические опции (F4) или (F6) делать такие опции для каждого региона было бы громоздко.

Я написал код для бесконечной (друг за другом) постройки предприятий через  F6 в RUS и через политические опции SCW (вдохновился возможностью бесконечно строить их в Revolution Triumph Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ), но там и в RUS, SCW у меня это только для отдельных регионов через опции, а было бы здорово покрыть весь тыл военными или гражданскими (в планах внедрить этот тип постройки) заводами.

Никогда не занимался подобным. 

 

Выложите подробное описание что и куда вы добавили а также сам код .. А дальше будем думать что можно еще сделать. 


2 часа назад, Northern Neighbour сказал:

Никогда не занимался подобным. 

 

Выложите подробное описание что и куда вы добавили а также сам код .. А дальше будем думать что можно еще сделать. 

Ну, пусть будет на примере фрагмента кода из SCW файла <<RepublicanPolOptions.sct>>.


 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_AIActivate|999|0|NULL|NULL|NULL|NULL

Conditions
  MinDate = 1936/08/01

CheckAILevel = 1

EvalRgnOwned = $Barcelona
  ActorEnabled = $gmaOptionPol;REP_BarcelonaFactory
  Probability = 25

Actions
  GenTextMsg  = opt_notify_NewPolOption;1;NULL;NULL;NULL
  ChangeOption = $gmaOptionPol;REP_BarcelonaFactory;1                                                                                                   

EndEvent                                                                                                                                                           

 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_ON|1|0|NULL|NULL|NULL|NULL

Conditions
  MinDate = 1936/08/01

EvalRgnOwned = $Barcelona

Actions
  GenTextMsg  = opt_notify_NewPolOption;1;NULL;NULL;NULL
  ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP

EndEvent

------------------------------------------------------//часть кода выше отвечает за появление первой возможности построить военный завод//--------------------------------------------------------

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_Tracker|0|0|NULL|NULL|NULL|NULL // А это триггер, показывающий то, что решение о постройке завода было принято; позволяет событию таймера обратного отсчёта постройки выполняться.

Conditions
  MinDate = 1936/08/01

Actions

EndEvent 




 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_Check|999|0|NULL|NULL|NULL|NULL

Conditions
  CheckOption = $gmaOptionPol;REP_BarcelonaFactory;=;1 // опция постройки завода выбрана
  EvalEngagementPts = >=;15
  EvalMoney = >=;100
  EvalWSU = >=;10

EvalRgnOwned = $Barcelona


Actions
  ChgFacEngagementPts = -15
  ChangeMoneyPool = -100
  ChangeWSUPool = -10
  AddDynGraphic = $Barcelona;Icon_IndusConstr.png;Icon_IndusConstr.png;NULL;50;60;strIndustryConstruction // кажет на карте изображение строительства

SelectFaction = $CMN
  GenTextMsg  = opt_notify_CMN_BarcelonaFactory;1;NULL;NULL;NULL // текст о том, что процесс пошёл

SelectFaction = $REP
  ChangeActorPool = $gmaOptionPol;MaxUse;0;SubType;REP_BarcelonaFactory // опция постройки завода по случаю её выбора убирается из ряда доступных

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;1 // триггер включается

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;MaxOccurs;12 // таймеру задаётся срок в 12 ходов (как ни странно, в дальнейшем окажется, что для завершения строительства достаточно и 6 из них, но так было запрограммированно изначально разработчиком; возможно, имеет смысл пофиксить)

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryCompleted;CuOccurs;0 // Обнуление события постройки завода с целью сделать процесс циклически бесконечным, чтобы строить один завод за другим. Это добавил уже я.


EndEvent

 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaTimer|500|0|NULL|NULL|NULL|NULL // Собственно, таймер постройки в его изначальном виде, тут тоже ничего не менял. Он движется, пока триггер включён.


Conditions
 
EvalEvent = evt_nam_REP_BarcelonaFactory_Tracker;=;1


Actions
 

EndEvent


 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryCompleted|1|2|evt_txt_REP_BarcelonaFactoryCompleted|Event-img_REP_FactoryCompleted|$Barcelona|NULL // событие завершения строительства


Conditions

  MinDate = 1936/08/01

EvalRgnOwned = $Barcelona
  EvalEvent = evt_nam_REP_BarcelonaTimer;>=;6 // таймер = 6 -- постройка завершена.


Actions

  DescEvent = evt_desc_REP_BarcelonaFactoryCompleted // текст о завершении строительства

  CreateStruc // создание в регионе самой структуры
  SetType = $ARMSFACTORY
  SetName = Barcelona Weapons Factory (+200 Ammo, 20 sup, 15 mon /turn) // тут я решил изменить само название по образу и подобию оного из RUS, где прямо в названии содержатся и свойства строение, чего и сколько оно продуцирует. Изначально разработчик выставил производство лишь 200 боеприпасов, но я решил добавить к производству военного завода также 20 ед. снабжения и 15 денег. Зачем ему производить снабжение -- объяснить непросто, но вот деньги символизируют прибыль от продажи продукции. Не вечно ж трясти их с налогоплательщиков ?...
  Apply
  RemDynGraphic = $Barcelona;Icon_IndusConstr.png // убирается анимация строительства
  AddDynGraphic = $Barcelona;Icon_ArmsFactory.png;Icon_ArmsFactory.png;NULL;150;75;strArmsFactory // добавляется картинка предприятия в регион
SelectRegion = $Barcelona
  ChangeAssetsProd = 20;200;0;15;2;0 // Самое интересное. Изменяется производство ресурсов в регионе. Описание функции можно прочитать здесь -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.
 
  Replacement = REP;$famLine;2
  Replacement = REP;$famMilitia;2
  Replacement = REP;$famElite;2
  Replacement = REP;$famCavalry;2
  Replacement = REP;$famLightInf;2
  Replacement = REP;$famRaider;2
  Replacement = REP;$famLightArty;2
  Replacement = REP;$famMedArty;2
  Replacement = REP;$famHvyArty;2
  Replacement = REP;$famService;2
  Replacement = REP;$famEngineer;2
  Replacement = REP;$famNavalEngineer;2
  Replacement = REP;$famSupply;2
  Replacement = REP;$famLtVehicle;2
  Replacement = REP;$famArmoredTrain;2 // это я по аналогии с RUS решил добавить производство пополнений при завершении строительства завода
 

ChgUnitPoolInfos = uni_REP_Columna;1;75
ChgUnitPoolInfos = uni_REP_Sup1;1;65
ChgUnitPoolInfos = uni_EUS_Eusko;1;75
ChgUnitPoolInfos = uni_EUS_CIH;1;65
ChgUnitPoolInfos = uni_REP_Columna2;1;75
ChgUnitPoolInfos = uni_EUS_Art1;1;75
ChgUnitPoolInfos = uni_ANA_Columna;1;75
ChgUnitPoolInfos = uni_EUS_BatallonMV;1;75
ChgUnitPoolInfos = uni_EUS_Trs;1;65
ChgUnitPoolInfos = uni_REP_BatallonM;1;75
ChgUnitPoolInfos = uni_REP_BatallonInf0;1;75
ChgUnitPoolInfos = uni_REP_BatallonInf;1;75
ChgUnitPoolInfos = uni_REP_GC;1;75
ChgUnitPoolInfos = uni_REP_Art1;1;75
ChgUnitPoolInfos = uni_REP_Art2;1;75
ChgUnitPoolInfos = uni_REP_Art3;1;75
ChgUnitPoolInfos = uni_REP_Art4;1;75
ChgUnitPoolInfos = uni_REP_Amc;1;75
ChgUnitPoolInfos = uni_REP_Amc2;1;75
ChgUnitPoolInfos = uni_REP_Amc3;1;75
ChgUnitPoolInfos = uni_REP_Mount;1;75
ChgUnitPoolInfos = uni_REP_Mount2;1;75
ChgUnitPoolInfos = uni_REP_Cav;1;75
ChgUnitPoolInfos = uni_REP_Hq1;1;75
ChgUnitPoolInfos = uni_REP_Trs;1;75
ChgUnitPoolInfos = uni_REP_Med;1;75
ChgUnitPoolInfos = uni_REP_Amt2;1;75
ChgUnitPoolInfos = uni_REP_Eng;1;75
ChgUnitPoolInfos = uni_REP_Sai;1;75
ChgUnitPoolInfos = uni_REP_Sai;1;75 // тут решил добавить также пополнения в пул потенциальных войск, но что-то в реалиях SCW пошло не так; этот момент не сработал.
Есть ещё просто команда ChgUnitPool, но мне нужна была именно с Infos Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. , поскольку только такая команда может инструктировать ИИ производить эти войска, а иначе противостояние кончится слишком быстро, ведь ИИ не будет этого делать.

 

 


ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // Моё нововведение для создания цикличности; после постройки завода таймер обнуляется.
ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;0 // По той же причине; + когда триггер = 0, таймер не двигается.
ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP // тот же финт, как и при первом появлении опции в доступе; после завершения строительства теперь она автоматом снова доступна.

EndEvent

 

 

 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryCapturedDuringConstruction|1|2|evt_txt_REP_BarcelonaFactoryCaptured|Event-img_REP_FactoryCompleted|$Barcelona|NULL // Скопировал из RUS, но со своей доделкой. Суть в том, что рассматривается случай захвата региона в ходе постройки фабрики.

Conditions
 

EvalRgnOwned = $Barcelona;NOT
  EvalEvent = evt_nam_REP_BarcelonaFactory_Tracker;>=;1
  EvalEvent = evt_nam_REP_BarcelonaTimer;<;6

Actions
  DescEvent = evt_desc_REP_BarcelonaFactoryCaptured
  RemDynGraphic = $Barcelona;Icon_IndusConstr.png

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // Обнуляется таймер

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;0 // и триггер строительства,

 

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryRecaptured;CuOccurs;0 // а также событие-антипод захвата -- реконкиста, которая будет расписана сразу после (обнуляется, чтобы поддерживать цикличность всех этих событий, чтобы не были одноразовыми). Сам принцип задания значения событий и их возможных максимумов расписан тут -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

EndEvent
 

 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryRecaptured|1|2|evt_txt_REP_BarcelonaFactoryCaptured|Event-img_REP_FactoryCompleted|$Barcelona|NULL // Событие реконкисты региона с потенциальной фабрикой. Чисто моя доделка на основе предшествующего события захвата.

Conditions
 

EvalRgnOwned = $Barcelona
 
  EvalEvent = evt_nam_REP_BarcelonaFactoryCaptured;=;1 // Проверка события захвата на действительность.

Actions
 

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // На всякий случай опять обнуляется таймер постройки (хотя это вряд ли нужно; полагаю, можно убрать).

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryCaptured;CuOccurs;0 // Обнуляется событие захвата, чтобы опять сделать его возможным, если это таки произойдёт снова в будущем.

ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP // В результате реконкисты опять можно начать строительство завода.

EndEvent

Это пример цикла событий для сооружения военных заводов всего для одной Барселоны в SCW, но для остальных городов они точно такие же;
можно буквально брать этот код в текстовой файл и действием правки заменять название одного города на желаемый другой, чтобы создать всё то же самое и для других желаемых регионов.

Получившийся файл политических опций для Республиканцев в SCW прикреплю  по ссылке -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

_________
добавлено 3 минуты спустя
3 минуты назад, Red_ сказал:

Ну, пусть будет на примере фрагмента кода из SCW файла <<RepublicanPolOptions.sct>>.


 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_AIActivate|999|0|NULL|NULL|NULL|NULL

Conditions
  MinDate = 1936/08/01

CheckAILevel = 1

EvalRgnOwned = $Barcelona
  ActorEnabled = $gmaOptionPol;REP_BarcelonaFactory
  Probability = 25

Actions
  GenTextMsg  = opt_notify_NewPolOption;1;NULL;NULL;NULL
  ChangeOption = $gmaOptionPol;REP_BarcelonaFactory;1                                                                                                   

EndEvent                                                                                                                                                           

 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_ON|1|0|NULL|NULL|NULL|NULL

Conditions
  MinDate = 1936/08/01

EvalRgnOwned = $Barcelona

Actions
  GenTextMsg  = opt_notify_NewPolOption;1;NULL;NULL;NULL
  ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP

EndEvent

------------------------------------------------------//часть кода выше отвечает за появление первой возможности построить военный завод//--------------------------------------------------------

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_Tracker|0|0|NULL|NULL|NULL|NULL // А это триггер, показывающий то, что решение о постройке завода было принято; позволяет событию таймера обратного отсчёта постройки выполняться.

Conditions
  MinDate = 1936/08/01

Actions

EndEvent 




 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaFactory_Check|999|0|NULL|NULL|NULL|NULL

Conditions
  CheckOption = $gmaOptionPol;REP_BarcelonaFactory;=;1 // опция постройки завода выбрана
  EvalEngagementPts = >=;15
  EvalMoney = >=;100
  EvalWSU = >=;10

EvalRgnOwned = $Barcelona


Actions
  ChgFacEngagementPts = -15
  ChangeMoneyPool = -100
  ChangeWSUPool = -10
  AddDynGraphic = $Barcelona;Icon_IndusConstr.png;Icon_IndusConstr.png;NULL;50;60;strIndustryConstruction // кажет на карте изображение строительства

SelectFaction = $CMN
  GenTextMsg  = opt_notify_CMN_BarcelonaFactory;1;NULL;NULL;NULL // текст о том, что процесс пошёл

SelectFaction = $REP
  ChangeActorPool = $gmaOptionPol;MaxUse;0;SubType;REP_BarcelonaFactory // опция постройки завода по случаю её выбора убирается из ряда доступных

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;1 // триггер включается

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;MaxOccurs;12 // таймеру задаётся срок в 12 ходов (как ни странно, в дальнейшем окажется, что для завершения строительства достаточно и 6 из них, но так было запрограммированно изначально разработчиком; возможно, имеет смысл пофиксить)

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryCompleted;CuOccurs;0 // Обнуление события постройки завода с целью сделать процесс циклически бесконечным, чтобы строить один завод за другим. Это добавил уже я.


EndEvent

 

SelectFaction = $REP
StartEvent = evt_nam_REP_BarcelonaTimer|500|0|NULL|NULL|NULL|NULL // Собственно, таймер постройки в его изначальном виде, тут тоже ничего не менял. Он движется, пока триггер включён.


Conditions
 
EvalEvent = evt_nam_REP_BarcelonaFactory_Tracker;=;1


Actions
 

EndEvent


 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryCompleted|1|2|evt_txt_REP_BarcelonaFactoryCompleted|Event-img_REP_FactoryCompleted|$Barcelona|NULL // событие завершения строительства


Conditions

  MinDate = 1936/08/01

EvalRgnOwned = $Barcelona
  EvalEvent = evt_nam_REP_BarcelonaTimer;>=;6 // таймер = 6 -- постройка завершена.


Actions

  DescEvent = evt_desc_REP_BarcelonaFactoryCompleted // текст о завершении строительства

  CreateStruc // создание в регионе самой структуры
  SetType = $ARMSFACTORY
  SetName = Barcelona Weapons Factory (+200 Ammo, 20 sup, 15 mon /turn) // тут я решил изменить само название по образу и подобию оного из RUS, где прямо в названии содержатся и свойства строение, чего и сколько оно продуцирует. Изначально разработчик выставил производство лишь 200 боеприпасов, но я решил добавить к производству военного завода также 20 ед. снабжения и 15 денег. Зачем ему производить снабжение -- объяснить непросто, но вот деньги символизируют прибыль от продажи продукции. Не вечно ж трясти их с налогоплательщиков ?...
  Apply
  RemDynGraphic = $Barcelona;Icon_IndusConstr.png // убирается анимация строительства
  AddDynGraphic = $Barcelona;Icon_ArmsFactory.png;Icon_ArmsFactory.png;NULL;150;75;strArmsFactory // добавляется картинка предприятия в регион
SelectRegion = $Barcelona
  ChangeAssetsProd = 20;200;0;15;2;0 // Самое интересное. Изменяется производство ресурсов в регионе. Описание функции можно прочитать здесь -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.
 
  Replacement = REP;$famLine;2
  Replacement = REP;$famMilitia;2
  Replacement = REP;$famElite;2
  Replacement = REP;$famCavalry;2
  Replacement = REP;$famLightInf;2
  Replacement = REP;$famRaider;2
  Replacement = REP;$famLightArty;2
  Replacement = REP;$famMedArty;2
  Replacement = REP;$famHvyArty;2
  Replacement = REP;$famService;2
  Replacement = REP;$famEngineer;2
  Replacement = REP;$famNavalEngineer;2
  Replacement = REP;$famSupply;2
  Replacement = REP;$famLtVehicle;2
  Replacement = REP;$famArmoredTrain;2 // это я по аналогии с RUS решил добавить производство пополнений при завершении строительства завода
 

ChgUnitPoolInfos = uni_REP_Columna;1;75
ChgUnitPoolInfos = uni_REP_Sup1;1;65
ChgUnitPoolInfos = uni_EUS_Eusko;1;75
ChgUnitPoolInfos = uni_EUS_CIH;1;65
ChgUnitPoolInfos = uni_REP_Columna2;1;75
ChgUnitPoolInfos = uni_EUS_Art1;1;75
ChgUnitPoolInfos = uni_ANA_Columna;1;75
ChgUnitPoolInfos = uni_EUS_BatallonMV;1;75
ChgUnitPoolInfos = uni_EUS_Trs;1;65
ChgUnitPoolInfos = uni_REP_BatallonM;1;75
ChgUnitPoolInfos = uni_REP_BatallonInf0;1;75
ChgUnitPoolInfos = uni_REP_BatallonInf;1;75
ChgUnitPoolInfos = uni_REP_GC;1;75
ChgUnitPoolInfos = uni_REP_Art1;1;75
ChgUnitPoolInfos = uni_REP_Art2;1;75
ChgUnitPoolInfos = uni_REP_Art3;1;75
ChgUnitPoolInfos = uni_REP_Art4;1;75
ChgUnitPoolInfos = uni_REP_Amc;1;75
ChgUnitPoolInfos = uni_REP_Amc2;1;75
ChgUnitPoolInfos = uni_REP_Amc3;1;75
ChgUnitPoolInfos = uni_REP_Mount;1;75
ChgUnitPoolInfos = uni_REP_Mount2;1;75
ChgUnitPoolInfos = uni_REP_Cav;1;75
ChgUnitPoolInfos = uni_REP_Hq1;1;75
ChgUnitPoolInfos = uni_REP_Trs;1;75
ChgUnitPoolInfos = uni_REP_Med;1;75
ChgUnitPoolInfos = uni_REP_Amt2;1;75
ChgUnitPoolInfos = uni_REP_Eng;1;75
ChgUnitPoolInfos = uni_REP_Sai;1;75
ChgUnitPoolInfos = uni_REP_Sai;1;75 // тут решил добавить также пополнения в пул потенциальных войск, но что-то в реалиях SCW пошло не так; этот момент не сработал.
Есть ещё просто команда ChgUnitPool, но мне нужна была именно с Infos Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. , поскольку только такая команда может инструктировать ИИ производить эти войска, а иначе противостояние кончится слишком быстро, ведь ИИ не будет этого делать.

 

 


ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // Моё нововведение для создания цикличности; после постройки завода таймер обнуляется.
ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;0 // По той же причине; + когда триггер = 0, таймер не двигается.
ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP // тот же финт, как и при первом появлении опции в доступе; после завершения строительства теперь она автоматом снова доступна.

EndEvent

 

 

 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryCapturedDuringConstruction|1|2|evt_txt_REP_BarcelonaFactoryCaptured|Event-img_REP_FactoryCompleted|$Barcelona|NULL // Скопировал из RUS, но со своей доделкой. Суть в том, что рассматривается случай захвата региона в ходе постройки фабрики.

Conditions
 

EvalRgnOwned = $Barcelona;NOT
  EvalEvent = evt_nam_REP_BarcelonaFactory_Tracker;>=;1
  EvalEvent = evt_nam_REP_BarcelonaTimer;<;6

Actions
  DescEvent = evt_desc_REP_BarcelonaFactoryCaptured
  RemDynGraphic = $Barcelona;Icon_IndusConstr.png

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // Обнуляется таймер

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactory_Tracker;CuOccurs;0 // и триггер строительства,

 

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryRecaptured;CuOccurs;0 // а также событие-антипод захвата -- реконкиста, которая будет расписана сразу после (обнуляется, чтобы поддерживать цикличность всех этих событий, чтобы не были одноразовыми). Сам принцип задания значения событий и их возможных максимумов расписан тут -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

EndEvent
 

 

SelectFaction = $REP
SelectRegion = $Barcelona
StartEvent = evt_nam_REP_BarcelonaFactoryRecaptured|1|2|evt_txt_REP_BarcelonaFactoryCaptured|Event-img_REP_FactoryCompleted|$Barcelona|NULL // Событие реконкисты региона с потенциальной фабрикой. Чисто моя доделка на основе предшествующего события захвата.

Conditions
 

EvalRgnOwned = $Barcelona
 
  EvalEvent = evt_nam_REP_BarcelonaFactoryCaptured;=;1 // Проверка события захвата на действительность.

Actions
 

  ChgEvtOccurs = evt_nam_REP_BarcelonaTimer;CuOccurs;0 // На всякий случай опять обнуляется таймер постройки (хотя это вряд ли нужно; полагаю, можно убрать).

  ChgEvtOccurs = evt_nam_REP_BarcelonaFactoryCaptured;CuOccurs;0 // Обнуляется событие захвата, чтобы опять сделать его возможным, если это таки произойдёт снова в будущем.

ChangeActorPool = $gmaOptionPol;MaxUse;1;ResetFreq;1;ImageID;Opt_CMN_Industry1.png;Title;opt_title_REP_BarcelonaFactory;MsgString;opt_desc_REP_BarcelonaFactory;ToolString;opt_hint_REP_BarcelonaFactory;SubType;REP_BarcelonaFactory;SParam1;REP // В результате реконкисты опять можно начать строительство завода.

EndEvent

Это пример цикла событий для сооружения военных заводов всего для одной Барселоны в SCW, но для остальных городов они точно такие же;
можно буквально брать этот код в текстовой файл и действием правки заменять название одного города на желаемый другой, чтобы создать всё то же самое и для других желаемых регионов.

Получившийся файл политических опций для Республиканцев в SCW прикреплю  по ссылке -- Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Всё это работает, но через опции.
А хотелось бы всё сделать проще для каких-нибудь гражданских заводов и колхозов, которые добавлять региональными решениями, примерно как в Pride of Nations, но на этом пока затык.
Первая попытка провалилась.


(изменено)

А попытка заключалась в том, что я добавил 40-ой элемент $rgdRepFactoryConstr в список региональных решений Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. rgd_Alias.ini (C:\Games\Espana 1936\SCW\Aliases), Добавил 10-й элемент Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. (10Factory.str) в C:\Games\Espana 1936\SCW\GameData\Structures (составил его на основе 7-го -- 7ArmsFactory.str) в список возможных построек  str_Alias.ini Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. по адресу C:\Games\Espana 1936\SCW\Aliases.
Для 40-го элемента рег. решений (по адресу C:\Games\Espana 1936\SCW\GameData\RgnDecisions) составил код на основе 39-го, стирая ненужные данные, и соответственно форматируя нужные Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.
Код получился следующим:
 

Цитата

UID = 40
Alias = rgdRepFactoryConstr
Name = $rgd_nam_RepFactoryConstr
ShortName = $rgd_shortnam_RepFactoryConstr
Text = $rgd_txt_RepFactoryConstr
Kind = $rgdSocial
SoundsPlayed = $snd_RGD_RepPropaganda
ImageMap = RgnDecision_OnMap_RepFactoryConstr.png   // Этот компонент сделал (Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ), он по адресу C:\Games\Espana 1936\SCW\Graphics\Decisions .
ImagePanel = RgnDecision_RepFactoryConstr.png   // Этот тоже (Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ), и он там же -- C:\Games\Espana 1936\SCW\Graphics\Decisions.
ImageFlavor = SCW.png // Это у всех рег. решений есть по дефолту, если не ошибаюсь.
MustBeOwnedRegion = 1 // Регион должен контролироваться стороной для принятия решения
CityMinLevel = 1 // В регионе должен быть город хотя бы первого уровня
BaseSuccess = 100 // Всё получится инфа 100-ка
BaseDecay = 1
Duration = 1 // в течение одного хода (просто чтобы мне было удобнее проверить результат в рамках тестирования)
Inp_Abs_EngagementPts = 1 // стоимость ВИ
Inp_Abs_Money = 1 // стоимость денег (низкая только для удобства тестирования)
Out_Abs_Money = 100 // выход денег (забыл убрать)
Effect_PostponeEnd = 1 // эффект начинается только по завершению срока (ранее обозначенного Duration).
Effect_RemoveFromFP = 0 // из пула по принятию не пропадает
Effect_Str_Success = str_CMN_rgd_RepFactoryConstr
Effect_StartStructure = $Factory // А вот это самое интересное; подсмотрел в файле рег. решений Pride of Nations (Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ), там была заинтересовавшая меня строка Effect_StartStructure = $Mission (возможно, в этом есть корень проблемы, если движки SCW и Pride of Nations несовместимы, и тогда заимствовать что-либо из PON в SCW ни в коем случае не следует, но я искренне надеялся, что это возможно, и что данная команда инициирует строительство структуры, в т.ч. и необходимой мне).
AIRelativePickChance = 1
 

 

 

Дальше написал простенький код Event-а для добавления 100 шт. этого 40-го экземпляра рег. решения в пул Республиканцев (Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. ):

 

Цитата

 

SelectFaction = $REP
StartEvent = evt_nam_REP_Factoriesbuilding|1|1|NULL|NULL|NULL|NULL

Conditions
 

Actions
 

 ChgRgnDecisionFP = $rgdRepFactoryConstr;100


EndEvent

 



и добавил его при заходе в игру командой консоли ForceEvent .

В итоге на след. ход добавилось рег. решение Erronerous или (как-то так), невозможное к применению в каком бы то ни было регионе.
На этом моменте пока затык.

Как говорится, "прокололся, но где ?".

Изменено пользователем Northern Neighbour

(изменено)
7 часов назад, Northern Neighbour сказал:

Никогда не занимался подобным. 

 

Выложите подробное описание что и куда вы добавили а также сам код .. А дальше будем думать что можно еще сделать. 

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

Изменено пользователем Red_

Northern Neighbour
7 часов назад, Red_ сказал:

если движки SCW и Pride of Nations несовместимы, и тогда заимствовать что-либо из PON в SCW ни в коем случае не следует, но я искренне надеялся, что это возможно, и что данная команда инициирует строительство структуры, в т.ч. и необходимой мне).

Проверил- Данная команда есть и в движке PON и в движке SCW

 

 


(изменено)
2 часа назад, Northern Neighbour сказал:

Проверил- Данная команда есть и в движке PON и в движке SCW

 

 

О, значит всё к лучшему.
Должно быть, проблема лишь в оформлении, и цель вполне достижима.

_________
добавлено 1 минуту спустя
3 минуты назад, Red_ сказал:

О, значит всё к лучшему.
Должно быть, проблема лишь в оформлении, и цель вполне достижима.

А если это можно будет добавить в SCW, то и в RUS наверняка тоже.
И вот тогда обеспечение снабжением пятимиллионной Красной армии, какой она была на конец гражданской войны, станет вполне осуществимо.

Изменено пользователем Red_

(изменено)
8 минут назад, Red_ сказал:

О, значит всё к лучшему.
Должно быть, проблема лишь в оформлении, и цель вполне достижима.

_________
добавлено 1 минуту спустя

А если это можно будет добавить в SCW, то и в RUS наверняка тоже.
И вот тогда обеспечение снабжением пятимиллионной Красной армии, какой она была на конец гражданской войны, станет вполне осуществимо.

Что ж, остаётся только выяснить недочёты в коде. Постараюсь понять, в чём дело.
Благодарю от всей души, Northern Neighbour.

Изменено пользователем Red_

Хотя стоп.
В RUS совершенно другое устройство региональных решений.
Там по группам регионов, а не по отдельным из них.

Ладно, в любом случае буду разбираться.


Northern Neighbour
(изменено)
7 часов назад, Red_ сказал:

В RUS совершенно другое устройство региональных решений.
Там по группам регионов, а не по отдельным из них.

Ну ведь  в Espana (которая по сути мод к RUS)  карточки RGD работают для отдельных регионов

Изменено пользователем Northern Neighbour

Northern Neighbour
(изменено)
В 12.08.2024 в 00:21, Red_ сказал:

Через Политические опции (F4) или (F6) делать такие опции для каждого региона было бы громоздко.

Я конечно попробую вам помочь так как и самому интересно разобраться в  добавлении карточек RGD , но честно говоря не вижу большой нужды в отдельной RGD для создания фабрик в ЛЮБОМ регионе. 

Мне кажется решения в гросбухе вполне достаточно , как вот реализовано в CW2: 
 334.png

И красиво и просто и вполне реалистично. 

А вобще насколько исторично добавление решения о строительстве новых фабрик в условиях гражданских войн ?  

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

 

_________
добавлено 1 минуту спустя
6 часов назад, Red_ сказал:

Что ж, остаётся только выяснить недочёты в коде

Мне кажется надо отталкиваться от кодов добавления фабрик в игре PON .

 

Изменено пользователем Northern Neighbour

Northern Neighbour

@Red_

И прошу обратить ваше внимание что у меня созданы обширные базы по коду Ageod:

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.  (все команды для эвентов )

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

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

 


Northern Neighbour
16 часов назад, Red_ сказал:

, Добавил 10-й элемент Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. (10Factory.str) в C:\Games\Espana 1936\SCW\GameData\Structures (составил его на основе 7-го -- 7ArmsFactory.str)

Цитата

UID = 10
Name = $stc_nam_Factory
Text = $stc_txt_Factory
Bitmap = Blank
Z = 2

NoRazeLevel = 1
InCityScape = 1
IsProdSite = 1
Supply = 10
VPLossOnStcLost = 5

BuildWeightLand = 5
BuildWeightNaval = 0

RecoverRate = 50
RecovUseLevel = 1
RecovKind = $Land

RplMinLevel = 1
PillagerCanCapture = 1
MaxLevel = 1

SupplyProd = 10
MoneyProd = 25
AmmoProd = 0
PowerProd = 0
SupplyWant = 15
AmmoWant = 0
PowerWant = 0
MinLevelSend = 1
MinLevelWant = 1

в вашем коде новой  структуры Factory я не вижу ключевой строки 

Alias =


Northern Neighbour
(изменено)

@Red_ 

И кстати , нашел у коллеги zenvaro , тоже делающего мод с  портированием RUS на движок TEAM , такую фразу

Цитата

Пометочка - похоже, что отображаются в виде карточек только региональные решения с Kind = $rgdSocial. Именно так получилось отобразить реквизиции и именно так прописано вообще у всех региональных решений в EAW

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

Изменено пользователем Northern Neighbour

Northern Neighbour
(изменено)

@Red_ 

"давайте плясать от печки " , разберём проблему последовательно:

 

1) вы можете добавить фабрику со старта сценария ? Что бы она отображалась в структуре города и работала ?

 

2) вы можете добавить фабрику с помощью указов на вкладках F2-F4 ? 

Как в игре CW2

334.png

 

 

 

Если (или когда ) первый и второй пункт будут полностью работоспособны -  можно переходить к

 

3) добавления простой работающей  политической RGD ,  по примеру игры Espana36. 

 

Если опыт удачный ,переходить к след. пункту

 

4) добавление карточки RGD о строительстве фабрики в любом регионе, как в игре PON. 

 

Имхо так конечно намного медленнее , но это позволит  выявить и понять где могут быть ошибки . 

Ну и проработка способа добавления фабрик (или чего иного) с помощью пунктов 1 и 2 тоже пригодится для моддинга . 

 

 

ps: не хотите присоединиться к нашему проекту глубокого моддинга RUS , с переносом игры на движок TEAW/WON - ? 

 

 

Изменено пользователем Northern Neighbour

7 часов назад, Northern Neighbour сказал:

в вашем коде новой  структуры Factory я не вижу ключевой строки 

Alias =

да, но что интересно, я видел, что и у всех изначально существующих файлов построек в SCW Alias-ы отсутствуют;
я где-то читал здесь Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. , что постройки могут функционировать вполне успешно и без Alias-ов.

_________
добавлено 3 минуты спустя
7 часов назад, Northern Neighbour сказал:

@Red_

И прошу обратить ваше внимание что у меня созданы обширные базы по коду Ageod:

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.  (все команды для эвентов )

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

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

 

да, был бы рад помочь, чем смогу.


(изменено)
7 часов назад, Northern Neighbour сказал:

@Red_

И прошу обратить ваше внимание что у меня созданы обширные базы по коду Ageod:

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.  (все команды для эвентов )

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

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

 

и конечно, Ваши базы помогли.

В частности, смог активировать фракцию Китая в Pride of Nations и даже Тайпинов.
Но я заметил, что с правилом "номер фракции в её файле + 1 млн" можно промахнуться; я так случайно активировал фракцию Словении, а не Тайпинов.
Я выяснил, что важнее в файлах сценария по Вашей схеме всё же искать UID фракций, а этот номер будет полностью соответствовать аналогичному из родного файла фракции, как я понял

Изменено пользователем Red_

9 часов назад, Northern Neighbour сказал:

Ну ведь  в Espana (которая по сути мод к RUS)  карточки RGD работают для отдельных регионов

Действительно.


Northern Neighbour
14 минуты назад, Red_ сказал:

да, был бы рад помочь, чем смогу.

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

 

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

_________
добавлено 2 минуты спустя
11 минуту назад, Red_ сказал:

частности, смог активировать фракцию Китая в Pride of Nations и даже Тайпинов.
Но я заметил, что с правилом "номер фракции в её файле + 1 млн" можно промахнуться; я так случайно активировал фракцию Словении, а не Тайпинов.
Я выяснил, что важнее в файлах сценария по Вашей схеме всё же искать UID фракций, а этот номер будет полностью соответствовать аналогичному из родного файла фракции, как я понял

Активацию фракций проще делать через команды консоли ,

 

мы как раз так и добавляем страны для новых игроков в  нашей МР PON, сейчас у нас 20 фракций управляются игроками . 

 


8 минут назад, Northern Neighbour сказал:

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

 

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

_________
добавлено 2 минуты спустя

 

 

Благодарю.

_________
добавлено 1 минуту спустя
8 минут назад, Northern Neighbour сказал:
добавлено 2 минуты спустя

Активацию фракций проще делать через команды консоли ,

 

мы как раз так и добавляем страны для новых игроков в  нашей МР PON, сейчас у нас 20 фракций управляются игроками . 

 

Пробовал через консоль сначала, но Pride of Nations очень специфическое творение; выдало кучу ошибок, после чего приложение вылетело.
В общем, с Pride of Nations мне удалось открыть фракцию только путём правок в сценарном файле.


Northern Neighbour
1 час назад, Red_ сказал:

Пробовал через консоль сначала, но Pride of Nations очень специфическое творение; выдало кучу ошибок, после чего приложение вылетело

Никогда такого не встречал ..


Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 78
  • Создано
  • Последний ответ
  • Просмотры 13202

Лучшие авторы в этой теме

Популярные сообщения

Northern Neighbour

Здесь я буду выкладывать различные инструкции,справочники и таблицы для понимания основ игр и создания модов к ним. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. 2

Northern Neighbour

Таблица ВСЕХ настроек игр Ageod - Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Northern Neighbour

Mikela

Я заинтересовался просмотра хода игры ИИ против ИИ, и по пути к этому, освоил команду ChangeFaction xxx (xxx - WHI, RED и т.д.)). Эта команда только для просмотра состояния дел у ИИ-фракций. Благода

Edward75

Пытаюсь начать играть в To End All Wars, и первое что для меня вводит в заблуждение - это карта! Мало того, что сделана как-то через чур по детски. Тот случай когда проще - было бы лучше! Вобщем, что

Northern Neighbour

Northern Neighbour

Northern Neighbour

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу
×
×
  • Создать...