Rimworld мод своими руками
Всем привет.
Хочу узнать есть ли мод на:
— повышение производительности для большой карты (типа отключение анимации ветра для растительности на карте или тому подобное)
— на указание зоны, где будут тусоваться торговые караваны (чтоб не шарились по комнатам со спящими поселенцами) и чтоб в этой зоне обустроить для них апартаменты, которые будут влиять на отношения с фракцией и на цены в общем.
— для ужесточения сложности и большего кол-ва событий (например что бы не только в начале игры могли присоединиться случайные поселенци, но и в поздних стадиях игры, а так же, чтоб при длительном плохом настроении симсы могли свалить с вашего поселения и еще, чтоб у симсов из торговых караванов могло возникнуть желание присоединиться к поселению, если оно богато и привлекательно)
— отношений (типо налет на ваше поселение, но среди нападающих какой-нибудь родственник ваших симсов затесался и он может предать своих или типо того)
— для создания плодородной земли, путем исследования удобрений и т.п.
— чтоб как то сточить долбанный каменный потолок, который остается после скапывания горных массивов.
— адекватные стойки хранения инструментов\оружия\брони (более вместительные и с настраиваемым управлением под каждого конкретного поселенца (как с кроватями «назначить поселенца» или типо того, чтоб в случае нападения, можно было просто активировать команду на «личных шкафчиках» и поселенец бежал надевать броню и менять кирку на винтовку)
Rimworld мод своими руками
Активируется на кнопку Home
Бесконечная энергия крафт бесплатный
Уникальный способ сделать уникальные предметы для ваших особых колонистов: случайным образом зачаровывает снаряжение.
Хорошо подходит к моду No Random Construction Quality
какое длинное название
Этот мод изменяет качество предметов теперь если у вашего колониста 20 уровень ремесла то 100% шанс на крафт легендарного предмета
мой любимый мод
отлично подходит к моду Mad skills https://steamcommunity.com/sharedfiles/filedetails/?id=731111514&searchtext=mad+skills
Диапазон Уровней Квалификации И Результирующее Качество Товара
0-3 ужасно
4-7 Плохо
8-10 Нормально
11-13 хорошее
14-16 Отлично
17-19 Шедевр
20-20 Легендарно
Мод Mad Skills для Rimworld — изменяет систему деградирования навыков колонистов. Мод можно настроить в трех вариациях деградирования навыков.
Навыки никогда не деградирует
Навык деградирует до 1% на текущем уровне. Уровни не деградируют.
Мод Android tiers для Rimworld — добавляет в игру андроидов.
Этот мод направлен на добавление нескольких уровней разумных андроидных колонистов, роботов, мехов и других функций. В попытке значительно расширить колонии поздней игры.
2 Новые Фракции Android
70 предысторий Android
5 уровней android
Мех и 5 мех оружия
5 роботизированные животные
ИИ облако
Новые Материалы
Новый тип минометного снаряда
Более 70 + различных деталей / имплантатов для андроидов
5 специфических имплантатов / деталей для собак Android
4 специфичные для Android заболевания
Много высококлассных исследований
Пользовательские макеты тел для андроидов и животных
Искусственные мозговые имплантаты, изменяющие способности
Изготовление Персоны ИИ
2 Новых Инцидента
5 специфичных для Android » лекарств»
Особые возможности андроид
можно создать имбу которая уничтожит всё и вся
во вкладке разное
Позволяет просто создать базовые ресурсы за 10 серебряных. Вот и все.
Он добавляет нефть и с помощью него можно построить напалмовую защиту и производить миллион хим топлива в день и продавать
Этот мод добавляет 2 новых верстака, 5 новых частей брони, 3 новых предмета, 2 мощные турели и 6 новых мощных орудий божьей силы, сделанных из технологии темной материи.
Враги не должны появляться с этими предметами.
Производство темной энергии Позволяет построить преобразователь материи и способность производить темную энергию
Изготовление Темной Материи Позволяет получить доступ к Ковке и изготовлению Темной Материи и Темной Стали
Одежда из Темной Материи Позволяет создавать всю броню из Темной Материи
Защита от темной материи Позволяет создавать две башни из Темной Материи
Содержащая Темную Энергию
Стоит 40 урановых, 50 пласталевых и 20 золотых
Сделано в преобразователь материи
Содержащиеся Темной Материи
Стоимость 3 Содержится Темная Энергия
Сделано в преобразователь материи
Мраморная Темная Сталь
Стоимость 1 темная материя, 10 пластался на 10 темная сталь
Сделано в преобразователь материи
Потемневшая Темная Сталь
Стоимость 1 темная материя, 10 пластался на 10 темная сталь
Сделано в преобразователь материи
Золото Темная Сталь
Стоимость 1 темная материя, 10 пластался на 10 темная сталь
Сделано в преобразователь материи
Белая Темная Сталь
Стоимость 1 темная материя, 10 пластался на 10 темная сталь
Сделано в преобразователь материи
Черная Темная Сталь
Стоимость 1 темная материя, 10 пластался на 10 темная сталь
Сделано в преобразователь материи
Коса Темной Материи:
Сверхвысокая Скорость Атаки
100 употр
Требуется навык крафта 12, чтобы сделать
Стоит 15 Темной стали и 2 темной материи.
Копье Темной материи:
Сверхвысокая Скорость Атаки
100-150 употр
Требуется навык крафта 12, чтобы сделать
Стоит 15 Темной стали и 2 темной материи.
Меч Темной Материи:
Сверхвысокая Скорость Атаки
50-100 Дмг
Требуется навык крафта 12, чтобы сделать
Стоит 12 Темной стали и 2 темной материи.
Доспехи: Все доспехи могут быть использованы дворянами
Темный Жилет:
Защита по умолчанию 90% в Остром, Тупом и жарком.
Увеличивает скорость на +3.00
Стоит 25 Темной стали и 2 темной материи
Боевые штаны из Темной Материи:
Защита по умолчанию 90% в Остром, Тупом и жарком.
Увеличивает скорость на +15.00
Стоит 25 Темной стали и 2 темной материи
Броня из Темной материи:
Защита по умолчанию 200% в Остром, Тупом и жарком.
Увеличивает скорость на +18.00
Стоит 50 Темных Сталей, 10 Продвинутых компонентов и 4 темных вещества
Шлем Темной Материи:
Защита по умолчанию 200% в Остром, Тупом и жарком.
Увеличивает скорость на +18.00
Стоит 20 Темных Сталей, 5 Продвинутых компонентов и 4 темных вещества
Пояс щита темной материи:
Щит Сумма = 550
Щит Маны = 120
Стоит 20 Темной стали и 2 темной материи
Это мод, который добавляет черту в игру. Это очень читерский и сильно разбалансирует игру.
Это 0,01% шанс появиться на пешке, чтобы добавить эту черту к вашей пешке, вам понадобится редактор символов.
V1.2A
Этот мод Делает вас похожим на Бога.
Действительно ОП черта, как и ДЕЙСТВИТЕЛЬНО ОП. ++20 для всех состояний с более чем смешной защитой и скоростью передвижения в придачу, делает вас довольно близким к неубиваемому, и если это то, что вы хотите, то не смотрите дальше.
Простой XML-мод, поэтому он не должен ничего ломать с базовой игрой или другими модами (но я не делал много тестов, кроме использования его в паре прохождений).
По умолчанию эта черта считается чрезвычайно редкой, но это, похоже, не мешает всем пешкам случайно получить ее (это просто снижает шансы). Чтобы обойти это (в случае, если вы не знали), просто выберите сценарий, который вы хотите воспроизвести, зайдите в редактор сценариев и выберите «Forced Trait», найдите «Overkill (A God Trait)» для этого мода, выберите «неигровой персонаж» (или «все персонажи», если вы используете что-то вроде Редактора персонажей) и установите шанс равным 0%.
SNS: AOTC совместим с сохранением игры.
По словам комментатора, если вы используете платформу D9, вы должны загрузить ее ПОСЛЕ SNS: AOTC.
ССЫЛКА: Официальный сервер Discord.[discord.gg]
Мой сервер Discord, несомненно, будет первым, кто получит от меня пики скрытности И прямые опросы, когда я их придумаю.
SNS: AOTC, по сути, является полным. Помимо незначительных дополнений и обновлений для работы с последними версиями RimWorld, SNS: AOTC в ближайшее время не получит никаких существенных обновлений.
Это не означает, что ничего более связанного с SNS никогда не станет, однако, поскольку теперь, когда я исчерпал свое расширение vanilla, я сейчас рассматриваю возможность создания отдельных модов(ules) для SNS, которые расширяют другие моды. Эти модули, очевидно, будут совершенно необязательными. У меня нет никаких обещаний, когда я доберусь до таких вещей, если вообще доберусь.
== ССЫЛКИ НА МОД ==
Все официальные модули / дополнительные моды и кредиты/выкрики.
Наука никогда не останавливается (оригинальный мод)
Оригинальный SNS гораздо более сбалансирован вокруг ванили и является хорошим выбором, если вы хотите пакет модов vanilla+.
Наука Никогда Не Останавливается: Вы Заходите Слишком Далеко
Полный обзор SNS: AOTC с дополнительными знаниями о многих вещах, связанных с создателями SNS (и теми, с кем они связаны)
Наука Никогда не останавливается: НЕУЖЕЛИ НАУКА ЗАШЛА СЛИШКОМ ДАЛЕКО?!
Еще один полный рескин SNS: AOTC, который я придумал в день дурака 2021 года. Начинается веселье.
SNS AOTC: Истинная вершина творения
Аддон 4-го поколения для SNS: AOTC, который намеренно сильно подавлен.
Наука Никогда Не Останавливается: Только Бесконечные Исследования
Вам просто нужно исследование в самом конце SNS и ничего больше? Этот мод идеально подходит для вас. Одна технология, бесконечная исследовательская раковина, идеально подходящая для ванили.
Структура Элитной Бионики
Хотите, чтобы ваша бионика SNS была более здоровой? Структура Elite Bionics предназначена только для вас.
Пешки Просто Не Умирают
Идеальный мод для сопряжения с каркасом Elite Bionics. Знаете ли вы, что если ваши пешки получат в общей сложности 150 единиц урона, они умрут мгновенно? Это хорошо с ванилью, но с EBF+SNS ваши пешки начинают умирать от вырезок из бумаги.
== ЗАЛ СЛАВЫ ==
Люди, которые помогли мне улучшить SNS, от непосредственного предоставления кода до того, чтобы быть силой, которая побуждает меня работать над SNS. Порядок упоминаний-это порядок, в котором они пришли и помогли.
Малкав
Малкав является основным участником SNS: AOTC в целом и создал несколько модов, добавляя дополнительную совместимость для SNS с другими модами. Он также помог исправить ошибку в начале жизни SNS!
Усовершенствованные
защитные пояса dninemfive от dninemfive имеют решающее значение для дальнобойных щитов, которыми обладают Космическая Силовая броня и Броня ХАРОНА. Без него костюмы были бы далеко не такими прочными, как сегодня.
Игры Roll1D2 (URL на YouTube)
Немного отличаясь от зала славы, Roll1D2 Games-создатель контента YouTube, который использовал SNS: AOTC в одной из своих серий и предоставил большое количество мотивации и идей для моего мода, как исправлений, так и функций. Его разногласия тоже помогли.
Armorguy1
Armorguy1 предоставил мне идею башенок для SNS и идеи изображений! 2.3 без него не было бы башенок!
SGl0bGVy
SGl0bGVy предоставил код для исправления CE, что ускорило мое изучение систем CE и, следовательно, обновление!
== ДРУГИЕ ВЕЩИ ==
Все остальное, что не соответствует описанному выше.
Текущая версия 2.8 «Траектория за пределами реальности»
Список изменений (Документы Google)[docs.google.com]
== МОД ==
Для первого посетителя,который решает, хочет ли он использовать этот мод или нет.
Науке никогда, никогда не придет конец. Даже когда мы поверим, что все открытия были сделаны, нам все равно предстоит узнать еще больше о нашей реальности, о нашем состоянии, потому что некоторые вещи навсегда останутся за пределами нашей досягаемости, даже если мы этого не знаем.
Так почему же, если Наука Никогда не останавливается, проводятся исследования?
Добро пожаловать, НАУКА НИКОГДА НЕ ОСТАНАВЛИВАЕТСЯ: КОСМИЧЕСКИЕ АМБИЦИИ! Этот мод направлен на то, чтобы взять оригинальное видение мода и направить его в совершенно другое направление, расширяя дерево исследований и добавляя новое оружие/здания, чтобы соответствовать другим модам, которые увеличивают технологический потолок, например, GlitterTech и Save Our Ship 2.
Мод был первоначально создан Aion Algos (ранее известный как Alestor) и изначально был просто личной модификацией, изменяющей имена, текстуры и балансирующей энергопотребление некоторых предметов. Я НЕ претендую на право собственности на то, что изначально было в моде, и не претендую на оригинальное видение мода.
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: ЭТОТ МОД И ЕГО ОРИГИНАЛ ЯВЛЯЮТСЯ ВЗАИМОИСКЛЮЧАЮЩИМИ: ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ ЭТОТ МОД ИЛИ ОРИГИНАЛ И ТОЛЬКО ТОТ, ЕСЛИ ВЫ НЕ ХОТИТЕ, ЧТОБЫ ВСЕ ПОШЛО ОЧЕНЬ, ОЧЕНЬ НЕПРАВИЛЬНО. ОБЪЕДИНЕНИЕ МОДОВ ПРИВЕДЕТ К АННУЛИРОВАНИЮ ЛЮБЫХ СООБЩЕНИЙ ОБ ОШИБКАХ! БЕРЕГИТЕСЬ!
С учетом сказанного, давайте перейдем к сути мода.
SNS: AOTC включает в себя три «уровня» или «поколения» технологий, каждое из которых постепенно становится все более и более мощным, чем предыдущее поколение. Здесь слишком много технических средств, которые нужно подробно объяснить, поэтому я оставлю обзор всего, что добавлено SNS: AOTC:
Вы когда-нибудь думали, что стандартный лимит на 20 уровней для навыков был слишком ограниченным? Вы когда-нибудь хотели заставить своих пешек сойти с ума от власти? Ну, не беспокойтесь! Это мод для вас!
— Снимает ограничение на 20 уровней, позволяя вашим пешкам подниматься до теоретически бесконечных уровней.
— Устраняет потерю навыков, но скоро будет переработан, чтобы быть лучше.
— Переработан ежедневный лимит навыков, больше не настраивает вас на менталитет «охотиться до 4000 xp».
— Переработает качественную дистрибуцию, сделав ее в целом более разумной.
— Вдохновение более разумно, больше не увеличивает качество напрямую на 2.\
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Вопрос: Могу ли я загрузить этот мод в уже существующее сохранение?
Ответ: Да. Вы должны быть в безопасности, запустив этот мод в существующей игре.
Вопрос: Могу ли я безопасно удалить этот мод из существующего сохранения?
Ответ: В некоторой степени. Если вы удалите этот мод и у вас будет пешка с навыком выше 20, игра заставит навык пешки быть 20. Это означает, что вы потеряете прогресс в навыках выше 20, даже если вы повторно добавите этот мод позже.
Вопрос: Совместим ли этот мод с [x]?
A: Большинство модов должны хорошо работать с этим модом. Я не знаю многих модов, которые напрямую меняют то, как игра обрабатывает уровни навыков. С учетом сказанного, я настоятельно рекомендую вам отключить любые моды, такие как Mad Skills. Пожалуйста, обратитесь к теме обсуждения полного списка несовместимостей.
Вопрос: Нарушает ли это баланс игры?
Ответ: Да
Вопрос: Волнует ли меня, что это нарушает баланс игры?
Ответ: Нет
Крышка уровня снята
Этот мод снимет стандартное ограничение на 20 уровней навыков, позволяя вам *бесконечно* повышать уровень своих пешек. Это означает, что если вы повысите уровень своего конструктора после 20, он будет продолжать строить быстрее, а также чаще создавать мебель более высокого качества! Ремесло может продолжаться до 20-го уровня, где в 30 лет оно может последовательно начинать извергать качественные шедевры!
Однако XP масштабируется с выравниванием. Значительно сложнее повышать уровень по мере продвижения, и без модов, которые помогают в обучении, вам будет трудно получить кого-либо, кто достаточно продвинулся выше 30 уровня.
Небольшое замечание, в настоящее время некоторые вещи, такие как стрельба, на самом деле не становятся лучше после 20 лет. Я придумаю решение для этого позже, но сейчас просто вини Тайнана.
В настоящее время потеря навыков полностью отключена. Обратите внимание, что наличие модов, таких как Mad Skills, на самом деле приведет к пассивному приобретению навыков из-за того, как он справляется с потерей навыков. В любом случае, не рекомендуется запускать Безумные навыки вместе с этим модом.
Есть планы по созданию новой системы потери памяти.
Ежедневный Лимит Навыков
Кикер в том, что страсти теперь напрямую увеличивают лимит навыков для навыка. Если у вашей пешки есть жгучая страсть к навыку, то лимит навыков теперь составляет 3000 xp. Если ваша пешка не заинтересована в навыке, это будет 1000 xp. Это делает страсти в целом гораздо более важными, в то же время не наказывая пешек за то, что они просто балуются навыками. Вы больше не будете стремиться просто отправлять свою незаинтересованную пешку на охоту за 4000 xp в день, они просто не научатся этому так быстро.
Качественное распределение было переработано, чтобы действительно иметь смысл при более высоком уровне квалификации. Я избавлю вас от необходимости просматривать код Тайнана (если вы хотите помучить себя таким, прочитайте раздел «БОТАНИЧЕСКИЕ ШТУЧКИ»), но в основном в ванили он следовал слегка линейному графику и применял гауссовское смещение распределения к качеству, делая его сильно случайным. Это уже не так (в некоторой степени).
Качественное распределение теперь заменено разумным уравнением, которое следует изогнутому образцу, делая его таким, чтобы по мере повышения уровня он давал значительно более убывающую отдачу. Распределение Гаусса было сильно снижено, что делает его гораздо менее важным (но оно все еще существует!)
Уровень 0: в основном ужасный, некоторые бедные
Уровень 2: в основном бедные
Уровень 5: в основном нормальный
Уровень 10: в основном хороший
Уровень 20: в основном отлично
Уровень 35: в основном мастерские работы
Уровень 90: в основном легендарный
Опять же, повторяю, что из-за гауссовых смещений они невероятно искажены. Просто ведите себя так, как будто вы в значительной степени играете в XCOM!
Рано или поздно я напишу для этого что-нибудь более связное, так как я все еще возюсь с цифрами. Но для всех моих ботаников там, вот как все рассчитывается:
+ ОПЫТ для повышения уровня +
(текущий уровень + 1) / 10 * ((текущий уровень + 1) / 10 + 1) * 5 * 1000
+ Дневной Лимит навыков +
passion_mod равен 0,5 для незаинтересованных, 1 для заинтересованных, 1,5 для жгучей страсти.
saturation_mod = Математическая минута((1 / (xpSinceMidnight / passion_mod)) * 2000, 1)
модификатор-это уровень мастерства пешки.
Однако, если пешка вдохновлена, она изменит модификатор на: (Уровень мастерства * 2) + 10
После того, как вы получите базовый навык, мы должны применить распределение Гаусса, чтобы пешки все еще могли бросать вещи, несколько выходящие за рамки их уровня мастерства, но маловероятно, что они это сделают. Мы заставляем его склоняться к получению более высокого броска, потому что более увлекательно кататься выше вашего уровня мастерства.
rngRoll = Математический максимум( гауссианасимметричный(bySkill, 0,3 f, 0,5 f), 0)
Наконец, зажмите его где-то между 0-6, потому что нет уровней качества выше Легендарного и ни одного ниже Ужасного.
Описание видео гайда
Написание модов для RimWorld.
Ссылка на мой проект: RimOverhaul.
Ссылка на мод из видео: MyMod.
Ссылки на программы:
Текстовая версия гайда (автоматически созданные субтитры)
Прошлом видео мы с вами установили все необходимые программы.
В этом видео мы с вами разберем из чего состоит папка нашего мода как происходит загрузка мода и начнем писать нашу duele el que а именно разберем то как работают события папка вашего могут может содержать до 7 попав это about которая содержит информацию о вашей моде assemblies вниз находится библиотеки devs содержит div и longue часа держите за к вы и файлы подчас содержит патчи соус звуки а текстуры текстуры начнем с about здесь может находиться до 3 файлов это publish it felt который содержит айди мода в стиме если вы не публикуйте в стиме или вы собираетесь покупать то в принципе вам об этом знать не обязательно к тому же он создается автоматически при публикации превью эта картинка которая отображается мелким планом в стиме когда вы смотрите моды либо же когда вы заходите в раздел mods в игре.
Здесь важно отметить что картинка должна быть 640 на 405 начинаний будет работать вместо него будет крестик файл about содержит информацию о моде 10 на им это ими мода автор description описание и поддерживая версии здесь стоит отметить что пишется первая часть версии то есть вы знаете выходит множество подчищать нам 10 команде in и тому подобное и чтобы покрыть все эти патчи пишется просто 10 то есть любые версии 10 плюс будут работать если игрок скачает ваш мод и у него не будет совпадать версия которая написана здесь не мог будет подсвечен красным цветом затем идет папка сэм близ в ней содержатся библиотеки.
Здесь стоит отметить что помимо того что вы можете выставить приоритет загрузки модов в папке assemblies также может содержаться несколько d-link для чего это нужно если вы будете разбивать свой мод на несколько под модов а именно под деле лик то некоторые для ляльки могут быть.
Зависимых друг от друга тогда важно чтобы в проводнике вот прямо здесь они находились в порядке чтобы зависимые были ниже чем те от которых они зависят простой пример гармония когда вы качаете — гармоний там всегда есть 2d или лефке 0 гармония и имя мода 0 гармония сделаю для того что именно начинающий с цифр у windows.
Имеет приоритет поэтому не будут находиться выше следовательно гармония будет загружено 1 а потом будет загружен мог случае если у вас будет парень и порядок the brood ошибки с кем идет папка devs.
Когда вы запускаете игру reworld шуршит все моды и все пап и все папки devs и собирает оттуда div и а где они лежат и могут особо не важно up call on beach папка ландыш содержит себе языке формат простой папка с языком их можно также посмотреть зайдя в папку с игрой в папку core и здесь нажав лан вич здесь есть список в основном использующих языков вы можете просто скопировать вы взять за основу мы же пса рассмотрим с вами русский а внутри может находиться множество папок но часто использована этот div injected и кейт объясняю когда вы создаете какой-то предмет у него в дефе.
Есть какие-то поля например лейбл который отражает его имя дискрипшн которая описывает его описания для того чтобы их перевести используется div injected здесь иерархия довольно простая создается папка которая именуется как называется класса дефо например предметы описываются passing дав тогда чтобы перевести все предметы мы создаем папку tkinter.
Это очень важно если будет файл будет лежать в другой папке любой которая не отражает.
Перевод не будет работать внутри же теперь можно разбивать абсолютно как угодно опять же создавать какие-то подпапки называть файлы каком угодно и тому подобное папка кейт содержит себе xml и которая переводится по типу ключ-значение то есть например а у вас есть какой то события когда в котором есть какая-то надпись.
Мода с которым может работать ваш мод папка сон содержит звуки здесь в принципе так же можно использовать любое количество папок и называть их абсолютно хоть как и папка текстура аналогично подписаться здесь просто складываются текстуры которые также могут находиться в любом любых папках и так далее итак основной темой которую хотел сегодня разобрать это событие.
Игровые события в игре делятся на два типа это инциденты и игровые условия инцидент и они происходят грубо говоря по щелчку то есть они делают какой-то месте исчезают да есть а может быть какой-то продолжительные например они могут заспавнить какое-то строение.
Рейд и тому подобное но само событие на уровне программы перестает существовать то есть она выкинула какое-то действие произошел какой-то кусок кода и на этом событие завершилось.
Длительное например как радиация в ванильки когда в течение там энного количества времени все пешки находящиеся на улице будут получать какой-то урон мы с вами разберём это это я расскажу о методах как они работают и как вообще в принципе устроен внутренний механизм ремки.
Начнём мы с вами создания проекта открываем ранее созданную visual studio если у вас визуалу studio 2017 это ничего страшного везде принцип один и тот же нажимаем создание проекта нам понадобится библиотека классов язык си sharp здесь важно выбрать библиотек атласов net framework не нет стандарт и не нет core нажимаем далее вводим имя нашего моду и выбираем ему любое расположение например рабочий стол платформа а здесь по хорошему нужно 35 но здесь нужно net framework 350 клиент профиль которого здесь нет и в 2017 насколько я помню тоже поэтому в принципе здесь не принципиально нажимаем создать и ждем пока у нас создастся наш проект с вами и так.
Стандартный проект включает себя класс 1 удаляем он нам не нужен первым делом нажимаем двойным щелчком на properties и выбираем рабочую среду 35 клиент профиль сохраняемся все этом базовая подготовка завершена теперь нам нужно подключить библиотеки для того чтобы взаимодействовать с игру для этого нажимаем ссылке добавить ссылку обзор находим нашу с вами игру или world win64 data manager нам.
Понадобится assembly к из sharp и unity engine но так как вы можете игру переместить в любое место и чтобы за собой ти библиотеки не таскать давайте сделаем проще найдем наш проект который мы создали.
И создадим здесь папочку разъеме lips теперь зайдем в папку с игрой rimworld win64 data manager и скопируем assembly к с шарф и unity engine.
В эту папку теперь.
Откроем visual studio зайдем на рабочий стол.
Откроем наш мод папку lips и выберем эти две библиотеки нажмем добавить белки для чего это нужно в папке вас m black s shop содержится весь исходный код игры чтобы взаимодействие с ним рано нам разумеется нужно подключить эту библиотеку так мы сможем использовать абсолютно все что есть в игре методы и классы и тому подобное unity engine содержит вторую часть этих данных на которой построен игра например виктора некоторые полезные функции такие как выбор минимального значения из там из двух предложенных и тому подобное а без этого ничего работать у нас вообще не будет и так пусто как мы подключили откроем наши библиотеки также был свои для этого откроем нашел своих откроем папку lips свежесозданного и перетащим сюда сэм блэка с sharp он у нас появится мы его можем открыть и здесь уже видно весь исходный код игры то что введите называются пространствами он я еще попозже об этом расскажу как мы начнем непосредственно делать здесь есть а и verses rimworld в принципе где что находится можно.
Просто потыкав узнать в основном reworld содержит информацию по игре планет о планетах.
То есть взаимодействие с планет аверс все что там о предметах и вообще все-все-все.
На самом деле порой иногда некоторые файлы разбросаны и чтобы их найти здесь есть пояса у него можно включить нажав вот на эту муку для чего нам это нужно будет нам нужно будет смотреть исходный код игры и разбираться собственно как что вообще взаимодействовать и показывать на явном примере также одну из плюшек heels появляется возможность прыгать по стыку это значит вы можете взять метод и проследить кто его вызывает.
Там сверху вниз то есть есть там раз оба имеют от его вызывать 77 этот еще вызвать тем самым добраться до самой верхушки чтоб понять общем механизм работы итак но перейдем к нашему моду а как я уже упомянул пространство имен для удобства если у вас мод будет разрастаться да и вообще в принципе я советую создавать внутри папки чтобы разбить ваш вот на какие-то части например события везем папку events конкретно на уровне оптимизации прочих это не играет абсолютно никакой роли только для удобства программируют программиста вы о пространстве имен можете почитать на том же метре нет которую я ставлю ссылку чтобы вникнуть но я походу в принципе покажу и объясню как это все работает не так папочку мы с вами создали теперь нам нужно будет создать не посредством класс события для этого нажимаем правой кнопкой по events а папки где мы хотим создать и класс.
Конкретно каких-то правил в именований классов нет но можно следовать примеру разработчиков и первую часть класса помечать то что он делать например если это событие назвать инцидент если это кондишен называть game кадиша и так как мы начнем с вами с инцидентов поэтому напишем инцидент worker и имя сделаем его публичным а напомню что чтобы понимать в принципе что здесь происходит лучше обзавестись базовыми понятиями шарпа опять же ссылку я оставлял в прошлом видео оставлю в этом поэтому если вы затем совсем плохо плохо смыслить и лучше остановите видео или чуть-чуть почитайте итак первый скелет готов теперь нам нужно будет наследоваться от главного класса который отвечает за инцидент этой инцидент worker изначально он подсвете там что его нету но достаточно навести на него и он нам предложит его сделать а теперь покажу как пользуется своим и так вот вы нашли какой-то класс вы хотите его взаимо 10 но не понимаете что он себе содержит.
Вы просто копируете этот тип и все раз оставляете его здесь вы увидите уже какие-то реализации например как реализован рейд свечение авроры засады и тому подобно нас это не интересует нас интересует конкретно главный класс инцидент worker удочку я закрою некоторые.
Чтобы они не мешались у нас и так что здесь есть.
Инцидентов переменной df после того как сработала события содержит div нашего события например если вам нужно вывести какое-то.
Оповещение которое уже есть в самом деле и так далее шанс это базовый шанс с которым может произойти то или иное событие в принципе оно равняется bass шанс которая содержится в дефе но как видно она помеченный virtual мы можем его пик переопределить затем есть два основных метода которая используется в событиях и так on fire сноу sap и троен squid варки can фарсом mouseup вызывается перед тем как события вообще будет сразу did вызвано до некая проверка а можно ли сейчас вызвать события чтобы понять для чего это вернемся ним.
Отойдем немножко в сторону и посмотрим как реализованные рассказчики рассказчик это некий который содержит внутри себя множество компонентов каждый компонент отвечает за какой то определенный аспект игры например один там вызывают болезни другой вызывает рейды и так далее это сделано для удобства чтобы распределить вот эти вот задачки чтобы проще было редактировать игроку расширять программисту например вы хотите вам не нравится что там какой-нибудь стандартный рассказчик мало там рейдов посылает вопросы пишите свой небольшой компонент который там высылает свои еще рейды какие-то и просто его добавляйте он уже там переписывать пол игры и тому подобные то удобно так вот а также стоит упомянуть что у каждого события есть таргет там нет это объект над которым может быть совершено события всего торги тов.
Несколько их можно посмотреть нажав на инцидентов инцидент торги так div и дефов почему помечено дефов я тоже сейчас этого позже объясню мы с вами с этим со всем разберёмся значит существует в асану 5 таргет of the world это событие которые могут произойти в принципе хоть когда то есть они распространяются на весь мир затем идет караван это то что может произойти конкретно на караван и.
Map miss a player home i’m up right back.
Это локальное событие в тушка в частности низкий plate плеер хомс работать только на карты игрока райбек он это когда вы берете с караваном и макнис это на все остальные карты конкретно каких-то особенностей в работе торги тов нет они лишь помогают направить ваше событие в определенную часть например если вам нужно что-то создать на глобальной карте то для этого целесообразно выбрать город если вы хотите сделать что-то над игроком то есть на карте игрока то есть смысл выбрать maple р.х..
Внутри кода есть небольшие различия но я об этом тоже сейчас все покажу с вами разберем и посмотрим как в чем суть эти различия проявляются так вот перед тем как сработать события вызывается конвоир на wsop определенного worker а у история трейлера это рассказчик и если метод возвращать true.
События происходит вызывается true этикет worker если фолз события пропускается для чего это нужно когда ваше событие а для каждого для каждого таргета внутри есть специально stories tight мы можем это также найти историю здесь есть такое такая dictionary как last fair tecna отвечает когда последний раз было вызвано то или иное событие каждое событие имеет минимальный такой скажем кулдаун и чтобы все это сохранить вот используется как раз это dictionary если can fire of sap вернул фолз в эту гексы мире коллекция ничего не будет записано следовательно в следующий раз события может произойти там через минуту через пять минут или вообще следом если же она вернула true и событие уже было вызвано то туда будет записано значение для чего это нужно в конверт но sap обычно выставляются проверки то есть например.
Хватает ли у игрока поселенцев если на карте определенный объект если определенное событие и если этого нет то есть все условия выполнены вызывается трудностью двор к где обычно описывается логика непосредственно своего события а как введите троица культ worker также возвращает bool если вы вернули фомс события все равно будет уже записано в эту dictionary.
И в следующий раз она будет произойдет только тогда когда пройдет его кулдаун троек забьют используется если вы хотите вызвать то или иное событие непосредственно в прям здесь сейчас например у вас есть события которые что-то делают и по окончанию нужно вызывать событие b.
Вы можете использовать 3d kid здесь также есть два встроенных метода сын стандарт литр это небольшой такой удобный метод для того чтобы послать а вот это вот сообщение сбоку игры о том что такое то какое-то событие произошло и вы видите вылезти в описании конечно никто не запрещает использовать свое но если в вас там нет какой-то дополнительной логике то логичнее вызывать сын стандарт литр ну а теперь по порядку.
Первым делом определим.
Входной параметр является инцидент по rooms мы также можем посмотреть из чего он состоит.
Открыв нашел спать в один инцидент парус и мы увидим здесь множество параметров эти параметры генерируются раз таки нашим рассказчиком на основе дефо здесь есть star нет над которым было вызвано поинты фракция была ли она вызвана центр и еще много различных параметров которые вы можете сами посмотреть важно отметить что не все параметры являются скажем так маст хэвом то есть некоторые параметры не актуальны для некоторых событиях от слова вовсе к тому же даже больше некоторые параметры вообще внедренных для конкретных событий например мы сейчас будем с вами также разбираться game кондишен их там есть параметр который определяет насколько сильным будет психо зонт только проблема в том что психо зонт это одно событие в игре то есть она по факту в других местах не будет использовать столько сам разработчики разработают какой-то второе событие здесь есть некоторые еще такие параметры как.
Генерит fight for only это также для событий связанных с рейдами из дополнительных.
Обязательны я лишь скажу здесь стратегия это опять же для рейдов которая была выбрана.
Ип of arrival мода это ток как будут события.
Пешки которые сгенерированы например будут заспавнены мы с вами тоже с этим со всем разберёмся потому что это все очень локально и разбираться с этим надо будет долго-долго-долго и так но вернёмся к нашему событию сразу делаем труб то есть событие хорошо и начнем с вами работу предположим наше событие должно срабатывать только тогда когда у игрока есть пять и больше пешек для этого создал переменную map ее по дефолту нет поэтому мы добавляем birds.
Как я уже говорил парус перейдет торги на но в том виде в котором она передается она не является карты для того чтобы привести ее карты мы просто делаем приведение класс map содержит информацию о карте а там содержится абсолютно все и рассказывать об этом мужикам еще несколько видео самое оптимальное если вы просто возьмете его и откроете здесь есть множество множество всяких переменных все предметы строения все пешки на карте различные классы связанные с отображением он реально очень большой и мы с вами будем к нему обращаться по мере наших уроков потому что вот так вот прям объяснить часа.
Смысла особого нет все равно все забудете но пока что нам достаточно того что мы переведем его непосредственно из star не то чтобы проверить количество пешек у map есть такая переменная как баланс mopoуз.
Которая содержит себе такие поля как все пешки то есть это абсолютно вообще все-все-все.
Напомню что pawn это любая сущность желая в игре то есть животное не животное не важно тому же насколько помню он возвращает также еще и мертвых поэтому тут нужно еще доставить кучу проверок нас интересует такая переменная как колонист каунт есть также колонистам аккаунт и мы наверное вы возьмем добавим их и проверим что и должно быть больше или равно в 5.
Тогда возвращаем тут но лучше давайте сделаем наоборот если 5 больше то и сделаем лог.
Чтобы посмотреть как работает наш с вами события для этого есть статичный класс лоб у него есть метод месседж и напишем поставим знак доллара это позволяет непосредственно в текст подставлять переменным не добавим что colonies каунт скопируем чтобы подставить перемену непосредственно в текст мы делаем вот такие вот кавычки это не рим овская фича а фича принципе шарпа то поэтому если вам интересно то вы можете также почитать это в интернете я честно стоять за этим внимание не буду лишь добавим а это то есть как это теперь будет работать будет попытка вызвать события а цель так как это будет у нас карта будет приведено карте мы проверим на той карте на который мы хотим вызвать события то есть система хочет вызвать забить будет проверить насколько колонистов заспавнены несли их а меньше пяти.
То событий не сработают вернет фолз и будет показано количество колонистов переопределим второй метод и сделаем здесь тоже самое объясняю для чего это нужно разумеется ждать когда произойдет то или иное событие мы не можем то есть это может придать через две минуты через пять минут когда вы будете запускать ваше событий через гей мод то есть нажимать true if you get worker непосредственно там а там проверка вот это игнорируется то есть там сразу вызывается троек dicked worker поэтому если мы хотим действительно узнать работает ли наш алгоритм вам придется поместить это сюда и добавим еще мог том что.
То есть когда событие произойдет если у нас будет 5 и больше колонистов нужно вывести крикет что будет сигнализировать о том что то или иное событие произошло мы с вами немножко клубе к усложним сделаем какие-то более сложные вещи но сейчас важно понять общем вот этот скелет на этом создание событий в принципе завершено теперь нам остается только сделать из него непосредственно df чтобы игра лего увидела и мы могли его вызвать все примеры дефов можно посмотреть непосредственно в игре заходим в папку mods core devs.
И здесь принципе все примеры есть нам же нас же интересует события они находятся в папке storyteller возьмём отсюда любой можно в принципе вниз взять чтобы меньше редактировать зайдем в наш мод зайдем в папку devs удалим эти временные папки и добавим сюда нашу.
Xml откроем минуты подам 10 множество всяких всяких всяких событий нас это не интересует мы удаляем все кроме одного.
Задним смотрим как формируется как символ к любой акция малька начинается со слов devs.
Заголовок затем идет имя дефо то есть которую мы наблюдали вот здесь в вашем случае инцидент вот он как видно он здесь есть а каждая.
Каждый div имеет одно главное олег а то без которого ничего работать не будет это дисней по факту это уникальный индикатор нашего события точнее вообще в принципе дефо оно должно быть уникально в рамках дефо то есть если мы создаем с вами события инцидентов что мне нужно быть еще одного события sdf name альфа beavis если есть какое-то строение с такими нем ничего страшного не произойдет мы с вами назовем тесты винт также важно чтобы она не заканчивалась на цифры игра также выдаст предупреждение лейбл это текст назовем его тест.
Категория а здесь стоит остановиться так же зайдем.
Инцидентов и найдем категории категория если вы не собираетесь и модифицировать какие-то стандартные.
Механизмы оповещений то принципе категория ничего не будет влиять за исключением выборки события непосредственно когда будет его выбирать рассказчик здесь есть общие маленькие угрозы большие фракция пришла и тому подобное вы также можете можно будет добавить свои но этим мы займемся чуточку попозже мы оставим миск а затем есть такая переменная как all of giants это позволяет указать в каких биомах может произойти то или иное событие.
Здесь важно отметить что многие проверки которые вы указывайте в дефе они не актуальны для кан fair способ то есть здесь не надо указывать какие биомы могут использованы потому что это сделает еще система до вызова conference а если написать снова.
Инцидент квартир и найти его то видно что по факту он всегда возвращает true то есть никакой логики здесь писать не надо.
Проверка набьем будет автоматическое вернемся к инцидентов а здесь также есть торги tags.
О которых я только что рассказывал в нашем случае мы хотим чтобы это было конкретно на карте игрока поэтому указываем a player full.
Затем здесь есть переменная b с шанс она имеет диапазон от 0 до 100.
Разумеется шанс здесь важно отметить что шанс здесь немножко не такое как вы предполагаете то есть здесь скажем говорят 20 процентов это грубо говоря довольно много то есть шанс что произойдет конкретно это событие очень очень легко просто по одной простой причине что событий в мелки не так много и большой приоритет имеется как раз таки у.
Рейдов а так как рейды в принципе имеют большой куда он ту.
Шанс что произойдет ваше событие просто нереально затем есть хор le stelle это количество минимальное количество дней которое должно пройти для вашего события например указав 50 должно пройти 50 дней чтобы это событие не просто произошло а могло произойти это важно так как если вы укажете 50 дней то это не значит на песчаном дне но обязательно произойдет все зависит от шансы еще других переменных мин population это минимальное количество людей которые должно быть мы в принципе сделали с вами примерно такую же логику чисто для примера.
Но работает это так же то есть нужно минимальное количество людей для того чтобы событие произошло мин refires а это количество дней которое должно произойти.
Между событиями то есть скажем вы указали что ваши событий может произойти с 50 дня а в мире fire dance.
Указали еще 100 дней предположим на 50 мне ваше события произошло следующий раз она может только произойти то есть вообще будет актуальна только через 100 дней то есть на 150 дней здесь важно увидеть что на флоп они то есть не целое дело в том что вы можете указывать там небольшую дробь то есть три пять и тридцать пять и пять например почему так вкратце пока что достаточно будет знать что весь день игровой в ринке состоит из 60 тысяч киков поэтому указав 35 например и 5 вы сделаете ну грубо говоря тридцать пять с половиной дней минимальная сложность а поискала был это для рейдов то есть например как вы знаете рейды зависит у нас от различных параметров в том числе 20 богатство колонии и например вы хотите чтобы red всегда был в два раза лучше чем богатство колоний то есть которая может быть то просто витязь 20 и у вас будет зараза любой рейдж хлеб points это минимальное количество поинтов которая может быть у событие в принципе это похоже на point scalable.
Здесь также прошу извинить я не уверен что это bull она не указывается об заставлять сканировать allowed by омс это я уже сказал что это бид’а мы в которых может произойти то или иное событие теги.
Это массив string в принципе она больше для служебной информации и здесь идет куча всякой служебной дополнительной информации в том числе например фиксированный гендер для кого может это произойти это не актуально для обычных событий актуально как я уже сказал что некоторые переменные разработчик дел под себя одним из примеров я приводил психо зонт сейчас я его найду own game кондициях.
А смысл в том что он делал это по тебя то еще он указывает здесь перемену а потом у себя в событие это проверять в принципе если вы делаете какую-то свою логику то это вообще никак вас не коснется.
Здесь есть еще дуришь ндс из важных но он актуален для game кондишен а то есть непосредственно для условий мы к этому еще вернемся на идем к нашей xml и здесь есть шанс который можно указать на давайте укажем 44 можно указывать нолика можно без на люка и минимальное количество не пусть будет 30 а чтобы привязать.
Класс нашего события к инциденту нам нужно указать его worker класс для этого открываем visual studio копируем вставляем если мы сейчас запустим такой вариант мы получим ошибку что класс keep с таким именем не найден почему потому что наша библиотека находится в другом пространстве имен чтобы это устранить открываем снова наше видео студия и здесь есть namespace у копируем и вставляем здесь то есть по факту это полный путь до нашего типа не более этом в принципе все закончено мы можем сохранить выбираем место дэбак релиз также откроем ссылки ножом нажмем на земле sharp свойства и уберем копировать локально чтобы в папку скомпилирован им наши модом она не помещалась так как это лишний мусор и он нам не нужен после чего нажмем мой мод и либо собрать либо пересобрать принципе особой роли не будет играть ждем показ компилируется наш мод заходим в папку с ним бен релиз и вот она наша дрелей pdb это отладочной информации она позволяет более четко отлавливать ошибки но в ринге это не работает поэтому нам на щетину же мы копируем только да и ляльку.
Заходим в нашем с вами.
И вставляем теперь мы можем запустить игру и проверьте в средстве то как работает наш mouth.
Не забываем включить наш моду на стройках и если все правильно включили то мы можем нажать первую шестеренку так как мы выбирали maple и верхом то есть это на конкретную карту то в инцидентах она будет содержаться в ду инцидент map мы можем воспользоваться по поиску взятом тест мой тест и увидим наш тест and now.
Означает что сейчас события по факту на уровне игры произойти не может в принципе.
Причины две это во первых не прошло 30 дней которые мы установили а во-вторых у нас еще и пишет не хватать если мы сейчас нажмем на него то мы увидим что нам выведется колонист к unde3 почему так открываем наш проект и видим что мы вводим количество в только в том случае если колонистов меньше пяти заспавним парочку колонистов 6 штук снова попробуем вызвать и увидим что у нас работал риски то есть колонистов 6 это больше 5 ну или равно 5 и событие произошло в принципе прогресс удачен вернемся к нашему моду и чуть-чуть доработаем логику во-первых оставим для дебага информацию и попробуем сделать с вами что нибудь интересное например вы видели имена всех колонистов которые попали под действие события для этого воспользуемся опять же нашей картой а именно переменным а pawns free colonies.
И но на pawns free колонист.
Белым ног месяц и сделаем тов умный.
Предсказан разработать события у нас сделается цикл по всем пешком которые есть и выведется и химия и воспользуемся стандартной функцией стенд sensor to standard литр для того чтобы появилась с нами наш с вами уведомления просто вызываем его здесь и на этом тоже в принципе можно сказать все слова компилируем и заходим в папку копируем заменяем вас m + a visual studio можно устроить выходной путь для адель или поэтому если вы не хотите уток от копировать вы можете указать папку assembled где у вас лежит игра и у вас будет при компиляции заменяться на мне просто это не особо удобно и я пользуюсь конкретно вот таким способом я создал новый мир обновили мод теперь попробуем вызвать наше событие слова видео в консоли что у нас показывается что колонистов 3 заспавним парочку колонистов.
И слова вызове наше событие стоит.
И так я создал новый мир попробуем вызвать с вами на.
Колонистах события я уже затонувший штук чтобы наши условия с вами сработало и попробуем вызвать как мы видим именно выявились но мы видим ошибки и сообщение справа у нас не появился связано с тем что мы не указали с вами текст сообщения и его категорию давайте это исправим выходим из игры заходим в нашу xml q возьмем а любой стандартный дев который находится в папке коры dev story trailer например фриц и мы здесь заметим что если лотар лабу.
Но этот текст bellator дев скопируем а для удобства я советую также установить в notepad.
Xml тулс это позволит тут как вы видите легко форматировать xml и а также проверять ошибки если вы например что-то не закрыли вот так он сразу укажет ошибку но вернёмся к нашему латур у la terre de la perla burn.
Это текст который будет написан назовем executed тест пдд текст это.
Непосредственно текст который будет показан.
Давайте здесь напишем просто текст текст текст или тортов это скажем так тип нашего сообщения он влияет на цвет сообщения и звук который произойдет хлеб big это когда приходит рейд посмотреть литр дев и мы можем зайдя в лс пай написав было этот авт и здесь есть хоть big or small.
Теперь мы попробуем перевести наши события.
Для этого воспользуемся папкой алан вич страшен дофин джек тот создадим здесь новую папку назовем ее как инцидентов потому что оно должно совпадать с именем того чего мы переводим.
Внутри нам нужно будет создать xml для удобства зайдем в оригинальную игру корм plan which рашен defender ted здесь также есть папка инцидентов возьмем здесь любой поместим наш мод откроем удалим здесь все не нужен комментарий нам также не понадобится теперь как это работает указывается df найм и поле перемен на которую мы хотим перевести заходим в наш тест avent копируем тефны расставляем лейбл назовем например наши события в принципе это не важно а надпись переведено запись а здесь мы укажем мой кекс.
Сохраняем в принципе мы создавали это уже непосредственно нашей моде поэтому можем опять зайти в игру и проверить и так игра загрузилась попробуем вызвать нашей с вами события как вы видим надпись стала переведена и мой текст если переключиться сейчас на английский то будет вы так как отсутствует для педжета для английского языка будет вызван по дефолту здесь также я сразу скажу что советую непосредственно в дельфах.
Вот здесь вот писать все на английском то есть сразу текст который тоже отображаться на английском языке во-первых вы избавите себя от того чтобы создавать еще файлы языка для английского то есть два раза больше геморроя и в принципе.
Нашим англоязычным друзьям будет гораздо проще ориентироваться даю вам в принципе на этом обзор инцидентов принципе можно закончить.
Но как я уже сказал сделать что-то конкретное сложно потому что нужно будет перебирать абсолютно все все и в рамках видео это просто все не влезет поэтому здесь остается только поголовный код мы с вами тихонечко дальше будем разбираться сам со здоровьем пешек с пешками со строением и потихоньку наполнять наш с вами события каким-то контентом и вы поймете как очень в принципе взаимодействие с игрой но перейдем дальше и создадим теперь наши game кондишен как я уже сказал игровые условия они активны в течение всего действия своего действо то есть они висят каком-то висят в каком-то смысле над картой.
Он их можно видеть в правом углу куда там пишется тактичные сотки например это все игровые.
И это может быть полезно при каких-то обработках длительность а является ленина на навсегда affected maps вот здесь как раз таки стоит остановиться непосредственно на орбитах когда мы делали с вами map player home made or get приводили непосредственно к map то есть так как в ней хранилось конкретно текущая карта если будет указан world то разумеется событие произойдет не только над нашей карты она например множеством других если например они активны в событии ли у вас две карты тогда вы не можете торговать привести к map у вас просо появится ошибка в таком случае взаимодействие со всеми попавшими картами под эффект можно с помощью как раз таки эффект от maps здесь a single если разумеется она была про из событий нужно было произойти опять же для конкретной карты и различные надписи из важного здесь есть а xps дата в игре сохранение происходит посредством записи каких-то значений в сейф с помощью метода эксплу за то чтобы его реализовать вам понадобится наследоваться от интерфейса аек способу который реализован один местный метод export data мы еще сохранением с вами разберемся там вообще 4 класса важных которые позволяют сохранять каждую свой тип данных и сейчас это также об этом не будем заострять внимание потому что это не тема нашего урока game кандель кондишен тег это метод вызывается каждый тег пока события актуально вот здесь так как раз таки происходит вся основная логика например нанесение урона пешком находящемся по улице то есть спешка вышла.
Здесь важно отметить ее не то есть конструктор который вызывается когда класс был создан а есть и нет какого-то но все создано и вот уже сейчас вызывается в принципе для инициализации переменных подойдёт этот этот вариант но все-таки жизненно важные перемены лучше инициализировать непосредственно в классе в конструктор извините а здесь оставить какую-то такую вторичную информацию затем есть and который автоматически реализует вывод сообщения которое появляется слева сверху когда событие заканчивается я думаю вы знакомы с этим это характерный такой пик и надпись что такое то событие завершилось.
Затем идут такие методы как работа с небом опять же температура то есть это максимальная температура изменения опять же изменения с небом связаны это все возможные методы для того чтобы изменять тени подсветку то есть например как это работать токсичные осадки карта сильнее и немножко меняется температура здесь также можно указать количество животных лент и еще из 43.
Прошу прощения класса переменных было методов простите которые отвечают опять жить и небо.
И здесь есть два метода которые показывают взаимодействие с ячейками и есть метод post мейк он вызывается еще по моему да и нет когда.
Кондишен он был сформирован но еще не был вызван нам понадобится воспользуемся game кондишен тиком и не там и думаю эндом остальные вы можете посмотреть по усмотрению либо взять любой другой game кондишен вот здесь есть колдснап климатический цикла солнечное затмение flash шторм это молнии и можно посмотреть нажав на них как они там устроено вот например heatwave а тепловая волна здесь возвращается температура все тпереь определяется где значение текущей температуры терпится это почитайте лучше в интернете там гораздо проще будет описано у значение грубо говоря.
Смазывается на основе 3 значения но вернёмся к нашему событию переопределим метод init.
Во избежание казусов оставляйте вызов стандартного метода если только вы точно не видите что этого не нужно просто иногда бывает например в созданиях ну куда вы делаете какой-то предмет там есть метод который вызывается когда предмет устанавливается и вот если там не вызвать стандартный предмет просто не поставится потому что логика установки описано вот с базовым и давайте опять же вы видим сообщение о том что вот так а это событие инициализировал ась добавим значок df найти должны все джек youtube и проверим когда это будет вызван теперь вы завел game connection kit.
Сделаем здесь вывод.
Единички посмотрим как это происходит возьмем and.
Где также выведем сообщение о том что событие завершилось.
И потом напичкан это немножко какой-то информации.
Теперь можно скомпилировать положить нашу библиотеку опять же басом близ и теперь нам нужно опять привязать события класс события непосредственно к нашему делу для этого зайдем в оригинал q найдем здесь инцидент world кондишен и от кроме его а признаюсь этом языке нам нужно зайти в кор.
Dfa100 ритейлер кондишен возьмем здесь какое-нибудь событие простенькая так как не давать ему шестами сразу объясню и так здесь.
Как вы видите все называется энди инцидент с это немного вводится увлажнение потому что события работают могут быть вызваны двумя типами первый это с помощью базового класса инциндент worker мэй game кондишен который принимает в себе переменную game кондишен вы указываете там верхней кондишен и которая хотите вызвать и вызовы и указывайте этот worker класс и вот это событие которое будет описано будет вызвана второй вариант вы можете описать вот эту логику вызова скопировав и и ценить силен им кондишен давайте откроем его здесь также есть все наши знакомые методы конформизм sap ядро юзают worker который также все проверяет и если здесь посмотреть здесь как раз таки идет моей кондишен и регистр кондишен которую мы с вами разбирались то есть все используются базовые методы не какой-то магии нет просто это как бы сделано уже за вас и если у вас нет какой-то супер супер логике то в принципе можно воспользоваться этим удалим 2 назовем его тест кондишен здесь важно отметить что это инцидентов то есть как мы помним с вами два одинаковых инцидентов а не может быть с духовной тест эдишен.
Оставим также мисс торги так составим world заднем разберемся как он работает какой game кондиций может произвести для этого заходим в папку devs и находимся 7 кондишен devs скопируем эту xml крупном и снова откроем ее.
Ну ты подам здесь описывается непосредственно уже game кондишен здесь мы можем написать тест кондишен потому что это game кондишн и такого для фрейма еще нету написать здесь.
Тест кондишен г game кондишен чтобы видеть description это описание м в месяц это сообщение которое как раз таки будет вы видно слева сверху когда событие завершится нет 123 флаг can be turned указывать может ли событие быть навсегда.
Также откроем game кондишен div и посмотрим что же мы можем указать еще здесь есть вот как я уже рассказывал дрон level это насколько уровень дронов будет но если у вас нет в классе логики для этого это ничего не даст то есть вы хоть какой указываете вы никак это не используете это разработчик делать больше под себя и в принципе здесь больше ничего нет.
Сохраняем копируем дафний заходим обратно в инцидент в conditions опять же папке xml и могут называться как угодно я просто их не меня потому что ну в принципе сейчас это не так важно game кондишен указываем здесь укажем говорим индики например и здесь давайте укажем 1234.
Поставим все то же самое шанс количество дней за исключением того что у событий еще есть такая штука как дуришь indis это количество дней диапазон которая в котором могут работать те или иные события то есть нашем случае здесь указывается примерно от двух часов мы укажем от одного дня до ну давайте 350 дней то есть случайно выберется число и столько событий будет работать например вы хотите устроить песчаную бурю разумеется она должна идти не там один день а там пять шесть дней делать там каждый день обновлять ее заново это глупо вы просто устанавливаете здесь например 5050 и она у вас работа точно 50 дней на этом в принципе все теперь попробуем запустить игру и проверить непосредственно как наш с вами события работает итак я загрузил прошлое сохранения теперь мы можем вызвать наш с вами события как я уже сказал события вызывается.
Условия вызывать как события мы указали world поэтому заходим ду инцидент world пишем тест и вот он у нас от с кондишен и вызываем и мы видим вызывается наше сообщение которую мы указали вот здесь вот 123 game дебют затем здесь указывается тест кондишен from джем и пишется a game кондишен это уже берется непосредственно вот здесь то есть это пишется лейбл и and missed.
И дискрипшн вы также можете купить информацию вести если хотите так как вы выставили длительность от одного до пяти дней то в принципе происходить это будет довольно долго как мы видим сообщение нет потому что мы не указали наш класс давайте это исправим выйдем из игры зайдем сюда здесь game кондишен если мы наберем здесь есть кондишен класс копируем его открываем это и делаем это здесь мы также копируем имя и нам понадобится еще namespace копируем и снова пробуем запустить нашу игру итак попробуем запустить наш с вами события и сразу установим игру как видно вызывая сначала тест кондишен их дебют первым которую мы указали в инет затем мы видим что каждый тип флуди ца order к это то что вызывается каждый тег если мы увеличим скорость разумеется скорость тоже здесь поднимется когда событие закончится произойдет непосредственно and мы можем завершить событиям вызванная нами мы к сожалению не можем а если только оно было вызвано игрой тогда только можно завершить событие поэтому мы можем поставить меньше времени тогда только проверить у нас сейчас волнует совершенно нет попробуем наполнить наше события контентом заднем посмотрим как же работает непосредственно world для того чтобы взаимодействие со всеми картами используется метод который есть game кондишен а называющийся affected maps зайдем game кондишен здесь есть эффекты мы можем получить эффект на пс это вернет список всех карт на которые game кондишен действует собственно что нами нужно первым делом давайте попробуем поставить небольшую проверочку которая будет вызывать обработку всех вот этих карт с небольшим через небольшой интервал времени сделать это можно двумя способами такой простой способ это fine тег менеджер kids game поделить на интервал но яйцо нулю и какой-то 10 объясняя а как я уже сказал игра изменяется в тиках когда пройдет 100 киков.
Результат будет 0 и действие произойдет этот способ позволяет делать интервалы между вызываем каких-то методов если скажем так преждевременный вызов этого интервала не сильно важен ярким примером будет если вы например а у вас стоит каждый стойте-ка вызывать метод событие произошло на 90-м тикет тогда кусок кода сработает не через 100 киков а через 10 потому что через 10 тиков будет 100 и результат будет 0 так обычно делается если вам просто нужно скажем каждые там две секунды что-то производить и то что если там вдруг после сразу события у вас что-то произойдет ну один раз быстро не это не страшно то в принципе это самый оптимальный способ есть еще возможность хэшировать но мы пока это рассматривать не будем второй способ мой враг же пока рассматривать не будем это создать небольшой таймер который будет убавляться каждый тег и когда он будет равен нулю обновить его и что-то вызвать.
Сделай небольшой метод назовем эффект вызовет здесь делаем небольшой нет завоеватель сделаем цикл по всем картам эффект от maps.
Затем переберём всех пешек которые находятся на этой карте у павлов есть такой метод коктейль демейдж который указывает что нужно получить урон он принимает демич info создаем демич info здесь есть множество параметров на самом деле первый это обычно тип урона его можно взять написал ddf of a здесь есть стрелы укусы м п и все-все-все возьмем какой-нибудь став amount.
Переберет все карты на которые действует это событие.
Всех пешек которые там есть и нанесет и 5 урона а вот этот способ не самый оптимальный потому что пешки могут быть самого разного рода и они могут например не получить такой тип урон поэтому это чревато ошибками но у нас пока это не внутри нас нам нужно понять как вообще это все указывается и работает скомпилируем.
Возьмем нашу библиотечку скинем сюда и вновь запустим наш игру итак попробуем создать наш с вами события ду инцидент с кондишен смотрим сюда включаем скорость об прошло пять тысяч штыков и сработал наш тип который абсолютно всем пешком нанес урон это.
Дефолтный метод поэтому от него была вероятность непосредственного вернуться что сделала например одна пешка в этом нет ничего такого если вы хотите нанести более урон там нужно вам было указать пробитие брони и прочее прочее прочее если нажмем еще раз дождемся то увидим что сработает это 2 3 4 и прочее прочее прочее рады нанося нанося пс lenovo в этом случае одна пешка вообще уже свалилась а так как мы не указали куда будет наноситься урон то он выбирается рандомно поэтому кому-то могло в тело в ногу попасть к тому же вы видите что мы указали 5 урона но наносится сразу по четырём почему так когда мы не указали непосредственно часть то урон как бы распределяется по всем то есть сейчас он попал ему фтор столько то кому то он попадает в желудок и и тому подобное если бы мы указали конкретную часть конкретно урон в нее бы все и вливалась я думаю это и так понятно на этом в принципе все следующих видео мы сами будем тихонечко изучать устройств всех остальных методов как я уже сказал нельзя просто взять и пройтись как бы по нарастающей потому что каждая часть она хоть и связано с какой-то другой но не в том смысле.
Чтобы ее использовать как обучающий то есть до здания в каком-то смысле могут быть связан с событиями но создание зданий и вообще предметов это совершенно другая часть этого прям совсем это небо и земля.
Я попытался рассказать вам непосредственно саму суть то есть как вообще происходит процесс что создается класс.
Он наследуется затем создается дев в котором мы указываем непосредственно атлас различные переменные рассказал из чего состоит иерархия нашего мода так что вы можете там добавить и текстурки написать.
Какие то надписи в своем роде да то есть кто сделал описание показал как пользоваться хоть и чуть-чуть ил своим вам лишь нужно брать какой-то класс то есть вы загорелись кого ты день например что-то сделать вам заходите в лс пай и начинаете здесь искать например вы хотите понять что можно сделать спавном вы просто пишете по вы находите главный класс этого павла сейчас мы найдем можно в принципе любой нажать то что похожую здесь на него ты хоть и здесь посмотреть из чего он состоит здесь как мы видим если у так вот вкратце можно получить его гендер сколько лет ему его состояние здоровья это все внутри включают в себя как вы видите еще десятки под классов и вот просто сейчас это рассказать было бы просто невозможно на этом я хочу закончить свой ролик я буду рад если вы напишите что вам не понравилось может быть слишком быстро говорил или может быть все таки слишком мало уделил функционалу я буду рад если вы подпишетесь поставите лайк пишите в комментариях ваши вопросы вы также можете задать мне вопросы найдя меня в дискорде.
Ссылка на дискорд есть и оставлю под видео также вы можете попробовать мой проект который я разрабатываю называется рим overhaul и на этом в принципе я хочу закончить.












