Найти в Дзене
Tek-Чан

Гайд по созданию модов RimWorld-

-Это отдельная сторона монеты, что скрывает целый мир, созданный другими игроками, или разработчиками(ага, щяс:3)
Благодаря обновлению 1.1, модить может каждый, как и тогда, просто теперь это и запарнее, и легче.
Необходимая утилита
<notepad++>
Мы не будем писать всё с нуля, а будем сначала изучать(как блин и должно быть).
Сначала разберем базовые статистики предметов(для тех, кто вообще не изучает языки программирования, такие как c++ или джава(примитивы, хотя есть ещё и паскаль)).
-
Вот содержимое папки -Core- , по сути сердце игры и её содержимое.
-
Да Далее:
Открываем второе окно(я про проводник), и там находим папку mods.
Создаем Новую Папку, и называем как пожелаете. Далее создаем в этой папке папку Defs(можно предварительно создать папку 1.1 и поместить Defs туда, но так ваш мод будет труднее переводить(будто кому-т надо:D))
И так. Т.к. данный пример будет основан на протезах, то мы создаем внутри папку Hediffs, а внутри создаем новый текстовый файл:
Пример дебила: Итак
Дал


Моды RimWorld'a:
-Это отдельная сторона монеты, что скрывает целый мир, созданный другими игроками, или разработчиками(ага, щяс:3)

Благодаря обновлению 1.1, модить может каждый, как и тогда, просто теперь это и запарнее, и легче.
Необходимая утилита
<notepad++>
Мы не будем писать всё с нуля, а будем сначала изучать(как блин и должно быть).
Сначала разберем базовые статистики предметов(для тех, кто вообще не изучает языки программирования, такие как c++ или джава(примитивы, хотя есть ещё и паскаль)).
-
Вот содержимое папки -Core- , по сути сердце игры и её содержимое.
-
Да

Pawns-существа, Things-предметы/вещи, материальное(по понятию. Это нам не надо сейчас.)
Нам под пример нужна папка Stats(тут содержатся некоторые состояния, к которым можно будет отсылаться), и папка HediffDefs(А тут содержатся состояния здоровья, включая протезы.)
--!
Я буду писать в этом мелком окне, т.к. не смог найти то, как перемещать в новой версии яндекса картинки... А не, смог:)
/!--
Итак...
Pawns-существа, Things-предметы/вещи, материальное(по понятию. Это нам не надо сейчас.) Нам под пример нужна папка Stats(тут содержатся некоторые состояния, к которым можно будет отсылаться), и папка HediffDefs(А тут содержатся состояния здоровья, включая протезы.) --! Я буду писать в этом мелком окне, т.к. не смог найти то, как перемещать в новой версии яндекса картинки... А не, смог:) /!-- Итак...

Далее:
Открываем второе окно(я про проводник), и там находим папку mods.
Создаем Новую Папку, и называем как пожелаете. Далее создаем в этой папке папку Defs(можно предварительно создать папку 1.1 и поместить Defs туда, но так ваш мод будет труднее переводить(будто кому-т надо:D))
И так. Т.к. данный пример будет основан на протезах, то мы создаем внутри папку Hediffs, а внутри создаем новый текстовый файл:
Пример дебила:

Как будто бы на словах не понятно, хотя если вы новик(новичок) в римворлде, то вам будет полезно знать базу.(базу чего?)
Как будто бы на словах не понятно, хотя если вы новик(новичок) в римворлде, то вам будет полезно знать базу.(базу чего?)

Итак
Далее- Переименовываем его(у вас скорее всего не будет " .txt " приписки. Она является форматом(расширением), который можно менять меняя эту самую приписку. Её можно включить в панели управления-параметры папок-вид-скрывать расширение файлов(надо убрать галочку, после чего у вас будет отображаться расширение). -Меняем расширение с .txt на .xml

-

Я назвал так, как это названо в ядре(Core).

-3

Далее открываем файл в notepad++ правым щелчком мыши.



<?xml version="1.0" encoding="utf-8" ?>

<Defs>

<!-- Base: Bionic body part (spacer tech) -->
<ThingDef Name="BodyPartBionicBase" ParentName="BodyPartBase" Abstract="True">
<techLevel>Spacer</techLevel>
<thingCategories>
<li>BodyPartsBionic</li>
</thingCategories>
<graphicData>
<texPath>Things/Item/Health/HealthItem</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>0.80</drawSize>
<color>(189,169,118)</color>
</graphicData>
<tradeTags>
<li>Bionic</li>
</tradeTags>
<techHediffsTags>
<li>Advanced</li>
</techHediffsTags>
<statBases>
<WorkToMake>26000</WorkToMake>
</statBases>
<recipeMaker>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Smith</effectWorking>
<soundWorking>Recipe_Smith</soundWorking>
<unfinishedThingDef>UnfinishedHealthItemBionic</unfinishedThingDef>
<skillRequirements>
<Crafting>8</Crafting>
</skillRequirements>
<researchPrerequisite>Bionics</researchPrerequisite>
<recipeUsers>
<li>FabricationBench</li>
</recipeUsers>
</recipeMaker>
</ThingDef>
<!-- Bionic eye -->
<HediffDef ParentName="AddedBodyPartBase">
<defName>BionicEye</defName>
<label>bionic eye</label>
<labelNoun>a bionic eye</labelNoun>
<description>An installed bionic eye.</description>
<descriptionHyperlinks><ThingDef>BionicEye</ThingDef></descriptionHyperlinks>
<spawnThingOnRemoved>BionicEye</spawnThingOnRemoved>
<addedPartProps>
<solid>true</solid>
<partEfficiency>1.25</partEfficiency>
<betterThanNatural>true</betterThanNatural>
</addedPartProps>
</HediffDef>
<ThingDef ParentName="BodyPartBionicBase">
<defName>BionicEye</defName>
<label>bionic eye</label>
<description>An advanced artifical eye. With its biogel nerve-link, internal signal pre-processor, and wide-spectrum sensors, it is better than a biological eye in almost every way. A lattice-dust healing system allows it to recover from damage.</description>
<descriptionHyperlinks><RecipeDef>InstallBionicEye</RecipeDef></descriptionHyperlinks>
<costList>
<Plasteel>15</Plasteel>
<ComponentSpacer>4</ComponentSpacer>
</costList>
<thingSetMakerTags><li>RewardStandardMidFreq</li></thingSetMakerTags>
<statBases>
<Mass>0.3</Mass>
</statBases>
</ThingDef>
<RecipeDef ParentName="SurgeryInstallBodyPartArtificialBase">
<defName>InstallBionicEye</defName>
<label>install bionic eye</label>
<description>Install a bionic eye.</description>
<descriptionHyperlinks><ThingDef>BionicEye</ThingDef></descriptionHyperlinks>
<jobString>Installing bionic eye.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>BionicEye</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>BionicEye</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>Eye</li>
</appliedOnFixedBodyParts>
<addsHediff>BionicEye</addsHediff>
</RecipeDef>

В нотепаде(блокноте)++ будет проще ориентироваться, чем по надписям из дзена, так что далее будут фото с инструкцией.



Это наш протез, но только в установленном состоянии. То есть все состояния и баффы, по типу эффективности органа устанавливаются тут.
DefName- это имя, или ссылка, к которой будут отсылаться действие имплантирования или объекта(предмета).
Label- это имя, которое будет показываться в игре.
Description- это описание предмета, которое будет показываться при открытии окна с информацией об установленном протезе.
<descriptionHyperlinks><ThingDef>BionicEye</ThingDef></descriptionHyperlinks> это гиперссылка", которая будет давать возможность переходить к информационному окну предмета в игре(не только).
SpawnThingOnRemoved- внутри этой строки будет указываться то, какой предмет будет оставаться после удаления протеза из поселенца.

Так, перейдем к главному-В свойстве PartEffectency указывается эффективность органа.

-4

В <stages> записывается состояние обьекта доп.ор, короче для вас это различные множители и здоровье.(сознание например) Мы добавили <ImmunityGainSpeed>0.08</ImmunityGainSpeed>, что бы скорость иммунизирования возрасла на 80 процентов(вроде.) Далее просто заменяем названия, описания и отсылки. По примеру

Далее проделываем также с двумя другими блоками, и получаем уже готовый имплант. Лучше не менять самый первый блок, который содержит информацию о всееех имплантах данного документа(смотря как написали)
Далее проделываем также с двумя другими блоками, и получаем уже готовый имплант. Лучше не менять самый первый блок, который содержит информацию о всееех имплантах данного документа(смотря как написали)

Статью я делал хоть и пару часов, но предпологаю этого мало. Попробуйте поизучать остальное сами. Если вы плохо знаете английский, то лучше спросите мододелов, или начните изучение сами. Если у вас пиратка, то мод опубликовать нормально не получится на стиме:( В любом случае удачного моддинга прочитавшим, а тем кто зашел просто посмотреть удачного дня/ночи/мудлета!

-

Спасибо за прочтение!

-