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

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


Автор:
  Дата публикации: 22.03.2019, 07:45 · 18 175 · 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" либо просто имя вашего мода. Если найдено, значит мод собран и загружен успешно.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Категории

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

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

здравствуйте, на версии 1.122 перевод на мод не работает (пробовала оба перевода). когда смогут исправить эту ошибку?

 

Сегодня, 19:03

мне понравилось, вайбы Зачарованных 

Сегодня, 17:41

Обычно такое не ставлю, но звучит круто аж заинтересовало, позже опробую.

Сегодня, 17:22

Если Вы имеете ввиду сломанный CAS контент, то в режиме создания персонажа создайте семью и на персонажей нацепите весь сломанный CC, сохраните семью и затем через S4TI (Tray Importer) вы увидите этих разнокалиберных кривых-косых последователей сатанизма и какие файлы на них (сломанные), там прямо названия файлов увидите и через ПКМ найдете эти файлы в Mods. Ну и удалите.

Сегодня, 17:22

Ребят, у кого такая же проблема? У меня половина cas cc контента не отображается в игре, хотя в папках всё есть. Удаляла, восстанавливала, копировала - ничего не помогло. Помогало только искать этот сс и заново его устанавливать, но у меня больше 7к файлов, каждый искать - каторга. Кто смог решить проблему иначе?

Сегодня, 17:01

На 122 шарманка не заводится с этим модом, эххх быстрее бы обнова vsenormsuka

Сегодня, 16:43

добрый день ,подскажите почему могут не работать карты городов?
проверила и удалила скрипты,работают только 3 обновленных карты открытых ,остальные по прежнему закрыты,в настройках моды тоже включены.Три карты первых обновились на новые.

Сегодня, 14:18

Работает, полёт нормальный

Сегодня, 13:31

Спасибо

Сегодня, 13:30

Эх, грусть печаль, на 122 не работает dapizdec

Сегодня, 12:35

Используйте блокировщик рекламы

Сегодня, 12:08

На последней версии нет. BE варн выдает на этот мод crycat

Сегодня, 11:03
Возможно, попробую, спасибо
Сегодня, 10:31

может вам поблочить всю рекламу надо?

Сегодня, 10:29
Я бы оставила скриншот, если бы здесь можно было.
Сегодня, 10:25

Кто потрясающий? Ты потрясающий! woow

 

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

Сегодня, 10:18

специально по обоим ссылкам только что скачала - всё работает прекрасно)

Сегодня, 09:46
Ссылка для скачивания переносит на мошеннический сайт, который просит ввести номер и код из смс, а потом списывает деньги с номера 🤩🤩🤩🤩
Сегодня, 09:22

мощнейший 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

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

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


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

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

Переводчик