Près de deux mille entrées, toutes bâties pareil, et pas une ligne pour expliquer ce que signifient les chiffres. Voici, pour chaque valeur, ce qu'elle fait, dans quelle unité elle compte et ce qui se passe quand on y touche.
Tous les chiffres cités viennent du types.xml vanilla officiel de Bohemia pour Chernarus et ses 1970 entrées — comptés, pas estimés.
En bref
- nominal — combien d'exemplaires l'economy veut dans le monde en même temps
- min — quand le stock descend à cette valeur, il est rempli jusqu'à
nominal - restock — délai en secondes avant le réapprovisionnement
- lifetime — secondes avant qu'un objet non touché disparaisse
- quantmin / quantmax — niveau de remplissage à l'apparition, en pourcentage (
-1= défaut) - cost — priorité d'apparition, 100 par défaut, à ne pratiquement jamais toucher
- flags — quels emplacements comptent pour
nominal - category — grande famille d'objets
- usage — les types de lieux où l'objet apparaît
- value — dans quelles zones de tier de la carte
- tag — quel type de point de loot dans un bâtiment
Pour simplement rendre un objet plus ou moins fréquent, trois valeurs suffisent : nominal, min et restock.
Où se trouve le fichier
mpmissions/dayzOffline.chernarusplus/db/types.xml
C'est la liste de stock de la Central Economy : combien d'exemplaires d'un objet peuvent exister et combien de temps ils restent au sol. Elle ne décide pas sur quelle étagère un objet atterrit — quels bâtiments ont quels points de loot se trouve dans mapgroupproto.xml, et quelle zone a quel tier appartient à la carte.
À quoi ressemble une entrée
<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>L'ordre est celui de Bohemia : nominal, lifetime, restock, min, quantmin, quantmax, cost, flags, category, tag, usage, value. Respectez-le et les comparaisons entre deux versions de votre fichier restent lisibles.
Les valeurs une par une
name
Le class name de l'objet, exactement tel que le jeu le connaît.
Donc AK101, pas « AK-101 ». Un nom qui n'existe pas et l'objet n'apparaît jamais — l'entrée ne sert à rien.
nominal — la quantité cible
Combien d'exemplaires l'economy veut avoir dans le monde en même temps.
C'est un plafond, pas une garantie. Que la quantité soit atteinte dépend du nombre de points de loot compatibles — voir usage et value.
nominal = 0signifie que l'economy ne fait jamais apparaître cet objet d'elle-même.
Dans le fichier vanilla
873 des 1970 entrées sont à nominal = 0 : les variantes de couleur qui n'existent qu'une fois peintes par un joueur, la viande obtenue au dépeçage, et les objets qui arrivent uniquement par des events.
min — le seuil de réapprovisionnement
Quand le nombre en jeu descend à cette valeur, l'economy remonte jusqu'à nominal.
min doit donc toujours rester sous nominal. L'écart entre les deux donne le rythme : nominal 4 / min 2 laisse le stock osciller entre deux et quatre et réapprovisionne par vagues, nominal 4 / min 3 le maintient plus serré et déclenche le réapprovisionnement plus souvent.
Pourquoi des entrées vanilla ont min supérieur à nominal
Cela arrive 172 fois — et les 172 ont nominal = 0. Ce n'est pas une erreur, simplement sans effet : sans quantité cible, il n'y a aucun réapprovisionnement qu'un seuil pourrait déclencher.
restock — le délai avant réapprovisionnement
Les secondes qui s'écoulent avant que de nouveaux exemplaires soient placés.
1800 font 30 minutes, 3600 une heure. Un 0 ne veut pas dire « immédiatement » mais « au prochain passage de l'economy » : le serveur travaille par cycles, pas seconde par seconde.
restockest le levier qui rend le loot plus rare sans réduire la quantité totale : une base militaire vidée reste alors vide un moment.
lifetime — combien de temps un objet reste au sol
Les secondes avant qu'un objet non touché disparaisse.
Toute interaction d'un joueur remet le compteur à zéro. Un lifetime très court réduit indirectement la quantité en jeu, car les objets disparaissent avant que quiconque les trouve.
Valeurs courantes et signification du 0
14400(4 heures) — 1079 entrées28800(8 heures) — 415 entrées1800(30 minutes) — 220 entrées3888000(45 jours) — tentes, barils, coffres de mer, miradors : la durée de persistance du base building
lifetime = 0 apparaît 66 fois, sans exception sur des objets statiques du monde comme les conteneurs et les épaves (Land_…, StaticObj_…). Sur du loot normal, un 0 est une erreur de configuration.
quantmin et quantmax — le niveau de remplissage
Le remplissage en pourcentage, pour tout ce qui a un contenu : munitions, eau, carburant, conserves.
À l'apparition, le serveur tire une valeur entre les deux. -1 signifie « non applicable », l'objet arrive avec sa valeur par défaut.
Exemple avec AK101, quantmin 30 et quantmax 80 : l'arme apparaît avec un chargeur rempli entre 30 et 80 pour cent.
Comment on sait que ce sont des pourcentages
Dans tout le fichier vanilla, aucune valeur ne dépasse 100. Ce sont donc bien des pourcentages et non des quantités.
cost — la priorité d'apparition
Un poids qui détermine quel objet obtient un point de loot libre quand plusieurs sont éligibles. Défaut : 100.
Le conseil honnête : n'y touchez pas. Sur 1970 entrées, Bohemia s'écarte de 100 exactement une seule fois —
Mag_SVD_10Rndest à 1000. Pour la fréquence, utiliseznominal,minetrestock.
flags — ce qui est compté
Ces six interrupteurs décident quels emplacements comptent pour nominal.
C'est là que la plupart des réglages de loot dérapent.
count_in_map— les objets posés dans le monde (vanilla : actif sur 1902 des 1970)count_in_cargo— les objets dans les véhicules et conteneurs (actif 47 fois)count_in_hoarder— les objets dans les tentes, barils et caches enterrées (actif 31 fois)count_in_player— les objets que les joueurs portent sur eux (actif 55 fois)crafted— l'objet est fabriqué par les joueurs, pas par l'economy (actif 313 fois)deloot— l'objet vient d'events dynamiques et non des bâtiments (actif 47 fois)
Si un interrupteur est à 0, l'objet est invisible pour l'economy à cet endroit.
Pourquoi ça continue de spawn malgré des camps pleins
Parce que count_in_hoarder est à 0 presque partout en vanilla : ce qui est dans une tente ne compte tout simplement pas. Si vous voulez que les objets rares restent rares, ce sont ces interrupteurs qu'il faut toucher — avec pour effet secondaire que les stocks accumulés freinent alors l'approvisionnement de tout le monde.
crafted et nominal = 0 vont ensemble : les 313 entrées avec crafted="1" ont aussi nominal = 0.
Objets deloot typiques : AK74, FAMAS, M79 et GasMask — la trouvaille classique de l'épave d'hélicoptère.
category — la grande famille d'objets
L'une des huit : weapons, clothes, tools, food, containers, explosives, books, lootdispatch.
Le cas particulier lootdispatch
174 entrées vanilla, essentiellement des pièces de véhicules comme les portières. Y toucher sans raison fait disparaître des pièces de voiture. 348 entrées n'ont aucune catégorie — les infectés et les objets statiques n'en ont pas besoin.
usage — les lieux où l'objet apparaît
Les types de lieux où l'objet peut apparaître. Plusieurs sont possibles et fonctionnent comme un « ou ».
Chernarus en connaît dix-sept : Military, Police, Medic, Firefighter, Industrial, Farm, Coast, Town, Village, Hunting, Office, School, Prison, Lunapark, SeasonalEvent, ContaminatedArea et Historical.
Sans
usage, un objet n'apparaît nulle part dans le cycle de loot normal — ce qui est exactement le bon réglage pour les objets craftés et d'event.
Autres cartes, autres valeurs
Livonia et Sakhal ont Special et Underground, mais pas Historical. Les valeurs que connaît votre carte ne sont pas dans le types.xml mais dans cfglimitsdefinition.xml, dans le dossier de mission. Ce qui n'y figure pas est invalide sur cette carte.
value — la zone de tier de la carte
Jusqu'où dans les terres l'objet peut apparaître.
Le Tier 1, c'est la côte où arrivent les nouveaux personnages ; les tiers supérieurs sont plus à l'intérieur et plus militaires. Sans value, l'objet n'est autorisé dans aucune zone — le même effet qu'un usage manquant.
Quels tiers existent selon la carte
- Chernarus : Tier1 à Tier4 plus
Unique - Sakhal : Tier1 à Tier4 plus
Unique - Livonia : seulement Tier1 à Tier3 plus
Unique
Un Tier4 dans un fichier Livonia y est tout simplement invalide.
tag — la place dans le bâtiment
floor, shelves ou ground restreignent le type de point de loot utilisé.
Seules 281 des 1970 entrées vanilla s'en servent ; sans indication, tous les points sont autorisés. Un tag restreint, il n'élargit jamais.
Ce qui tourne mal le plus souvent
Vous montez le chiffre et rien ne change. nominal n'est qu'un plafond. Si la carte n'a pas assez de points de loot avec le bon usage et le bon value, la cible n'est jamais atteinte. Un nominal 500 sur un objet purement Military ne donnera pas plus que ce que les sites militaires peuvent contenir.
Vous changez tout d'un coup. En touchant nominal, min, restock et lifetime en même temps, vous ne saurez pas ensuite lequel a agi. Une valeur par essai, puis redémarrage et observation.
Vous attendez un effet immédiat. L'economy ne nettoie ni ne fait apparaître près des joueurs — LootSpawnAvoidance et CleanupAvoidance sont à 100 dans globals.xml — et elle travaille par cycles. Après un redémarrage, il faut un moment avant que les changements se voient.
Vous ne vérifiez pas votre fichier. Un seul > manquant suffit pour que le serveur démarre sans economy. Le résultat n'est pas un peu plus de loot, c'est aucun loot du tout.
Les outils qui vont avec
Les deux sont gratuits, sans compte :
- Éditeur de types — ouvre votre fichier dans le navigateur, affiche icône et nom pour chaque objet, explique chaque valeur là où vous la modifiez et gère l'édition en masse par groupes de filtres.
- Validateur XML — trouve les erreurs de syntaxe avec le numéro de ligne avant votre serveur.
Les questions sur des valeurs précises sont les bienvenues en réponse dans ce sujet — la réponse profitera à tout le monde.
· modifié