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

Search the Community

Showing results for tags 'основы моддинга'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • THE MAIN SECTION OF THE FORUM
    • DAYZ-CODE.RU
    • АРБИТРАЖ DAYZ-CODE.RU
    • DAYZ STANDALONE GAME NEWS
  • SERVER BUILDING - DAYZ STANDALONE
    • GUIDES/MANUALS AND OTHER INSTRUCTIONS
    • HELP - DAYZ STANDALONE
  • PRIVATE SECTION OF THE SITE
    • PRIVATE SECTION
  • TRADE SECTION AND PROVISION OF SERVICES
    • PURCHASE OF GOODS AND SERVICES
    • PROVISION OF SERVICES
    • WORK
  • PRODUCT SUPPORT TOPICS
    • PRODUCT SUPPORT DAYZ STANDALONE
    • SUPPORT FOR "USEFUL SOFTWARE"
  • Different
    • FLAME ON VARIOUS TOPICS
  • JOINT PURCHASES
    • ALL JOINT PURCHASES
  • SITE ARCHIVE DAYZ-CODE.RU
    • SITE ARCHIVE
  • ARMA 3
    • ARMA 3 - GUIDES/MANUALS AND OTHER INSTRUCTIONS
    • HELP - ARMA 3
  • ARMA 3
    • ARMA 3 - Missions and Campaigns
  • ARMA 3
    • ARMA 3 - Online game
  • ARMA 3
    • ARMA 3 - Editor
  • ARMA 3 -BIS
    • ARMA 3 - BIS Bugtracker
  • DAYZ STANDALONE -BIS
    • DAYZ SA - BIS Bugtracker

Categories

  • Equipment
    • Shoes
    • Masks
    • Hats
    • Glasses
    • Gloves
    • Vests
    • Backpacks
    • Cloth
    • Belts
  • Craft
  • Food
    • Meat and Fish
    • Canned food
    • Mushrooms
    • Vegetables and fruits
    • Water and Drinks
  • Indicators
  • Construction
  • Ammo
  • Modules
    • Magazines and clips
    • Add. Modifications
    • Butts
    • Sights
    • Muzzle modifications
    • Handguard and Handles
  • Weapons
    • G. launchers
    • Auth. Rifles
    • Shotguns
    • Pistols M. guns
    • Rifles
    • Pistols
    • Throwing
  • Medicine
  • Grenades
  • Diseases
  • Instruments
  • Tents and Containers
  • Resources
    • Fuel
    • Extracted resources
    • Building Resources
    • Animal skins
  • Electrical apps
  • Means of communication
  • Sources of light
  • Repair
  • Other
  • Cooking
  • Explosives

Categories

  • DayZ STANDALONE
    • Server builds
    • Scripts, mods
    • Map modding
    • Transport
    • Weapons
    • Furniture
    • Items
    • Models
  • DayZ useful software
    • Software
    • Other

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Information


Paul


City


Member Title


VKontakte


Discord


Boosty


Mail


Skype


Steam ID

Found 1 result

  1. Мы создадим простой мод, который будет выводить сообщение в журнал скрипта всякий раз, когда игрок совершает прыжок. Для этого нам нужно создать структуру папок мода, а затем упаковать ее в 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 а затем скопируем следующий образец: class CfgPatches { class FirstMod { requiredAddons[] = { // "" }; }; }; class CfgMods { class FirstMod { type = "mod"; class defs { class worldScriptModule { value = ""; files[] = { "FirstMod/Scripts/4_World" }; }; }; }; Ознакомьтесь со структурой 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" на путь, который вы скопировали ранее. mklink /J "DayZInstallationFolder\FirstMod" "P:\FirstMod" Вернитесь к папке установки DayZ, теперь вы должны увидеть там "FirstMod". Введите папку, и вы увидите "Scripts" и файлы внутри нее, как на рабочем диске. Создаем наш первый скрипт Давайте создадим скрипт внутри модуля world script, который будет выводить данные в журнал скриптов при каждом переходе. Для начала перейдите в созданную ранее папку "4_World". Если вы работаете или когда-либо хотели бы работать с workbench, выполните следующие действия. Создайте новую папку под названием "Первый мод". Это связано с тем, что "Workbench" не различает файлы и папки, из какого мода они взяты, и был ли это вообще мод. Давайте создадим скрипт, который будет "модифицировать" существующий класс. Давайте сначала создадим файл "Player Base.c" в текущей папке. Для этого мы добавим ключевое слово "modded" в объявление класса. В рамках этого нового класса давайте переопределим метод, чтобы добавить наше собственное поведение, в данном случае это будет печать в журнал скрипта. modded class PlayerBase // modded keyword for modding an existing class { override void OnJumpStart() // overriding an existing method { super.OnJumpStart(); // call the original jump callback method so we don't break stuff Print("My first mod, yay!"); // our modded print } } Тестирование мода Одиночная игра Давайте сначала создадим простую одиночную миссию, в которой при загрузке игры в chernarus появится игровой персонаж. Если в вашей установочной папке DayZ ее нет, создайте новую папку с именем "миссии". Укажите ее. Создайте новую папку с именем "firstMission".ChernarusPlus. Обратите внимание, что "firstMission" - это название миссии, а "ChernarusPlus" - название мира, как указано в "CfgWorlds". В рамках только что созданной миссии создайте скрипт точки входа "init.c" и вставьте следующий скрипт появления игрока Mission CreateCustomMission(string path) { return new MissionGameplay(); } void main() { PlayerBase player; ItemBase item; // Create player player = PlayerBase.Cast( GetGame().CreatePlayer(NULL, "SurvivorF_Linda", "2200 10 2200", 0, "NONE") ); // Spawn a black t-shirt item = player.GetInventory().CreateInInventory("TShirt_Black"); // Spawn a green short jeans item = player.GetInventory().CreateInInventory("ShortJeans_Green"); // Spawn a brown working boots item = player.GetInventory().CreateInInventory("WorkingBoots_Brown"); // Spawn an apple in the t-shirt, don't redefine 'item' so we can still spawn other items in the t-shirt item.GetInventory().CreateInInventory("Apple"); // Select player the client will be controlling GetGame().SelectPlayer(NULL, player); } Откройте окно командной строки и выполните следующую команду, заменив "DayZInstallationFolder" на патч, в котором установлен dayz. start /D "DayZInstallationFolder" DayZDiag_x64.exe "-mod=P:\Mods\@FirstMod" "-mission=./missions/firstMission.ChernarusPlus" -filePatching Дополнительные моды можно добавлять, разделяя их точкой с запятой. Например: -mod=P:\Mods\@FirstMod;P:\Mods\@SecondMod. Мы используем одиночную миссию, созданную ранее. Если вы используете редактор сценариев в Workbench, теперь вы будете видеть пользовательское сообщение в разделе вывода при каждом переходе. Если это не так, перейдите в папку "Ваши профили" (по умолчанию: "%localappdata%/DayZ" ) и откройте самый последний файл, начинающийся с script. В нем будет содержаться сообщение. Мультиплеер Откройте окно командной строки и выполните следующую команду, заменив "DayZInstallationFolder" на патч, в котором установлен dayz. start /D "DayZInstallationFolder" DayZDiag_x64.exe "-mod=P:\Mods\@FirstMod" -filePatching -server -config=serverDZ.cfg где файл servers.cfg можно скопировать из серверного дистрибутива DayZ в Steam. По умолчанию загружается миссия "dayzOffline.Чернорусплюс". В конфигурации сервера вам потребуется изменить следующие параметры BattlEye = 0; // turn off BE since diag exe does not run with it verifySignatures = 0; // if testing mods which aren't properly signed yet allowFilePatching = 1; // allow clients with unpacked data to join Затем вы можете подключиться к серверу, используя следующую команду: start /D "DayZInstallationFolder" DayZDiag_x64.exe "-mod=P:\Mods\@FirstMod" -filePatching -connect=127.0.0.1 -port=2302 Издание Перед публикацией отключите исправление файлов, удалив параметр запуска, и снова упакуйте все файлы .pbo. Убедитесь, что все работает без включенного исправления файлов. Дополнительные шаги, которые вам необходимо выполнить, если вы хотите поделиться модом со всем миром через steam workshop: Используйте утилиты DS (DayZ Tools), чтобы создать приватный и общедоступный байк и использовать его для подписи вашего pbo, а также включить общедоступный байк в свой мод Используйте Publisher (DayZ Tools) для загрузки в Steam Workshop
×
×
  • Create New...