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

Централизованная настройка экономии для нестандартных ландшафтов


ProHack
 Share

Recommended Posts

Централизованная настройка экономии для нестандартных ландшафтов

На этой странице описаны основные шаги по созданию пользовательского ландшафта, работающего в центральной экономической системе в DayZ.

Требования:

Установлен пакет DayZ и DayZ Tools.
Есть рабочие пользовательские файлы terrain (mod), бинаризованные и упакованные в pbo.

Файлы миссии

  • Централизованная настройка экономики может быть выполнена в папке миссии, если пользователь решит это сделать. Еще одним преимуществом является то, что Central Economy работает и в однопользовательском режиме, что упрощает весь процесс и упрощает отладку, используя только однопользовательские функции диагностики, доступные в DayZDiag_x64.exe (подробнее об этом по ССЫЛКЕ).
  • Но прежде чем углубляться в это, нам нужно проверить основы - название папки миссии указывает игре, какую местность загружать.
  • Важно следовать этому соглашению об именовании mission_name.terrain_name.
  • Если вы не знаете названия вашей местности, я предлагаю вам заглянуть в config.cpp файл рядом с вашим файлом wrp (имя класса в CfgWorlds).
  • Папка миссии может быть размещена в любом месте вашего компьютера (параметр запуска или конфигурация сервера могут содержать полный путь).
  • Предполагая, что ваш ландшафт основан на ресурсах местности ChernarusPlus, вы можете создать свою собственную миссию на основе файлов миссий, доступных в DZ \ worlds \ chernarusplus \ ce (извлеченные игровые данные из worlds_chernarusplus_ce.pbo).
  • Эта папка содержит все центральные экономические файлы по умолчанию для этой местности.
  • Скопируйте все эти файлы в вашу только что созданную папку миссии.
  • Чтобы запустить миссию, вам нужно добавить скрипт init.c, который отвечает за саму логику миссии (создание игрового персонажа, инициализация Центральной экономики, ..).Содержимое init.c должно выглядеть следующим образом:
Please Log in or Register to see this: Code


Этот простой init.c попытается инициализировать центральную экономику и создаст игрового персонажа по заданным координатам в spawnPos (вы можете изменить этот вектор в соответствии с местоположением на вашей местности и перезапустить миссию).

Давайте быстро взглянем на другие файлы в папке миссии:
 

File name Purpose of the file
db\economy.xml Основной файл конфигурации economy. Позволяет включать и выключать инициализацию, загружать из хранилища, сохранять в хранилище, возрождаться для выбранных групп объектов в (динамический = добыча, животные, зомби, ..).
db\events.xml Файл конфигурации динамических событий. Используется для определения таких событий, как аварии вертолетов, автомобили, а также присутствие искусственного интеллекта.
db\globals.xml Файл конфигурации глобальных переменных. Используется для изменения нескольких переменных, влияющих на механизм нереста, а также глобального лимита зараженных и животных.
db\types.xml Файл конфигурации порождаемых типов. Используется для определения всех доступных для создания типов и ограничений их присутствия в мире (минимальные, номинальные значения, теги, категории, флаги,..).
env\.. Место для всех файлов с животными и зараженной территорией.
init.c Файл сценария инициализации миссии.
cfgeconomycore.xml Базовая конфигурация центральной экономики, не меняйтесь, если вы не знаете, что делаете.
cfgenvironment.xml Конфигурация стада животных и их территорий.
cfgareaflags.xml Используется для определения флагов-ограничителей (использование и значение) и их названий, используемых центральным инструментом экономии.
cfglimitsdefinition.xml Похожий на cfgareaflags.xml , но этот, кроме того, также содержит определение для ограничителей тегов и категорий.
cfglimitsdefinitionuser.xml Пользовательские определения для ограничителей, определенных в cfglimitsdefinition.xml . Обычно допускает более простые определения, такие как Tier234 и так далее (для экономии места в db\types.xml файл).
cfgeventspawns.xml Используется для определения позиций (и поворота) для определенных типов динамических событий (крушение вертолета, появление автомобиля,..).
cfgplayerspawnpoints.xml Содержит базовые позиции для генерации точки возрождения игрока (только для многопользовательской миссии). Результирующий двоичный файл будет сгенерирован в папке хранения при первом подключении нового проигрывателя.
cfgspawnabletypes.xml Используется для определения случайного содержимого груза (инвентаря) или случайных вложений для выбранных порождаемых типов (определенных в db\types.xml ).
cfgrandompresets.xml Определения предустановок для случайного появления груза или вложений. Используется в cfgspawnabletypes.xml .
mapclusterproto.xml Прототипы для групп карт кластерного типа (фруктовые деревья, объекты, порождающие грибы,..). Каждый прототип содержит контейнеры с точками возрождения для добычи.
mapgroupcluster.xml Экспортированные позиции всех групп карт кластерного типа. Таких файлов может быть больше (из-за ограничения размера xml-файла). В этом случае дополнительные файлы заканчиваются номером.
mapgroupdirt.xml Расположение всех групп карт (зданий), которые не привязаны к определенному объекту карты.
mapgrouppos.xml Экспортированные позиции всех стандартных групп карт (зданий).
mapgroupproto.xml Прототипы для стандартных групп карт (зданий). Каждый прототип содержит контейнеры с точками возрождения для добычи.

 

Как вы можете видеть, в папке миссии хранится много важной информации.

Прежде чем продолжить, я настоятельно рекомендую изменить db\events.xml файл.Этот файл действительно важен, поскольку практически все зависит от динамического события (включая добычу, которая появляется в домах).

Зачем изменять его сейчас?

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

Как деактивировать события?

Открыть db\events.xml и найдите <активный> элемент.
Установите его равным нулю везде, кроме события под названием Loot.

Запуск игры

После того, как init.c был изменен и динамические события были деактивированы, вы можете продолжить, попробовав это в игре.
Как я уже упоминал, я рекомендую протестировать центральную экономику в одиночном режиме.

Вот что вы должны сделать, чтобы запустить его:

Please Log in or Register to see this: Code


Вы также можете использовать DayZ Launcher и выбрать указанные параметры в пользовательском интерфейсе, но он будет запускать стандартный DayZ_x64.exe .

Прямо сейчас не имеет значения, какой exe-файл вы выберете, поскольку дополнительные средства диагностики центральной экономики не были обнародованы, но как только они появятся, это руководство будет обновлено, и вы захотите использовать DayZDiag_x64 вместо DayZ_x64, поскольку по умолчанию DayZ exe не имеет этих средств диагностики.

Давайте посмотрим, что вы должны делать каждый раз, когда меняете файл в папке mission (кроме init.c).

 

  1. Убедитесь, что игра не запущена.
  2. Внесите изменения в файлы миссии.
  3. Запустите DayZ, используя параметры, указанные ранее.
  4. Как только вы закончите наблюдать за изменениями и будете готовы внести дополнительные изменения, закройте игру и удалите storage_-1.



Пожалуйста, обратите внимание, что папка storage_-1 - это фактическое состояние центральной экономики в вашей миссии.

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

Также обратите внимание, что папка хранения не всегда может заканчиваться на -1.

В этом случае просто удалите любую папку, начинающуюся с storage_.

Экспорт данных из игры

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

Центральная экономика может инициировать экспорт (обычно занимает несколько секунд) позиций для:

  • стандартные группы карт (здания) - mapgrouppos.xml , экспорт ограничен кругом с указанным центром и радиусом (установите его таким образом, чтобы он охватывал всю местность)
  • группы карт кластерного типа (фруктовые деревья и т.д.) - группы карт кластеризуют xml-файлы, экспорт выполняется по всей местности.

Эти файлы могут быть сгенерированы путем выполнения следующего init.c:

Please Log in or Register to see this: Code

 

Очень важно вызывать эти методы после GetHive().В нем оффлайн() и не раньше.
Результатом этих вызовов являются xml-файлы, которые будут сохранены в папке storage_-1\export.
Они должны быть (при условии, что они выглядят правильно) скопированы в корень миссии и перезаписаны ранее доступными (если таковые имеются).
После того, как это будет сделано, вы можете закрыть игру, удалить папку хранения и удалить строки экспорта (или добавить //, чтобы прокомментировать их).
После того, как вы снова запустите игру, вы должны увидеть добычу, правильно размещенную там, где она должна быть.
Обратите внимание на здание, чтобы быстро протестировать его (вы можете изменить параметры появления персонажа игрока).

Настройка параметров

  • Экспорт данных из игры - это лишь крошечная часть процесса.
  • Большая часть работы заключается в корректировке конкретного содержимого файлов миссии.
  • Итак, давайте рассмотрим несколько моментов, на которые вам следует обратить внимание при преобразовании центральной экономичной установки ChernarusPlus в соответствии с вашим ландшафтом.

db\types.xml

  • Весьма вероятно, что на вашей местности будет либо слишком мало, либо слишком много места для добычи (количество групп карт - зданий будет отличаться от ChernarusPlus), и поэтому вам нужно будет изменить минимальные и номинальные значения для каждого типа, который можно создать.
  • Это важно, так как необходимо предотвратить перегрузку центральной экономики запросами на создание (чтобы предотвратить перебои в поиске).
  • Вы также можете попытаться освободить меньше или больше места, изменив / добавив параметр lootmax для групп карт и их контейнеров в mapgroupproto.xml .
  • Но имейте в виду, что только одна часть добычи может оказаться в точке возрождения, поэтому, по сути, количество точек возрождения в контейнере равно максимальному количеству добычи в этом контейнере.
  • К сожалению, настройка значений без какой-либо обратной связи с системой довольно сложна, но будет доступна диагностика (как упоминалось ранее), которая немного упростит этот процесс.


cfgeventspawns.xml

  • Как уже упоминалось, этот файл содержит положения и повороты для динамических событий, основанных на положении (автомобили, геликоптеры и так далее).
  • Существует несколько типов этих координат (в зависимости от типа события) и количества способов, которыми вы можете добраться до этих координат, но, вероятно, лучше всего использовать Terrain Builder для добавления фиктивных объектов в выбранные позиции и экспорта выделения / слоя из TB в txt-файл - просто имейте в виду, что граница рамки карты следует вычесть, чтобы координаты совпадали с координатами в игре.
  • Как только у вас будут готовы координаты для определенного события, вы можете продолжить повторное включение такого события в db\events.xml файл.

cfgplayerspawnpoints.xml

  • Это связано с многопользовательской (серверной) миссией (вы не можете реально протестировать точки возрождения игрока в одиночном режиме).
  • Тем не менее, сначала вам нужно подготовить набор точек возрождения.
  • Может быть сделано так же, как позиции для динамических событий (упомянутых выше), координаты являются 2D, и после того, как они у вас есть, вы можете поместить их в <generator_posbubbles> в XML-файле точек появления игрока.

area flags.map

  • Как уже упоминалось, этот файл является необязательным и является одним из выходных данных Central Economy Tool.
  • Это позволяет вам ограничить добычу определенными местами, где отдельным группам стандартных карт (зданиям) будут присвоены флаги использования или ценности на основе информации, хранящейся в этом файле.
  • Вы должны либо не иметь его вообще, либо иметь свою собственную версию, так как использование одной из миссий ChernarusPlus определенно не облегчит вашу жизнь.
  • Если вы заинтересованы в его создании, я предлагаю вам заглянуть в пакет samples, в проект CETool для ChernarusPlus terrain (получить его здесь), чтобы получить представление о том, как это выглядит.
     

Поддержка искусственного интеллекта

  • Добавить поддержку искусственного интеллекта на вашей местности, возможно, немного сложнее, поскольку для этого требуется уже упомянутый инструмент централизованной экономики, но примеры могут помочь и здесь.
  • Взгляните на проект CETool для ChernarusPlus (получите его здесь), чтобы получить представление о том, как это выглядит.
  • Аналогичный проект CETool может быть создан и для вашего пользовательского ландшафта.
  • Инструмент может экспортировать уже упомянутые area flags.map, а также файлы territory/zone для AI.
  • ИИ также нуждается в создании связи между файлами территории/зоны и соответствующими динамическими событиями.
  • Это можно сделать, изменив cfgenvironment.xml внесите в свою миссию.
  • Я бы рекомендовал посмотреть файл по умолчанию, используемый на ChernarusPlus (находится по адресу DZ\worlds\chernarusplus\ce или worlds_chernarusplus_ce.pbo).
  • Как и все остальное, порождения искусственного интеллекта также являются динамическими событиями, поэтому убедитесь, что вы повторно включаете их, как только почувствуете, что подготовили остальные вещи (они начинаются с животных или зараженных слов).


Файлы по умолчанию

  • Обновление 1.04 добавило возможность определять центральные файлы экономики по умолчанию.
  • Раньше, если вы хотели запустить миссию с централизованной экономикой, все файлы требовались в самой папке миссии. Это часто приводило к ненужному дублированию данных.
  • Вот почему были реализованы файлы по умолчанию.
  • С 1.04 для вашей полностью ванильной миссии Chernarus Plus требуется только файл init.c, остальное берется автоматически из недавно добавленного файла pbo (для ChernarusPlus это worlds_chernarusplus_ce.pbo).
  • Кроме того, вы можете переопределить любой файл из папки по умолчанию, просто поместив его в папку вашей миссии в правильном месте и с правильным именем.
  • Эта функция может быть реализована таким же образом для вашей собственной местности, просто убедитесь, что вы добавили следующий параметр в конфигурацию:
     
Please Log in or Register to see this: Code

 

  • Вы также можете взглянуть на образец terrain, чтобы получить представление о том, как должна выглядеть реализация файлов Central Economy по умолчанию.
Edited by ProHack
  • Like 5
  • Confused 1
Link to comment
Share on other sites

  • 5 weeks later...
  • 10 months later...

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...