ÉpingléTutorial

Le types.xml expliqué : ce que font vraiment nominal, min, restock, lifetime et les autres valeurs

par TimV · · 17 vues · 0 réponses

TimVAuteur du sujet

Membre depuis · 1 messages

#1

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

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>

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 = 0 signifie 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.

restock est 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ées
  • 28800 (8 heures) — 415 entrées
  • 1800 (30 minutes) — 220 entrées
  • 3888000 (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_10Rnd est à 1000. Pour la fréquence, utilisez nominal, min et restock.

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é

Écrire une réponse

Connectez-vous pour répondre.

Ton serveur tourne. Les joueurs le trouvent-ils ?

Inscris-le gratuitement sur DZPage : PC, PlayStation et Xbox, avec compteur de joueurs en direct, votes, commentaires et ta propre page de serveur. Sans emplacement premium, sans paiement, sans attente.

3 926 visiteurs en 30 jours · gratuit, sans emplacement premium · seulement 13 serveurs inscrits

Bloqué sur votre configuration serveur ?

Demandez sur le Discord DZPage : des gérants de serveur et le développeur y répondent. Les nouveaux outils y sont annoncés en premier.

10 % de remise

Louez votre propre serveur DayZ

Avec notre lien partenaire, profitez de 10 % de remise sur toutes les commandes chez GPORTAL — serveurs pour PC, PlayStation et Xbox.

Obtenir 10 % de remise

Partenaire publicitaire · Lien partenaire : vous économisez 10 %, nous touchons une commission.

Cet outil est gratuit — et le restera

Pas de compte, pas de péage, pas de limite. S'il vous a fait gagner du temps, 5 € en une fois gardent les serveurs en marche et vous enlèvent les publicités.

Soutenir DZPage