Каталог статей, Гайды и статьи, Atom RPG

Вводный курс по использованию ModKit (ATOM RPG)


Автор:
  Дата публикации: 22.03.2019, 07:45 · 18 174 · 0

  1. Описание

Предисловие

Данная инструкция написана мной (phobos2077) на основе того как я сам понял использование инструментария. Т.к. я не разработчик, мог чего-то не понять или понять неверно, имейте ввиду.

ModKit для ATOM RPG реализован в виде Unity-проекта (Unity - движок, на котором работает игра). Это значит что инструментарий работает только внутри запущенного редактора Unity. Поэтому первым делом нужно установить нужную версию редактора.
ModKit поставляется (на момент написания) в комплекте с файлами ресурсов игры, которые можно извлечь для редактирования. Пока там не все ресурсы, нет статики (текстур, моделей и т.п.). Т.е. вы работаете с копией ресурсов, которая не связана с установленной игрой ATOM RPG.

Моды созданные в ModKit представляют собой AssetBundle (по сути архив с дополнительными игровыми ресурсами в определенном формате, понятном Unity) + файл DLL (код мода).
Игра версии 1.08+ (либо бета-бранч) автоматически загружает моды, установленные в следующей папке:
c:\Users\<USERNAME>\AppData\LocalLow\AtomTeam\Atom\Mods\

Установка Unity

https://unity3d.com/ru/get-unity/download?ref=personal​​​​​​​



Вариант 1 (рекомендуемый, но требует установки еще одной проги)
- "Загрузить Unity Hub"
- Скачиваем, устанавливаем, запускаем
- Нажимаем Installs -> Official Releases -> Download (Напротив версии 2018.3*)



- В следующем окне ничего отмечать не нужно, жмем "Done"



- Дожидаемся скачивания и установки Unity
(этот вариант позволит в будущем легко устанавливать новые версии Unity, а также держать 2 и более версий на компе)

Вариант 2
- "Загрузить установщик"
- Скачиваем, следуем инструкциям установщика

После первого запуска потребуется авторизация. Необходимо будет создать учетную запись Unity

 

Коротко об использовании Unity Editor



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

Для разработки полноценных новых локаций потребуются базовые навыки разработки сцен в Unity (в интернете миллион туториалов на эту тему).

Основная часть окна поделена на несколько областей, каждая из которых может иметь несколько вкладок. Каждая вкладка это "окно" внутри редактора Unity, их можно перетаскивать как угодно (в другую область, в отдельное от основного редактора окно и т.п.). Размеры областей также можно менять. На скриншоте представлена стандартная раскладка, которая идет после установки. 

Рассмотрим основные окна.
1. Hierarchy/Иерархия - тут все объекты в открытой сцене. По умолчанию открыта пустая сцена Untitled. 
2. Scene/Сцена - 3D-представление сцены.
3. Project/Проект - дерево папок вашего проекта, с правой части показаны (4) ассеты (файлы игры) в выбранной папке.
5. Inspector/Инспектор - показывает свойства объекта, выбранного либо в сцене, либо в проекте. Самое важное для нас окно.

Готовим проект к разработке модов

https://github.com/atomrpg/modkit

- Нажимаем "Clone or download" -> "Download ZIP"



- Извлекаем папку "modkit-master" из архива
- Запускаем Unity
- (авторизуемся, если потребует)
- Жмем "Open"



- Выбираем нужный каталог



- После загрузки, главное окно редактора будет выглядеть примерно так:



- В меню выбираем Game -> Asset Viewer



- Увидим такое окно:



- Для удобства можем перетащить вкладку AssetViewer из этого окна в главное окно (рядом с Game, Scene, и тд)

В проекте modkit сразу идут ресурсы "примерного" мода. На первый раз рекомендуется ознакомиться с этими ресурсами, попробовать собрать мод и проверить его в игре. Но для дальнейшей разработки вашего мода нужно будет удалить всё лишнее, чтобы в готовом моде были только нужные ассеты.
Для очистки всего лишнего удаляем ТОЛЬКО следующие каталоги:
- Все подпапки в папке Resources/
- Все ассеты в папке Scenes/

Проект почищен, но мод работать не будет если не настроить должным образом скрипт мода.
- В проекте выбираем каталог Scripts/
- Щелкаем по MyMod и в инспекторе меняем поле Name на имя фашего мода (латиницей, без пробелов и лишних символов).



- Щелкаем в любое другое окно, появится сообщение "Unapplied import settings", выбираем "Apply".
- Ждем пока редактор пересобирёт скрипты.
- Щелкаем по ModEntryPoint правой кнопкой - "Show in Explorer". 
- В проводнике открываем файл ModEntryPoint.cs текстовым редактором:



- В данном скрипте разработчики добавили код необходимый для запуска того самого "примерного" мода с новой локацией. Нам же большая часть этого кода не нужна. Для новичков рекомендую заменить всё содержимое скрипта на мой вариант:
https://pastebin.com/VbBZ6U8w

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

Использование Asset Viewer



В окне AssetViewer в верхней части есть следующие элементы:
- Кнопка Reload - перезагружает ассеты из ресурсов (идут в комплекте с modkit)
- Поле поиска (2) - для фильтрации ассетов по имени
- Поле выбора категории (1) - для фильтрации по категориям ассетов

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



Также AssetViewer можно использовать для просмотра ассетов (если не требуется их править), для этого просто щелкаем левой кнопкой мыши по ассету и смотрим его свойства в окне Инспектора.

Правка предметов при помощи ModKit

- По инструкции "Готовим проект.." настриваем проект мода и используем предложенный ModEntryPoint.cs
- По инструкции из раздела "Использование AssetViewer" скачиваем нужный предмет, в данном примере это будет АКМС.
- В проекте выбираем Resources/entities/weapon/ - ассет "akms" (тот что с логотипом Unity - это и есть описание предмета)
- Правим нужные характеристики, например урон (Damage Min/Max)



- Всё, правка готова, осталось лишь собрать мод

Сборка и тестирование мода

- В главном Unity меню выбираем "Game" -> "Build Mod"
- Вводим имя мода (ВАЖНО! должно совпадать с тем что мы указали в Scripts/MyMod в поле "Name", иначе работать не будет!)
- Нажимаем BUILD
- После успешной сборки откроется папка Mods с созданным модом. Убедитесь что имя DLL и созданной папки совпадают между собой и с тем что вы вводили:



​​​​​​​- Запускаем игру, изменения мода должны вступить в силу
- Если что-то не сработало, открываем логи игры:
C:\Users\Killian\AppData\LocalLow\AtomTeam\Atom\output_log.txt
- Ищем строку "Mod Init: SuperAK" либо просто имя вашего мода. Если найдено, значит мод собран и загружен успешно.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Категории

Чат доступен только для зарегистрированных пользователей. Войдите в аккаунт для общения в чате.

Лента комментариев

мощнейший thanks спасибо за твою работу!

Сегодня, 08:25

2300 строк, неделя перевода без отдыхаcrycat

Сегодня, 08:24

Если удалить EM, не будет другого уровня логики. Т.е сохранение не сломается.

Сегодня, 08:24

Ошибка с lot.id, хотя атрибут в 1.3.8b lot.lot_id

Нужно удалить старую версию и постаивть новую. Версия 1.3.8b 

Сегодня, 08:19

[EmotionalMemory] 2026-03-30 14:04:16.590680 Traceback (most recent call last):
File "T:\InGame\Gameplay\Scripts\Core\sims4\commands.py", line 399, in invoke_command
File "T:\InGame\Gameplay\Scripts\Server\server_commands\ui_commands.py", line 29, in ui_dialog_respond
File "T:\InGame\Gameplay\Scripts\Server\ui\ui_dialog_service.py", line 184, in dialog_respond
File "T:\InGame\Gameplay\Scripts\Server\ui\ui_dialog.py", line 685, in respond
File "T:\InGame\Gameplay\Scripts\Core\sims4\callback_utils.py", line 158, in __call__
File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\death_interaction
s.py", line 585, in _on_dialog_response
File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\death_interaction
s.py", line 718, in _run_death_behavior
File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\death_interaction
s.py", line 797, in _finalize_death
File "sims4communitylib\utils\common_injection_utils.py", line 242, in _wrapped_self_function
File "sims4communitylib\events\sim\common_sim_event_dispatcher.py", line 282, in _common_on_sim_set_death_type
File "sims4communitylib\events\sim\common_sim_event_dispatcher.py", line 140, in _on_sim_died
File "sims4communitylib\events\event_handling\common_event_registry.py", line 59, in dispatch
File "sims4communitylib\events\event_handling\common_event_registry.py", line 73, in _dispatch
File "sims4communitylib\exceptions\common_exceptions_handler.py", line 40, in log_exception
File "sims4communitylib\events\event_handling\common_event_registry.py", line 69, in _dispatch
File "sims4communitylib\events\event_handling\common_event_handler.py", line 94, in handle_event
File "D:\Sims 4 Python Script Workspace\My Script Mods\EmotionalMemory\Scripts\emotional_memory\death_tracker.py", line 78, in handle_sim_died
File "D:\Sims 4 Python Script Workspace\My Script Mods\EmotionalMemory\Scripts\emotional_memory\death_tracker.py", line 27, in on_sim_died
File "T:\InGame\Gameplay\Scripts\Server\objects\components\__init__.py", line 202, in __getattr__
AttributeError: 'Lot' object has no attribute 'id'
Error occurred when attempting to handle event type '<class 'sims4communitylib.events.sim.events.sim_died.S4CLSimDiedEvent'>' via event handler 'CommonEventHandler Mod Name: 'EmotionalMemory' Function: 'handle_sim_died' Event Type: 'S4CLSimDiedEvent'' -> AttributeError: 'Lot' object has no attribute 'id'

 

Сегодня, 08:04

На 121 идет, и удалял-ставил несколько раз, нет проблем.

Сегодня, 08:03

обновлено до 3.2.5.9smile1

Сегодня, 06:57

такие любители сложностей сами могут его скачать с источника?

Сегодня, 06:29

Очень даже есть смысл: обновить при помощи EA app и накатить кряк.

Сегодня, 04:15

смысл кряка без обновы?

Сегодня, 02:11

Изначально вопрос был про кряк. )

 

irvin [Посетители] (Вчера, 22:14) #950
Отдельной ссылки на последний кряк я так понимаю здесь не будет?
Сегодня, 01:43

Еще бы найти мод чтоб они стояли ровно на месте, никуда не убегали, не садились, чтобы стаи незнакомых чурбанов не присоединялись к диалогу. Чтобы стояли и "просто разговаривали". Казалось бы что тут такого, звучит просто. Но нет, это не про Симс4!!!dapizdec

 

Ну а этот мод конечно наверное незаменимый. Часто им пользуюсь.

Пойду искать тоже самое, но чтобы стоялиsmile1

Сегодня, 00:46

после обновы в симс на добавления династий, много раз перепроверил - даже с голым WickedWhims (свежей версии) без анимаций и без любых других модов, поиграв пару минут - если переключить на режим первого лица (Shift + Tab) игра крашится (без WickedWhims такого нет). У меня одного так?

 

Сегодня, 00:15

это кряк, а патча то нет, патч не поменял название, но поменял размер на 3 мб, видимо aaros залил в стрый, добавив обнову, ща перезалью

Вчера, 20:52

218 есть

 

Вчера, 20:38

там есть только 1.122.212

Вчера, 20:23

Или с источника забрать.

Вчера, 20:17

Отдельной ссылки на последний кряк я так понимаю здесь не будет? Надо скачивать Updater чтобы заменить 5 файловdablyat

Вчера, 20:14

1.179.7 вышла под 122 etovam

Вчера, 19:41

В данный момент у нас имеется только версия 2.9, обновил.

Вчера, 18:37

На 121 версии пойдет с последним обновлением? Не хочу обновляться до 122 (принципиально)

И ещё важный момент, если поиграть с этим модом, а потом удалить в сохре всё нормально останется? 

Есть такие моды, которые раз установив просто взять и удалить уже нельзя.

Вчера, 18:14

Спасибо за ответ!!!!! 

Вчера, 17:42

Ой, Юра, тебе тоже всех благ, как и автору изначального мода. Ты наш пчёл!

Вчера, 17:37

Мой перевод обновлён на версию 3.0

Вчера, 17:27

нет, будутkaef

Вчера, 17:26

Получается больше обновлений по моду не будет? Правильно?

Вчера, 17:15

А всё, домен сменили. Сейчас всё окей должно.

Вчера, 15:40

Мозила молчит и скачивает.

Вчера, 15:28

Иногда сам MF сбоит, из-за новых скриптов поисковик накладывает санкции. Спрошу у техников, а так, сам попробовал скачать с Яндекс, Хрома и Edge, скачалось без проблем.. Да и сам файл чист.
P.S это только на одном файле? Или на других тоже наблюдается проблема?
P.S.S техники ответили, проблема на одном из доменов, сменят.

Вчера, 15:05

Крутой перевод спасибо дружище) А есть шанс на такие же переводы но к другим модам к примеру к WW и тд..?

 

Вчера, 14:58

Нет нового обьекта "стойка для штанги"

Вчера, 14:28

У меня тоже хром блочит загрузу как вредоносную.

И мозила также.

Вчера, 14:25

v.2.12.0

Вчера, 14:18

Популярное за неделю

Команда сайта


Администратор

Редактор, переводчик

Переводчик