Language
Search Docs
Documentation
Document Info
The English version was updated on December 24, 2025 at 9:21 AM, while this translation was last updated on October 26, 2025 at 12:14 AM. View English version
Ce guide explique comment créer des maps personnalisées pour DBus World à l’aide de fichiers de configuration XML. Une map se compose d’arrêts de bus, de lignes qui les relient, de tarifs de billets optionnels et de variations du flux de passagers selon l’heure.
Les Patreons peuvent désormais créer leurs propres lignes en utilisant le DBus World Line Creator facilement!
Aperçu de la structure des fichiers
Une map complète nécessite au minimum deux fichiers :
- stops.xml (obligatoire) - Définit tous les arrêts de bus
- lines.xml (obligatoire) - Définit les lignes de bus et leurs itinéraires
Fichiers optionnels :
- city.xml - Définit les types de billets et les tarifs pour les systèmes tarifaires urbains
- times.xml - Contrôle le flux de passagers selon l’heure de la journée (fonctionnalité Patreon)
Tous les fichiers doivent être nommés exactement comme indiqué et placés dans le même dossier.
stops.xml - Définitions des arrêts de bus
Ce fichier contient tous les arrêts de bus disponibles sur votre map.
Structure de base
<code><busstops>
<busstop>
<id>1</id>
<name>Nordspitze Bauernhof</name>
<zone></zone>
<requestStop>false</requestStop>
<location>-359.743;8.24964;520.188;0.146129;-0.163294</location>
</busstop>
</busstops>
</code>Explication des paramètres
- id: Identifiant numérique unique pour l’arrêt. Chaque arrêt doit avoir un ID différent.
- name: Nom affiché dans les horaires et l’interface du jeu.
- zone: Classification de la zone (actuellement non utilisée, peut rester vide).
- requestStop: Indique si les passagers doivent demander l’arrêt (actuellement non utilisé, mettre
false). - location: Coordonnées au format
X;Y;Z;RotX;RotZdéfinissant la position de l’arrêt dans le monde du jeu.
Création de plusieurs arrêts
Il suffit de répéter le bloc <busstop> pour chaque arrêt, en veillant à ce que chaque ID soit unique :
<code><busstops>
<busstop>
<id>1</id>
<name>Central Station</name>
<zone></zone>
<requestStop>false</requestStop>
<location>-100.0;5.0;200.0;0.0;0.0</location>
</busstop>
<busstop>
<id>2</id>
<name>Market Square</name>
<zone></zone>
<requestStop>false</requestStop>
<location>150.0;5.0;300.0;0.0;0.0</location>
</busstop>
</busstops>
</code>lines.xml - Définitions des lignes et itinéraires
Ce fichier définit les lignes de bus et leurs itinéraires à travers les arrêts.
Structure de base
<code><lines map_type="base">
<line uid="0" number="A2" adultCoef="75" reducedRate="15" city="true">
<route uid="1" name="B1" time="0">
<busstop uid="1" passengersMin="5" passengersMax="20"
coefOn="100" nextStopTime="1" nextStopPrice="1"/>
<busstop uid="5" passengersMin="0" passengersMax="0"
coefOn="0" nextStopTime="0" nextStopPrice="0"/>
</route>
</line>
</lines>
</code>Attribut du type de map
L’attribut map_type spécifie quelle map du jeu vous configurez :
base- SCS Base Europe et ses DLCpromods- Map ProModsgrundorf- Map Grundorf de DBustmp- TruckersMP (réservé)- Valeurs personnalisées ou laisser vide pour utiliser
basepar défaut
Paramètres de la ligne
- uid: Identifiant numérique unique pour la ligne. Aucun doublon possible.
- number: Désignation de la ligne affichée dans le jeu (ex. : "A2", "15", "North Route").
- adultCoef: Pourcentage de passagers adultes sur cette ligne (ex. :
75= 75 % d’adultes). - reducedRate: Pourcentage de réduction pour les billets à tarif réduit (ex. :
15= 15 % du prix complet). - city: Mettre sur
truepour utiliser le système de tickets urbains (nécessite city.xml),falsepour un tarif par arrêt.
Paramètres de l’itinéraire
Chaque ligne peut avoir plusieurs itinéraires (différentes directions ou variantes).
- uid: Identifiant numérique unique pour l’itinéraire au sein de cette ligne.
- name: Nom/désignation de l’itinéraire affiché aux joueurs.
- time (optionnel): Fait référence à un profil horaire dans times.xml pour les variations du flux de passagers.
Paramètres des arrêts de bus dans les itinéraires
Chaque arrêt dans un itinéraire définit le comportement des passagers :
- uid: Fait référence à l’ID d’un arrêt dans stops.xml.
- passengersMin/Max: Génère ce nombre de valeurs aléatoires (0-100) représentant les passagers potentiels.
- coefOn: Seuil pour monter ou descendre. Les valeurs inférieures = passagers montant, les valeurs supérieures = passagers descendant (généralement
100= tous montent,0= tous descendent). - nextStopTime: Temps de trajet jusqu’au prochain arrêt en minutes de jeu.
- nextStopPrice: Tarif pour voyager jusqu’au prochain arrêt (ignoré si
city="true"est défini).
Important: Le dernier arrêt de chaque itinéraire doit avoir toutes les valeurs réglées sur 0 (sauf uid) pour fonctionner correctement.
Exemple : Ligne complète avec deux itinéraires
<code><line uid="0" number="12" adultCoef="70" reducedRate="20" city="false">
<!-- Outbound route -->
<route uid="1" name="To Airport">
<busstop uid="1" passengersMin="10" passengersMax="25"
coefOn="100" nextStopTime="3" nextStopPrice="2"/>
<busstop uid="2" passengersMin="5" passengersMax="15"
coefOn="50" nextStopTime="5" nextStopPrice="2"/>
<busstop uid="3" passengersMin="0" passengersMax="0"
coefOn="0" nextStopTime="0" nextStopPrice="0"/>
</route>
<!-- Return route -->
<route uid="2" name="To Downtown">
<busstop uid="3" passengersMin="8" passengersMax="20"
coefOn="100" nextStopTime="5" nextStopPrice="2"/>
<busstop uid="2" passengersMin="5" passengersMax="15"
coefOn="50" nextStopTime="3" nextStopPrice="2"/>
<busstop uid="1" passengersMin="0" passengersMax="0"
coefOn="0" nextStopTime="0" nextStopPrice="0"/>
</route>
</line>
</code>city.xml - Système de billets (optionnel)
Lorsque city="true" est défini sur une ligne, ce fichier définit les types de billets disponibles.
Structure
<code><city>
<[[ticket uid="0" name="20min" price="5" probability="35" upsell="25"/>
<ticket uid="1" name="60min" price="8" probability="55" upsell="8"/>
<ticket uid="2" name="24h" price="20" probability="5" upsell="2"/>
<ticket uid="3" name="7d" price="150" probability="1" upsell="0"/>
</city>
</code>Paramètres des billets
- uid: Identifiant numérique unique pour chaque type de billet.
- name: Nom du billet affiché dans le jeu.
- price: Prix du billet.
- probability: Pourcentage de chance qu’un passager achète ce type de billet.
- upsell: Pourcentage de chance que le passager passe au billet suivant.
Règles importantes
- Listez les billets du moins cher au plus cher.
- La somme de toutes les valeurs
probabilitydoit être inférieure à 100 %. - Chaque billet doit avoir un uid unique.
times.xml - Flux de passagers basé sur l’heure (optionnel, Patreon)
Cette fonctionnalité permet au nombre de passagers de varier en fonction de l’heure dans le jeu.
Structure
<code><times>
<time uid="0">
<hour uid="0" percentage="70"/>
<hour uid="6" percentage="60"/>
<hour uid="8" percentage="100"/>
<hour uid="16" percentage="120"/>
<hour uid="22" percentage="60"/>
</time>
</times>
</code>Paramètres
- time uid: Fait référence à l’attribut
timedans la définition d’un itinéraire. - hour uid: Heure de la journée au format 24 h (0-23).
- percentage: Multiplicateur pour la génération de passagers (100 % = normal, 50 % = moitié, 200 % = double).
Règles
- Nécessite au moins deux entrées horaires par profil horaire.
- Les heures non spécifiées sont interpolées entre les heures définies les plus proches.
- Le pourcentage est appliqué aux passagers montant et descendant, arrondi au nombre entier le plus proche.
- Disponible uniquement pour les contributeurs Patreon.
Liaison aux itinéraires
Dans lines.xml, faites référence au profil horaire :
<code><route uid="1" name="Morning Rush" time="0">
<!-- This route uses time uid="0" from times.xml -->
</route>
</code>Exemple complet : petite map
Voici un exemple complet fonctionnel d’une map simple avec deux arrêts et une ligne :
stops.xml:
<code><busstops>
<busstop>
<id>1</id>
<name>Town Center</name>
<zone></zone>
<requestStop>false</requestStop>
<location>0.0;0.0;0.0;0.0;0.0</location>
</busstop>
<busstop>
<id>2</id>
<name>Industrial Park</name>
<zone></zone>
<requestStop>false</requestStop>
<location>500.0;0.0;0.0;0.0;0.0</location>
</busstop>
</busstops>
</code>lines.xml:
<code><lines map_type="base">
<line uid="0" number="1" adultCoef="80" reducedRate="15" city="false">
<route uid="1" name="Outbound">
<busstop uid="1" passengersMin="10" passengersMax="20"
coefOn="100" nextStopTime="5" nextStopPrice="3"/>
<busstop uid="2" passengersMin="0" passengersMax="0"
coefOn="0" nextStopTime="0" nextStopPrice="0"/>
</route>
<route uid="2" name="Inbound">
<busstop uid="2" passengersMin="8" passengersMax="18"
coefOn="100" nextStopTime="5" nextStopPrice="3"/>
<busstop uid="1" passengersMin="0" passengersMax="0"
coefOn="0" nextStopTime="0" nextStopPrice="0"/>
</route>
</line>
</lines>
</code>Astuces et bonnes pratiques
Commencez simple : Commencez avec 2-3 arrêts et une seule ligne, puis développez.
Testez progressivement : Après avoir ajouté chaque ligne, testez-la dans le jeu avant de continuer.
Équilibre du flux de passagers :
- Utilisez
coefOn="100"aux terminus de départ (tous montent) - Utilisez
coefOn="50"aux arrêts intermédiaires (montée/descente mixte) - Utilisez
coefOn="0"aux arrêts finaux (tous descendent)
Temps de trajet réaliste : Prenez en compte des temps de trajet réalistes entre les arrêts lors de la définition de nextStopTime.
Tarification urbaine vs. par arrêt : Utilisez les tickets urbains pour les réseaux en ville avec des correspondances fréquentes, et la tarification par arrêt pour les itinéraires plus longs.
Gestion des UID : Tenez un tableau de vos UID pour éviter les doublons à mesure que votre map s’agrandit.
Coordonnées des emplacements : Utilisez les outils du jeu ou les éditeurs de map pour déterminer les positions exactes des arrêts.
Dépannage
Tarifs incorrects : Si vous utilisez des tickets urbains, assurez-vous que city="true" est défini sur la ligne.
Variations horaires non fonctionnelles : Vérifiez que vous avez accès à Patreon et au moins deux entrées horaires.