Jump to content
DAYZ-CODE.RU - Создай свой игровой сервер

DayZ: Основы моддинга


Vostok
 Share

Recommended Posts

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

Для этого нам нужно создать структуру папок мода, а затем упаковать ее в pbo-файл. Мод может содержать несколько pbo-файлов, но большинству небольших модов понадобится только один.


Требования

  • Steam-версия DayZ SA
  • Инструменты DayZ (доступны через steam)
  • Понимание базового синтаксиса скрипта Enforce
  • Понимание структуры PBO


Настройка диска проекта

Создайте Project Drive для хранения представления файловой системы DayZ и всех ее файлов.

  • Запустите DayZ Tools в Steam, выбрав "Play DayZ Tools"
  • В строке меню нажмите "Settings".
  • Измените путь к диску Project, сняв флажок Default, а затем выбрав путь, на котором на диске должно быть не менее 20 Гб свободного места.
  • В раскрывающемся списке, указывающем букву диска, выберите ее. Обязательно укажите, какую букву вы выбрали. Рекомендуется использовать "P:\".
  • Нажмите "Применить"
  • В строке меню перейдите в "Tools" и выберите "Extract Game Data".
  • Дождитесь завершения процесса.


Структура папок и config.cpp

Начните с создания папки, в которой будет находиться одноименный мод. Иначе это называется корневым префиксом мода. В этом примере мы создадим папку на нашем диске 'P:\' под названием First Mod.
В этой папке давайте создадим еще одну папку с именем Scripts, а затем в этой папке создадим еще одну папку с именем 4_World.
Давайте сначала создадим конфигурацию мода. В папке Scripts создадим новый файл с именем config.cpp а затем скопируем следующий образец:

Please Log in or Register to see this: Code

Ознакомьтесь со структурой config.cpp CfgMods
В DayZ standalone есть 5 скриптовых модулей, которые можно модифицировать. Для того, чтобы они загружались, это "engineScriptModule", "gamelibScriptModule", "gameScriptModule", "worldScriptModule" и "missionScriptModule". Использование правильного скриптового модуля очень важно!

Упаковка мода

Хотя мы еще не готовы к тестированию, давайте запакуем мод. Это необходимо для того, чтобы мы могли создавать и редактировать скрипты с помощью исправления файлов.

При упаковке мода убедитесь, что в папке "Дополнения" (и "ключи") указаны строчные буквы и что файлы в "дополнениях" также написаны строчными буквами. Это необходимо для того, чтобы ваш мод работал с двоичными файлами сервера DayZ Linux.

  • Для начала давайте создадим папку, в которую мы поместим все наши упакованные моды. На вашем рабочем диске создайте новую папку под названием Mods.
  • В этой папке давайте создадим папку, в которой будет наш первый мод. Назовем ее @FirstMod. Для всех модов требуется папка с дополнениями, поэтому давайте также создадим ее в папке с модами.
  • Запустите DayZ Tools в Steam, выбрав "Play DayZ Tools".
  • Нажмите "Addon Builder"
  • Укажите каталог исходного кода дополнения, в нашем случае это будет P:\FirstMod\Scripts'
  • Укажите имя конечного файла, в нашем случае это будет P:\Mods\@FirstMod\addons\
  • В левой нижней части окна выберите "Параметры" и укажите путь к папке проекта на вашем рабочем диске.
  • Нажмите "Упаковать" и подождите (если этот процесс завершится неудачей, установите флажок "Включить расширенное ведение журнала", чтобы узнать причину, или снимите флажок "Бинаризировать").


Подготовка к внесению исправлений в файлы

  • Перейдите в свою установочную папку DayZ. Она будет находиться в папке steamapps по адресу "steamapps/common/DayZ".
  • Скопируйте полный путь.
  • Откройте окно командной строки и выполните следующую команду, заменив "DayZInstallationFolder" на путь, который вы скопировали ранее.
     
Please Log in or Register to see this: Code

 

  • Вернитесь к папке установки DayZ, теперь вы должны увидеть там "FirstMod". Введите папку, и вы увидите "Scripts" и файлы внутри нее, как на рабочем диске.


Создаем наш первый скрипт

Давайте создадим скрипт внутри модуля world script, который будет выводить данные в журнал скриптов при каждом переходе.

Для начала перейдите в созданную ранее папку "4_World".

Если вы работаете или когда-либо хотели бы работать с workbench, выполните следующие действия. Создайте новую папку под названием "Первый мод". Это связано с тем, что "Workbench" не различает файлы и папки, из какого мода они взяты, и был ли это вообще мод.

Давайте создадим скрипт, который будет "модифицировать" существующий класс. Давайте сначала создадим файл "Player Base.c" в текущей папке. Для этого мы добавим ключевое слово "modded" в объявление класса. В рамках этого нового класса давайте переопределим метод, чтобы добавить наше собственное поведение, в данном случае это будет печать в журнал скрипта.

Please Log in or Register to see this: Code


Тестирование мода

Одиночная игра

Давайте сначала создадим простую одиночную миссию, в которой при загрузке игры в chernarus появится игровой персонаж.

  • Если в вашей установочной папке DayZ ее нет, создайте новую папку с именем "миссии". Укажите ее.
  • Создайте новую папку с именем "firstMission".ChernarusPlus. Обратите внимание, что "firstMission" - это название миссии, а "ChernarusPlus" - название мира, как указано в "CfgWorlds".
  • В рамках только что созданной миссии создайте скрипт точки входа "init.c" и вставьте следующий скрипт появления игрока
     
Please Log in or Register to see this: Code

Откройте окно командной строки и выполните следующую команду, заменив "DayZInstallationFolder" на патч, в котором установлен dayz.

Please Log in or Register to see this: Code

Дополнительные моды можно добавлять, разделяя их точкой с запятой. Например: -mod=P:\Mods\@FirstMod;P:\Mods\@SecondMod.

Мы используем одиночную миссию, созданную ранее.

Если вы используете редактор сценариев в Workbench, теперь вы будете видеть пользовательское сообщение в разделе вывода при каждом переходе. Если это не так, перейдите в папку "Ваши профили" (по умолчанию: "%localappdata%/DayZ" ) и откройте самый последний файл, начинающийся с script. В нем будет содержаться сообщение.

Мультиплеер

Откройте окно командной строки и выполните следующую команду, заменив "DayZInstallationFolder" на патч, в котором установлен dayz.

Please Log in or Register to see this: Code

где файл servers.cfg можно скопировать из серверного дистрибутива DayZ в Steam. По умолчанию загружается миссия "dayzOffline.Чернорусплюс". В конфигурации сервера вам потребуется изменить следующие параметры

Please Log in or Register to see this: Code

Затем вы можете подключиться к серверу, используя следующую команду:

Please Log in or Register to see this: Code


Издание

Перед публикацией отключите исправление файлов, удалив параметр запуска, и снова упакуйте все файлы .pbo. Убедитесь, что все работает без включенного исправления файлов.

Дополнительные шаги, которые вам необходимо выполнить, если вы хотите поделиться модом со всем миром через steam workshop:

  • Используйте утилиты DS (DayZ Tools), чтобы создать приватный и общедоступный байк и использовать его для подписи вашего pbo, а также включить общедоступный байк в свой мод
  • Используйте Publisher (DayZ Tools) для загрузки в Steam Workshop
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...