PřipnutéTutorial

types.xml vysvětlen: co doopravdy dělají nominal, min, restock, lifetime a všechny ostatní hodnoty

od TimV · · Zobrazení: 17 · Odpovědí: 0

TimVZakladatel tématu

Členem od · Příspěvků: 1

#1

Skoro dva tisíce záznamů se stejnou stavbou a ani jeden řádek, který by vysvětlil, co ta čísla znamenají. Tady je ke každé hodnotě: co dělá, v čem se počítá a co se stane, když ji změníš.

Všechna čísla pocházejí z oficiálního vanilla types.xml od Bohemie pro Černarus a jeho 1970 záznamů — spočítaná, ne odhadnutá.

Ve zkratce

  • nominal — kolik kusů chce ekonomika mít ve světě naráz
  • min — když počet klesne na tuhle hodnotu, doplní se zpět na nominal
  • restock — čekání v sekundách před doplněním
  • lifetime — sekundy, než nedotčený předmět zmizí
  • quantmin / quantmax — naplnění při vzniku, v procentech (-1 = výchozí)
  • cost — priorita při vzniku, výchozí 100, prakticky nikdy nesahat
  • flags — která místa se počítají do nominal
  • category — hrubá skupina zboží
  • usage — na jakých typech míst se objevuje
  • value — ve kterých tier zónách mapy
  • tag — jaký druh lootovacího bodu uvnitř budovy

Když chceš jen změnit četnost předmětu, stačí tři: nominal, min a restock.

Kde soubor leží

mpmissions/dayzOffline.chernarusplus/db/types.xml

Je to skladová evidence Central Economy: kolik kusů předmětu smí existovat a jak dlouho leží na zemi. Neurčuje, na které polici věc skončí — které budovy mají které lootovací body, stojí v mapgroupproto.xml, a která zóna má který tier, patří k mapě.

Takhle vypadá záznam

XML
<type name="AK101">
    <nominal>4</nominal>
    <lifetime>28800</lifetime>
    <restock>3600</restock>
    <min>2</min>
    <quantmin>30</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>

Pořadí je stejné jako u Bohemie: nominal, lifetime, restock, min, quantmin, quantmax, cost, flags, category, tag, usage, value. Drž se ho a porovnání dvou verzí souboru zůstane čitelné.


Hodnoty jedna po druhé

name

Classname předmětu přesně tak, jak ho zná hra.

Tedy AK101, ne „AK-101". Napíšeš tam jméno, které neexistuje, a předmět se nikdy neobjeví — záznam nedělá nic.

nominal — cílové množství

Kolik kusů chce ekonomika mít ve světě ve stejnou chvíli.

Je to strop, ne slib. Jestli se množství podaří naplnit, závisí na tom, jestli je dost vhodných lootovacích bodů — viz usage a value.

nominal = 0 znamená, že ekonomika tenhle předmět nikdy sama nevytvoří.

Ve vanilla souboru

873 z 1970 záznamů má nominal = 0: barevné varianty, které vzniknou až přebarvením hráčem, maso z porcování a věci, které se do světa dostanou výhradně přes eventy.

min — práh doplnění

Když počet ve hře klesne na tuhle hodnotu, ekonomika doplní zpět na nominal.

Proto min patří vždy pod nominal. Odstup mezi nimi určuje rytmus: nominal 4 / min 2 nechá zásobu kolísat mezi dvěma a čtyřmi a doplňuje po dávkách, nominal 4 / min 3 ji drží těsněji a spouští doplňování častěji.

Proč mají některé vanilla záznamy min větší než nominal

Stane se to 172krát — a všech 172 má nominal = 0. Není to chyba, jen to nemá žádný účinek: bez cílového množství není co doplňovat, takže nemá co spustit ani práh.

restock — čekání před doplněním

Sekundy, které uplynou, než se objeví nové kusy.

1800 je 30 minut, 3600 hodina. Nula neznamená „okamžitě", ale „při dalším průchodu ekonomiky" — server pracuje v cyklech, ne po sekundách.

restock je páka, díky které loot působí vzácněji, aniž by se snížilo celkové množství: vybílená vojenská základna pak chvíli zůstane prázdná.

lifetime — jak dlouho věc leží

Sekundy, než nedotčený předmět zmizí.

Každá interakce hráče vynuluje časovač. Velmi krátký lifetime nepřímo snižuje množství ve hře, protože předměty zmizí dřív, než je někdo najde.

Obvyklé hodnoty a co znamená 0
  • 14400 (4 hodiny) — 1079 záznamů
  • 28800 (8 hodin) — 415 záznamů
  • 1800 (30 minut) — 220 záznamů
  • 3888000 (45 dní) — stany, sudy, námořní bedny, strážní věže: trvanlivost base buildingu

lifetime = 0 se vyskytuje 66krát, výhradně u statických objektů světa jako kontejnery a vraky (Land_…, StaticObj_…). U běžného lootu je nula konfigurační chyba.

quantmin a quantmax — jak plný předmět vznikne

Naplnění v procentech pro všechno, co má obsah: munice, voda, palivo, konzervy.

Při vzniku server vylosuje hodnotu mezi oběma. -1 znamená „nepoužije se" a předmět přijde se svou výchozí hodnotou.

Příklad AK101 s quantmin 30 a quantmax 80: zbraň se objeví se zásobníkem naplněným na 30 až 80 procent.

Jak víme, že jde o procenta

V celém vanilla souboru není ani jedna hodnota nad 100. Jsou to tedy opravdu procenta, a ne kusy.

cost — priorita při vzniku

Váha určující, který předmět dostane volný lootovací bod, když se hodí několik. Výchozí 100.

Upřímná rada: nesahej na to. Na 1970 záznamů se Bohemia od stovky odchýlí přesně jednou — Mag_SVD_10Rnd stojí na 1000. Na četnost jsou nominal, min a restock.

flags — co se počítá

Těchto šest přepínačů rozhoduje, která místa se počítají do nominal.

Právě tady ladění lootu nejčastěji selhává.

  • count_in_map — co leží volně ve světě (ve vanille zapnuto u 1902 z 1970)
  • count_in_cargo — co je ve vozidlech a kontejnerech (zapnuto 47krát)
  • count_in_hoarder — co leží ve stanech, sudech a zakopaných bednách (zapnuto 31krát)
  • count_in_player — co hráči nosí u sebe (zapnuto 55krát)
  • crafted — předmět vzniká díky hráčům, ne ekonomice (zapnuto 313krát)
  • deloot — předmět pochází z dynamických eventů místo z budov (zapnuto 47krát)

Když je přepínač na 0, je předmět na tom místě pro ekonomiku neviditelný.

Proč server spawnuje dál i při plných táborech

Protože count_in_hoarder je ve vanille skoro všude na 0: co leží ve stanu, se prostě nepočítá. Kdo chce, aby vzácné věci zůstaly vzácné, musí sáhnout právě na tyhle přepínače — s vedlejším účinkem, že nahromaděné zásoby pak přidusí zásobování pro všechny.

crafted a nominal = 0 patří k sobě: všech 313 záznamů s crafted="1" má i nominal = 0.

Typické deloot předměty: AK74, FAMAS, M79 a GasMask — klasický nález u vraku vrtulníku.

category — hrubá skupina zboží

Jedna z osmi: weapons, clothes, tools, food, containers, explosives, books, lootdispatch.

Zvláštní případ lootdispatch

174 vanilla záznamů, v podstatě díly vozidel jako dveře. Sáhneš na to bez důvodu a díly aut zmizí. 348 záznamů nemá kategorii vůbec: nakažení a statické objekty ji nepotřebují.

usage — na jakých místech se objevuje

Typy míst, kde se předmět smí objevit. Lze uvést několik a fungují jako „nebo".

Černarus jich zná sedmnáct: Military, Police, Medic, Firefighter, Industrial, Farm, Coast, Town, Village, Hunting, Office, School, Prison, Lunapark, SeasonalEvent, ContaminatedArea a Historical.

Bez usage se předmět neobjeví nikde v běžném koloběhu lootu — a u craftěných a eventových věcí je to přesně správně.

Jiné mapy, jiné hodnoty

Livonie a Sakhal mají Special a Underground, zato nemají Historical. Jaké hodnoty zná tvoje mapa, nestojí v types.xml, ale v cfglimitsdefinition.xml ve složce mise. Co tam chybí, je na téhle mapě neplatné.

value — tier zóna mapy

Jak daleko do vnitrozemí se předmět smí vyskytovat.

Tier 1 je pobřeží, kde startují nové postavy; vyšší tiery leží dál od pobřeží a jsou vojenštější. Bez value není předmět povolen v žádné zóně — stejný účinek jako chybějící usage.

Jaké tiery jsou na které mapě
  • Černarus: Tier1 až Tier4 plus Unique
  • Sakhal: Tier1 až Tier4 plus Unique
  • Livonie: jen Tier1 až Tier3 plus Unique

Tier4 v souboru pro Livonii je tam prostě neplatný.

tag — místo uvnitř budovy

floor, shelves nebo ground zužují, jaký druh lootovacího bodu se použije.

Využívá to jen 281 z 1970 vanilla záznamů; bez uvedení jsou povoleny všechny body. tag tedy zužuje, nikdy nerozšiřuje.


Co se obvykle pokazí

Zvýšíš číslo a nic se nestane. nominal je jen strop. Pokud na mapě není dost lootovacích bodů s odpovídajícím usage a value, cíle se nikdy nedosáhne. nominal 500 u čistě vojenského předmětu nedá víc, než pojmou vojenské lokace.

Změníš všechno naráz. Když sáhneš na nominal, min, restock a lifetime současně, potom nepoznáš, co zabralo. Jedna hodnota na jedno kolo, pak restart a pozorovat.

Čekáš okamžitý efekt. Ekonomika neuklízí ani nevytváří věci blízko hráčů — LootSpawnAvoidance a CleanupAvoidance v globals.xml jsou na 100 — a pracuje v cyklech. Po restartu chvíli trvá, než se změny projeví.

Nezkontroluješ si vlastní soubor. Stačí jedno chybějící > a server nastartuje bez ekonomiky. Výsledkem není o něco víc lootu, ale žádný.


Nástroje na to

Oba zdarma a bez účtu:

  • Editor types — otevře tvůj soubor v prohlížeči, ukáže ikonu a název ke každému předmětu, vysvětlí každou hodnotu přímo na místě a umí hromadné úpravy celých filtrovaných skupin.
  • XML validátor — najde syntaktické chyby i s číslem řádku dřív než tvůj server.

Dotazy k jednotlivým hodnotám klidně jako odpověď v tomhle tématu — pak odpověď zůstane všem.

· upraveno

Napsat odpověď

Pro odpověď se přihlas.

Server máš hotový. Najdou ho ale hráči?

Zapiš ho zdarma na DZPage: PC, PlayStation i Xbox, s živým počtem hráčů, hlasy, komentáři a vlastní stránkou serveru. Žádná prémiová místa, žádné placení, žádné čekání.

Návštěvníci za 30 dní: 3 926 · zdarma, žádná prémiová místa · zapsaných serverů je zatím jen 13

Nevíš si rady s konfigurací serveru?

Zeptej se na DZPage Discordu — odpovídají tam majitelé serverů i vývojář. Nové nástroje se oznamují nejdřív tam.

sleva 10 %

Pronajmi si vlastní DayZ server

Použij náš partnerský odkaz a získáš 10% slevu na každou objednávku u GPORTAL — servery pro PC, PlayStation a Xbox.

Získat 10% slevu

Reklamní partner · Partnerský odkaz: ty ušetříš 10 %, my dostaneme provizi.

Tenhle nástroj je zdarma — a zůstane

Žádné přihlašování, žádný placený obsah, žádné limity. Když ti ušetřil čas, jednorázových 5 € udrží servery v běhu a tobě vypne reklamy.

Podpořit DZPage