Економіка сервера (Central Economy) відповідає за:
Ця система контролюється через XML конфігураційні файли місії сервера.
Цей пакет включає стандартну multiplayer місію DayZ з використанням автономної бази даних.
Це означає:
Дані персонажів зберігаються у файлі:
player.db
Файл знаходиться у папці:
dayz.chernarusplus/storage_X
⚠️ Видалення файлу
player.dbпризведе до вайпа всіх персонажів.
У папці:
storage_X/data
зберігається стан центральної економіки сервера.
Тут зберігається інформація про:
⚠️ Видалення папки
dataпризведе до повного ресету економіки сервера.
Наприклад:
Папка mpmissions містить файли місії сервера.
Вона включає:
dbspawnpoints_players.bininit.cФайл:
spawnpoints_players.bin
зберігає координати всіх можливих точок спавну гравців.
XML файли визначають:
Ці параметри можна змінювати для налаштування сервера.
Файл:
events.xml
відповідає за динамічні події на сервері.
Наприклад:
Підтримуються наступні типи:
Vehicle
Static
Loot
Infected
Animal
Ambient
Item
Trajectory
<event name="VehicleCivilianSedan">
<waves>0</waves>
<nominal>25</nominal>
<min>20</min>
<max>25</max>
<lifetime>300</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="1" />
<position>fixed</position>
<limit>mixed</limit>
<active>1</active>
<children>
<child lootmax="0" lootmin="0" max="15" min="10" type="CivilianSedan" />
<child lootmax="0" lootmin="0" max="15" min="10" type="Hatchback_02" />
<child lootmax="0" lootmin="0" max="15" min="10" type="Sedan_02" />
</children>
</event>
name — назва івенту
waves — кількість хвиль спавну
nominal — оптимальна кількість об'єктів
min — мінімальна кількість об'єктів
max — максимальна кількість об'єктів
lifetime — час життя об'єкта (секунди)
restock — час перед новим спавном
active
1 — включено
0 — вимкнено
Файл:
globals.xml
містить глобальні параметри економіки сервера.
CleanupLifetimeDeadPlayer
Час видалення тіла гравця після смерті.
CleanupLifetimeDeadInfected
Час видалення зомбі.
CleanupLifetimeDeadAnimal
Час видалення тварин.
AnimalMaxCount
Максимальна кількість тварин на сервері.
CleanupLifetimeRuined
Час очищення зламаних предметів.
Файл:
types.xml
відповідає за спавн лута на карті.
Тут описано кожен предмет у грі.
<type name="Mag_AK101_30Rnd">
<nominal>20</nominal>
<lifetime>10800</lifetime>
<restock>1800</restock>
<min>10</min>
<quantmin>20</quantmin>
<quantmax>80</quantmax>
<cost>100</cost>
<flags count_in_cargo="0"
count_in_hoarder="0"
count_in_map="1"
count_in_player="0"
crafted="0"
deloot="0" />
<category name="weapons" />
<usage name="Military" />
<value name="Tier3" />
<value name="Tier4" />
</type>
nominal
Оптимальна кількість предмета на сервері.
min
Мінімальна кількість.
lifetime
Час життя предмета.
restock
Час до повторного спавну.
quantmin / quantmax
Наповненість предметів.
Наприклад:
Файл:
cfgeventspawns.xml
визначає координати динамічних подій.
Наприклад:
Файл:
cfgplayersspawnpoints.xml
визначає точки спавну гравців.
Після першого запуску сервера ці дані зберігаються у файлі:
spawnpoints_players.bin
⚠️ Якщо ви змінюєте spawnpoints — потрібно видалити
.binфайл.
Файл використовується для налаштування пресетів лута.
Він задає:
Зазвичай використовується у:
cfgspawnabletypes.xml
Цей файл визначає які предмети можуть з'являтися всередині інших предметів.
Наприклад:
<type name="Bear_Beige">
<cargo chance="1.00">
<item name="Paper" chance="0.50" />
<item name="Rag" chance="0.50" />
</cargo>
</type>
У цьому прикладі:
у ведмедику зі 100% шансом з'явиться:
Файли:
mapgroupcluster*.xml
визначають:
Тут знаходиться карта розміщення об'єктів.
Файл:
init.c
використовується для:
player.RemoveAllItems();
itemEnt = player.GetInventory().CreateInInventory("Rag");
itemBs = ItemBase.Cast(itemEnt);
itemBs.SetQuantity(4);
SetRandomHealth(itemEnt);
EntityAI gun = player.GetHumanInventory().CreateInHands("M4A1");
gun.GetInventory().CreateAttachment("M4_RISHndgrd_Black");
gun.GetInventory().CreateAttachment("M4_MPBttstck_Black");
gun.GetInventory().CreateAttachment("ACOGOptic");
EntityAI oCar = EntityAI.Cast(GetGame().CreateObject("CivilianSedan", player.GetPosition(), false, true));
oCar.GetInventory().CreateAttachment("CivSedanWheel");
oCar.GetInventory().CreateAttachment("CivSedanWheel");
oCar.GetInventory().CreateAttachment("CivSedanWheel");
oCar.GetInventory().CreateAttachment("CivSedanWheel");
oCar.GetInventory().CreateAttachment("SparkPlug");
oCar.GetInventory().CreateAttachment("CarRadiator");
oCar.GetInventory().CreateAttachment("CarBattery");
⚠️ Нова фізика автомобілів у DayZ може працювати нестабільно.
Використовуйте цей метод обережно.
Центральна економіка DayZ контролює:
Основні файли для редагування:
events.xml
types.xml
globals.xml
cfgspawnabletypes.xml
cfgeventspawns.xml
cfgplayersspawnpoints.xml
cfgrandompresets.xml
init.c
Змінюючи ці файли, ви можете повністю налаштувати економіку сервера під свій проект.