Ответы на вопросы по моддингу RimWorld #1 — рандомизация шанса событий - RimWorld гайд

Автор: KOLAMBUS

Описание видео гайда

Текстовая версия гайда (автоматически созданные субтитры)

Всем привет недавно в группе задали интересный вопрос а можно ли у событию которых шанс фиксированный сделать шанс трон don’t каждую новую игру не вопрос показался довольно интересно и я решил сделать видео о том как это реализовать мы воспользуемся тем что df и в рамках игры.

Нервы не иные сохранения уникальные изменив значение у него мы вовлечем эти изменения абсолютно во всей игре приступим создаем новый проект создание проектов а как создать также свой проект и объяснял в самом первом видео вы можете посмотреть если интересно а нам понадобится библиотека классов там я подробно объясню почему что их берем здесь я на этом останавливаться не буду я лишь покажу непосредственно саму реализацию назовем его и мисс randomize выберем какую-нибудь папку альбом далее и создать а работать мы будем через компоненты в частности game компонента них я вообще компонент я буду еще рассказывать в следующих видео сегодня я не буду особо останавливаться конкретно на механизмах я лишь расскажу о том что мы будем использовать и как это будет работать нажимаем properties.

Выбираем здесь 35 клиент профиль не забываем подключить в ссылках две ссылки на игровые библиотеки они находятся в папке с игрой rimworld да там они gets нам понадобится assembly к из sharp и да и линьки нажимаем правой кнопкой свойства выбираем копировать локально это непринципиально из убрав локально они не будут скопированы в конечную папку при компиляции нам это просто ему что это лишь нему удалим наш класс и создадим новый назовем его events can do my затар дело публичным и на следующие ким компонент и здесь начинается самое интересное магия в игре существует несколько компонентов в частности один день куб нет один из них это компонент в рамках целого сохранения о чем такой глобальный висит над этим сохранением когда мы ну наследуется от него нам не где требуется его нигде регистрировать то есть нам достаточно у наследоваться и можно использовать его методы здесь есть несколько правда загвоздок первое это нам понадобится два конструктора они могут они должны быть точно out пустыне и не пустые это уже не важно иначе будет ошибка простой и game game теперь мы можем начать непосредственно делать рандов для этого есть такой метод как start new game.

Он вызывается один раз при начале новой игры а именно когда будут видите вот эту иконку.

Сообщения от сценария и вот ваши поселенцы приземляются создаем и номер и номер был инцидент дефов это наши девки с событиями которые мы и будем менять за переменные цедент получить доступ ко всем вот этим единичным экземпляром дефов мы можем через dvd то база указав какой дев мы хотим сделать и здесь есть лдс или лист ну в принципе мы возьмем простой без которого за счет как раз такие номера был теперь мы можем сделать цикл совсем небольшую переменную назовем license сгенерировать шанс истощение шанс а именно конкретное число мы можем с помощью раунд range.

Где указывается диапазон от 1 до 100 здесь важно отметить что от 1 до 99 то есть 100 не берется чтобы собралось нам нужно использовать раньше инклюзив мы возьмем просто раньше параметр отвечающий за шанс у дев и называется bass.

Для этого берем инцидент bass ченс и устанавливаем license.

Разумеется таким же способом вы можете поменять любой другой параметр а именно давайте посмотрим что мы можем поменять мы можем поменять биомы для которых доступен с доступно события категорию ченс факторов buy population это по факту модификатор в зависимости от количества людей даже дивные можем поменять но разумеется не которые правят лучше не менять например allowed by am категория в принципе лучше не трогай потому что давай так что событие завязано какой-то beem и если оно будет происходить в другом биоме это может вызвать ошибки.

Безопасные параметры to pay sens юрий шиндо и сверлишь да и по факту letter description можно поменять сложность популяция кулдаун point это все в принципе безопасные параметры изменения которых ну покрайней мере критических ошибок точно не вызовет теперь после запуска игры наши события перемешаются но после перезапуска игры или пири-пири заходе на сохранение.

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

Licenses затем dictionary.

И добавим наш инцидент и не часть готова теперь нам остается сохранить это все и загрузить при запуске игры сохранить можем с помощью известного нам метода expanse дата воспользоваться можем skype kollection который работает как для массивов так и для коллекции ченцы.

Здесь важно отметить что здесь мы выбираем лук моды df то есть для ключа а для значения мы выбираем well это просто значения а а так как div и уникальный то есть они после запуска игры.

Единичные то используя df при запуске игры мы как раз таки поместим в коллекцию включи эти ссылки единичны и поэтому будем работать не с копиями из-за чего изменение их не повлекло бы никаких изменений в оригинале а именно с оригинальными значений поэтому нам нефти от х видимости как-то специальных там подгружать.

Изменять потом вообще везде прочее прочее прочее остается только подгрузить непосредственно в игре для этого воспользуемся методом loaded день делаем небольшой метод.

Убирает сенсиз вызове.

Здесь делаем цикл о нашем шансом 3 инцидент он находится в ключе берем ps chance.

Берем incident и берем в индию а по ключу нас единичная ссылка берем опять у него был шанс.

А так как у нас значение наш новый шанс мы его и устанавливаем и там в принципе можно скомпилировать и попробовать посмотреть что же у нас получилось гречку проводнике нажимаем заходим в бен релизу выбираем здесь релиз можно в принципе дэбак смотрите сами но лучше в релиз до баги.

Ваша днк может работать медленнее а я создал простенький проект прошу прощения мод просто папка в ней папка bow с файликом about такого наполнения и папочка от земли сам в принципе больше ничего не понадобится.

Теперь мы можем запустить игру и посмотреть что же у нас получилось итак мы в игре давайте посмотрим что есть модах активируем его здесь клэнси пушки иконки нет вы можете поставить если ходить и попробуем начать полу выберем какую планету вот теперь сработал тот метод loaded game и теперь мы можем посмотреть а что же случилось нашими шансами посмотреть это можно во второй шестеренки здесь есть миски инцидент шанс и мы видим что шансы перемешаны то есть теперь у них есть и девяносто девять и пятьдесят а почему он значение так играя сортирует хотя сортирую довольно странно видно что в конце не есть какие-то другие но в принципе это все видно попробуем сохранить нашу игру например под 6 зайдем в папку с сохранениями прошу прощения находится она в отдать и locallow.

Люди он studios в гору секс вот 1 6 сайт откроем его сохраняет он по randomize ru поэтому пишем просто randomize и находим его и так вот они game компоненты подальше вот он наш events.

Организаторами тв randomize который мы создавали воду пространство имен сам класс и откроем его здесь у нас есть шансы видно что ключи это просто дым который потом будет загружен они же идут значения и мы видим что они действительно просто тотальной перемешивают и 11 из 6-ти 82 и 50 и 1 и 6 но как мы видим 100 нету потому что мы не взяли раньше эксклюзив теперь остается только попробовать загрузить новую игру и проверить естественный работает сохранения давайте создадим новую.

Жмем сюда.

Making sense а на первом месте здесь нас superhot wave hard мигрейшн 98 93.

Сохраним под семеркой.

И попробуем запустить шестерку зайдем сюда сюда и видим что опять наш request был базы 99 96.

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

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

Другие гайды автора - KOLAMBUS

Другие гайды, похожие на "Ответы на вопросы по моддингу RimWorld #1 — рандомизация шанса событий"

При каждом нажатии на ниже представленную кнопку, будут выводиться похожие гайды на "Ответы на вопросы по моддингу RimWorld #1 — рандомизация шанса событий". Также для удобства поиска используйте ссылки на теги, которые расположены выше (в конце описания гайда).

Чтобы приступить к поиску, введите ваш запрос и нажмите клавишу «ENTER»