7 Days to Die

7 Days to Die

89 个评价
Меняем музыку и добавляем свои предметы
由 Knaixed 制作
Теперь в руководстве можно узнать, как изменить музыку!
При помощи данного руководства Вы сможете научиться добавлять в игру свои предметы.
   
奖励
收藏
已收藏
取消收藏
Создание предмета
Данное руководство написано, чтобы вы могли создать свой собственный предмет и рецепт для него в 7 Days to die, или же изменить параметры текущих предметов игры.
———————————————————————————————————————————
1. Чтобы игра видела моды (в том числе и наши) создаём в папке с игрой папку с название mods.
2. Затем в ней создаём папку с именем нашего мода.
3. В этой папке следует создать ещё 2 папки и 2 файла:
Папки: Config и UIAtlases (вторая папка нужна если вы собрались добавить свои собственные иконки)
Файлы: Mod.xml и ModInfo.xml
Так в конечном итоге будет выглядить наша папка

———————————————————————————————————————————
Mod.xml и ModInfo.xml
Эти 2 файлы необходимы, без них игра не будет видеть ваш мод. Ниже будет показано что писать в этих файлах.

В Mod.xml
<mod>
<info>
<author>Ваше прекрасное имя/никнейм</author>
<name>название мода</name>
<description>описание мода</description>
<mod_version>версия мода (1.0 например)</mod_version>
<game_version>версия игры (например 18)</game_version>
<launcher_version>0.1.0</launcher_version>
</info>
</mod>

———————————————————————————————————————————
В ModInf.xml
<?xml version="1.0" encoding="UTF-8" ?>
<xml>
<ModInfo>
<Name value="Название" />
<Description value="Описание" />
<Author value="Автор" />
<Version value="Версия" />
</ModInfo>
</xml>

———————————————————————————————————————————
Процесс добавления предметов очень прост. Для начала пройдите по следующему пути C:\Program Files (x86)\Steam\steamapps\common\7 Days To Die\Data\Config
В папке будут находиться xml файлы, но нам понадобится только 2 - это items.xml и recipe.xml.
С них и будет начинаться наше приключение создание нашего предмета. Именно из них за основу будут браться предметы основной игры, которые в дальнейшем будут изменены по вашему усмотрению.

———————————————————————————————————————————
Заходим в папку mods/"Название Нашего Мода"/Config и создаём там 2 файла items.xml и recipe.xml. В файле items.xml вначале пишем:
<Название мода>
<append xpath="/items">
"Здесь прописываем наши предметы"
</append>
</Название мода>

Теперь заходим в папку Config основной игры и включаем items.xml, затем выбираем предмет на основе которого вы будете создавать свой, копируете и вставляйте его в items.xml вашего мода между строчка указанными выше. Затем изменяйте, добавляйте параметры, которые вам нужны.
В руководстве есть соответствующий раздел с описанием свойств предметов.
———————————————————————————————————————————
Создание рецепта схоже с созданием предмета. И там, и там можно использовать готовые варианты или же написать всё с нуля.
В папке Config создаём файл recipes.xml в нём пишем следующий строки:
<НазваниеМода>
<append xpath="/recipes">
"Здесь прописываем наши рецепты"
</append>
</НазваниеМода>

Между строчками выше пишете рецепт вашего предмета. Опять же за основу можно взять готовый рецепт и изменить его (берёться из файлы recipes.xml в папке Config основной игры).
Ниже будет готовая структура для рецептов:
<recipe name="" count="" scrapable="True" >
<ingredient name="" count=""/>
</recipe>
Где:
Recipe name - название предмета. Count - в каком кол-ве делается.
Scrapable - перерабатывается в хлам. false - нет, true - да.
Ingredient name - материал для создания. Count - необходимое кол-во.
Другие возможные параметры:
Craft_area="" - Область создания: forge (печь), workbench (верстак), chemistryStation (химическая станция), tablesaw (Настольная пила), campfire (костёр), cementMixer (Бетономешалка).
Craft_time="1" - Время создания в секундах.
Craft_exp_gain="0" - Кол-во получаемого опыта при создание.
Tags - Изучаемый ли предмет. Если для создание требуется изучить схему или перк пишете например tags="learnable,workbenchCrafting" где:
learnable - изучаемое.
workbenchCrafting - название перка.
———————————————————————————————————————————
По поводу добавления своей иконки переходите в соответствующий раздел руководства.


Свойства
Первое с чего стоит начать - это обозначение строк при помощи которых мы будем создавать и изменять наш предмет.
Вы можете взять и скопировать как основу параметры другого предмета, а затем изменить их так как вам надо.
Ниже будет описание каждой строки из параметра инструмента Claw hammer - молоток, чтобы вы могли понять что означает каждая строка и добавить её в свой предмет.


———————————————————————————————————————————

———————————————————————————————————————————

———————————————————————————————————————————
Практически все строки начинаются со слов <property name=...>, они также должны начинаться и заканчиваться знаком меньше и больше соответственно.
———————————————————————————————————————————
Tags - теги предмета. Обозначают тип предмета (например для молотка характерен тег оружия ближнего боя, а также инструмента), главный параметр к которому относиться предмет (у молотка этот параметр Сила - attStrength), перки/навыки которые действую на этот предмет (у молотка это перки - Mother Lode и Miner g69r), а также можно ли красить предмет (canHaveCosmetic означает что можно, если не ставить этот тег то и на предмет нельзя применить краску) и т.д.
DisplayType - тип предмета (у молотка тип ремонтного инструмента - meleeRepairTool).
HoldType - Тип удержания. Если Вы хотите изменить тип удержания то достаточно изменить цифру в кавычках.
Meshfile - модель предмета. Достаточно изменить путь модели в строчке value=... ,
чтобы у предмета поменялась модель.
Material - материал из которого сделан ваш предмет.
CustomIcon - кастомная иконка. Берётся из следующего пути ...7 Days To Die\mods\"Название мода"\UIAtlases\ItemIconAtlas.
RepairTools - инструменты/материалы с помощью которых можно починить этот предмет.
DegradationBreaksAfter - Ломается ли ваш предмет при достижении прочности 0. false - нет, true - да.
SoundJammed - звук который активируется при необходимости починки предмета.
SoundDestroy - звук который активируется при уничтожение предмета.
FuelValue - стоимость предмета в качестве топлива. Время указывается в секундах.
EconomicValue - стоимость предмета в качестве товара.
UnlockedBy - как открыть доступ к созданию этого предмета (у молотка это перк - Miner g69r или с помощью соответствующей схемы).
ShowQuality - показывать качество предмета. false - нет, true - да.
———————————————————————————————————————————
Action0 - действие предмета на левую кнопку мыши. По умолчани стоит действие атаки.

Class - класс действия.
Sphere - смещение цели.
Sound_start - звук старта действия.
ToolCategory.harvestingTools - параметр инструмента в качестве добывающего инструмента.
ToolCategory.Butcher - параметр инструмента в качестве разделывания туш.
GrazeStart - ...
GrazeEnd - ...
SwingDegrees - степень/градус размаха
SwingAngle - угол взмаха
UseGrazingHits - ...
Action1 - дополнительное действие используемое на правую кнопку мыши.
На примере молотка рассмотрим действие ремонта блоков.
Delay - задержка до следующий атаки. Время указывается в секундах.
Repair_amount - сумма ремонта блока (этот параметр характерен для ремонтных инструментов и чем он больше тем на больший процент чинятся блоки и т.д.).
Upgrade_hit_offset - ударов до улучшение блока.
Allowed_upgrade_items - Список ресурсов и блоков которые инструмент может использовать для строительства и улучшения.
UsePowerAttackAnimation - использовать анимацию мощного удара. false - нет, true - да.
———————————————————————————————————————————
<effect_group name="meleeToolClawHammer"> - параметры предмета (урон, ударов в минуту, сколько требует выносливости за удар и т.д.).
EntityDamage - урон по существам.
BlcokDamage - урон по блокам.
AttacksPerMinute - атак в минуту.
Stamina_loss - количество выносливости которое тратится при действии.
DegradationMax - прочность на минимальном и максимальном качестве предмета.
DegradationPerUse - количество прочности тратящийся за удар.
MaxRange - дальность действия.
BlockRange - дальность действия по блокам.
ModSlots - количество слотов для модификаций на каждом типе качества.
ModPowerBonus - процент прироста силы к характеристикам предмета от каждой модификации (value - процент прироста 0.10 = 10%; tags - к каким параметрам применяется прирост. У молотка это EntityDamage и BlockDamage).
ModPowerBonus - тоже самое что и предыдущий параметр только в этот раз увеличивает стоимость предмета за каждую модификацию.
———————————————————————————————————————————
Статистики предмета меняющий от качества предмета и уровня перков:
Все значение указываются в процентах.
EntityDamage - урон по существам. Параметр имеет 2 значения.
1) Случайный урон по существам.
2) Бонус к урону зависящий от качества предмета.
BlockDamage - урон по блокам. Параметр имеет 2 значения.
1) Случайный урон по блокам.
2) Бонус к урону зависящий от качества предмета.
DegradationMax - прочность предмета. Влияние перка Miner g69r.
AttacksPerMinute - ударов в минуту.
StaminaLoss - трата выносливости за удар.
———————————————————————————————————————————
DamageModifier - увеличение урона по определённому материалу. (tags - wood(дерево), earth(земля), stone(камень), metal(метал) и т.д.).
———————————————————————————————————————————
Group - группа к которой принадлежит предмет.
RepairExpMultiplier - множитель опыта при ремонте предмета.
Иконка
Есть 2 способа создание иконки для нашего предмета:
1)Использование игровых иконок с заменой цветов.
Самый простой способ, позволяющий использовать иконку любого предмета с изменение цвета. Для этого в строчке CustomIcon вашего предмета впишите название любого предмета из файлы Items.xml. В моём случае это будет иконка молотка (clawHammer). Затем вставьте следующую строку:
<property name="CustomIconTint" value=""/>

В этой строке между кавычками нужно вписать нужный вам цвет HTML (код можно взять например отсюда https://html-color-codes.info/Cvetovye-kody-HTML/).
После этого в игре будет использоваться иконка предмета с цветом, которые вы указали.

———————————————————————————————————————————
2)Своя иконка.
Чтобы добавить в игру свою иконку необходимо в папке UIAtlases создать папку с названием ItemIconAtlas. В этой папке можно сохранять все нужные вам иконки (они должны быть в разрешение 116х80 и в формате png).
После этого в строчке <property name="CustomIcon" value=""/> между кавычками пишете имя файлы нужной вам иконки.
Музыка и звуки
●В этом разделе вы узнаете, как заменить музыку и звуки в игре при помощи unity и UABE(Unity Assets Bundle Extractor).
Ссылки на программы и текстовый вид руководства под видео.
Видео.
UABE:
https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor
Unity:
https://unity3d.com/ru/get-unity/download/archive?_ga=2.156876990.422124600.1511449635-1157209106.1510359330


●Как заменить музыку и звуки?
В этом руководстве вы узнает, как изменить музыку и звуки на свои собственные!
Для начала потребуется скачать UABE и Unity (по ссылке выше). Для начала попробуем заменить музыку из главного меню и кровавой ночи, а также звуки открывания и закрывания инвентаря.
Ссылка на музыку и звуки из моего примера.
https://www.dropbox.com/s/r0gf78s5j67pz8k/Sounds.rar?dl=0

После того как вы нашли музыку и звуки(или скачали файл из руководства), переименуйте соответствующую музыку следующим образом:
1. Музыка кровавой луны - a_bloodmoon_oneshot
2. Музыка главного меню - menu_music_long_lp
3. Звук открывания инвентаря - open_inventory
4. Звук закрывания инвентаря - close_inventory
Далее запускайте Unity и создайте новый проект.
После создания перекинте звуковые файлы в поле Assets
Подождите пока обработаются ваши файлы, а после перекинте их на сцену!
Затем "постройте готовую игру" и дождитесь окончания построения (после него можно закрывать unity).


Все следующие работы будут проводиться с помощью UABE.
Откройте при помощи экстрактора файл sharedassets0.assets и найдите ваши звуковые файлы под типом AudioClip.

Затем нажмите export dump и сохраните dump файлы в любое удобное для вас место. Дальше необходимо исправить название ваших звуковых файлов(заменить тире на нижнее подчёркивание и убрать приписку _Audioclip...).
После исправления переименуйте файл sharedassets0.resource в любое удобное для вас название (например myfile.resource) и измените его же название в dump файлах.
Затем кидай этот файл в ...7 Days to Die/7DaysToDie_Data.
Следующим шагом станет открытие файла globalgamemanagers и импортирование в него наших звуковых файлов. Чтобы импортировать нужные нам файлы нажмите на кнопку View, а затем Search by name и вписывайте нужные названия файлов (Achtung! Название должно находиться в звёздочках). Дальше импортируйте дампы музыки и звуков
После импорта дампов, нажмите на кнопку OK сохраните файл resources.assets под название resources!.assets, а sharedassets0.assets под sharedassets0!.assets. Это необходимо сделать для того, чтобы скопировать файлы с таким же название, как резервную копию (на тот случай если что-то пойдёт не так и можно было вернуть всё к изначальному состонию).
После копирования можно удалить оригинальные resources.assets и sharedassets0.assets и заменить их нашими.

После всех этих манипуляций у вас будет играть ваша музыка!
Итоги
Руководство будет дополняться!
Увидели ошибку? Пишите её в комментариях!
Надеюсь я помог вам в создание собственного мода, также если вам понравилось руководство пожалуйста оцените его.
Если есть возможность то поддержи мой youtube канал.
https://www.youtube.com/user/Knaixed625
Changelog
19 марта 2020 г. - Обновление руководства:
Обновлены разделы: Свойства; Иконка.
Добавлен раздел - Changelog.
Разделы: Предметы и Рецепты были объединены.
———————————————————————————————————————————
20 сентября 2017 г. - Создание руководства.
35 条留言
Sapphire 2024 年 8 月 4 日 下午 12:12 
Версия движка поновее сейчас, а значит нет
Но можно сделать если скачаешь UABEAvalonia вроде бы, и через него уже импортировать дампы в саму игру
Опять же, EAC надо выключить и на другие сервера не будет пускать
More Nevermore 2024 年 8 月 4 日 上午 11:31 
Можно ли этим способом добавить свою музыку в 1.0?
Sapphire 2023 年 12 月 30 日 上午 6:24 
Иконки пихаешь в UiAtlases/ItemIconAtlas, должны быть в .png и желательно квадратного размера.
Дальше в items.xml в папке config когда добавляешь свой предмет, вписываешь это:
<property name="CustomIcon" value="имяфайла"/>
И на этом как бы все, проще простого
LinkinCat 2023 年 12 月 30 日 上午 3:44 
я не совсем понял как поменять иконку , помоги пожалуйста
Sapphire 2023 年 4 月 23 日 上午 4:19 
Если правильно понимаю, то bundle файлы такие же как и в 7DTD (по пути 7DaysToDie\Data\Bundles\Sounds к примеру).
Меняется все это дело так же, берется UABE (если поддерживается что в гайде, берем этот), выбираешь этот bundle файл, он по идее должен сказать мол это дело сжато, надо распаковать. Выбираешь путь куда распаковать, там должен появиться тот же самый файл но на пару мегабайтов жирнее (а может и больше).
Sapphire 2023 年 4 月 23 日 上午 4:18 
Как распакует, сразу его откроет. Чтоб открыло окно с ассетами - жми кнопку Info и уже дальше как в гайде. .resource файл кстати все равно летит в папку gamename_Data. Не забудь только его обратно переименовать чтоб работало.
Я таким промышлял в альфе 18-19, уже точно не помню. Но оно сработало. Пришлось пост на 2 делить, ибо больше 1000 символов вышло :L
levvass 2023 年 4 月 22 日 下午 12:25 
Не 7 days to die, но другая игра на юнити. Хочу заменить звуковые файлы реплик персонажа, но есть мааааааленькая проблема - его реплики находятся в bundle, и обычный способ изменить dump файл не представляется возможным. что мне делать в данной ситуации?
Sapphire 2022 年 5 月 12 日 下午 12:34 
С 20-ой альфой секция с музыкой/звуками стала частично неактуальной из-за обновления движка. Этот UABE рабочий: https://github.com/nesrak1/UABEA
Один момент: он немного неудобный, сам уже не помню когда качал. А так лучше состряпать свой звуковой мод, немного гемморно будет, но и с обновлением игры не нужно будет ничего менять по новой, разве что другие звуки (музыка, эмбиент) придется этим же путем менять.
Stega163 2021 年 7 月 18 日 上午 3:27 
Взмах руки и топора. swing - я все файлы проверил и не нашел эти звуки. Нужен звук не удара об чтото а звук самого взмаха. При ударе топором об дерево слышно 2 звука, взмаха и самого удара. Вот мне нужен теперь звук взмаха))
Sapphire 2021 年 7 月 12 日 上午 9:54 
"как может называться звук выкидывания вещей из инвентаря?"
долго искать не пришлось, зовется itemdropped.