Use ← → or P/N keys
Author
Timovic
Document Author
Language
Deutsch English Español Français 日本語 简体中文 繁體中文
Bahasa Indonesia
Bahasa Melayu
Dansk
Hrvatski
Italiano
Magyar
Nederlands
Norsk
Polski
Português
Română
Slovenčina
Suomi
Svenska
Tagalog
Tiếng Việt
Türkçe
Čeština
Ελληνικά
Български
Русский
Српски
Українська
עברית
العربية
हिन्दी
ไทย
한국어
Search Docs
Document Info
Category: Lines
Updated: Nov 4, 2025
This article might be outdated

The English version was updated on December 24, 2025 at 9:21 AM, while this translation was last updated on November 4, 2025 at 12:59 AM. View English version

Diese Anleitung erklärt, wie du benutzerdefinierte Karten für DBus World mit XML-Konfigurationsdateien erstellst. Eine Karte besteht aus Bushaltestellen, Linien, die diese verbinden, optionalen Ticketpreisen und zeitabhängigen Passagier­variationen.


Patreons können jetzt ihre eigenen Linien mit dem DBus World Line Creator ganz einfach erstellen!

Übersicht der Dateistruktur

Eine vollständige Karte benötigt mindestens zwei Dateien:

  • stops.xml (Pflicht) – Definiert alle Bushaltestellen
  • lines.xml (Pflicht) – Definiert Buslinien und Routen

Optionale Dateien:

  • city.xml – Definiert Tickettypen und Preise für stadtbasierte Tarifsysteme
  • times.xml – Steuert den Passagierfluss je nach Tageszeit (Patreon-Funktion)

Alle Dateien müssen exakt wie angegeben benannt und im selben Verzeichnis hinterlegt werden.


stops.xml – Definitionen der Bushaltestellen

Diese Datei enthält alle Bushaltestellen, die auf deiner Karte verfügbar sind.

Grundstruktur

<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>

Erklärung der Parameter

  • id: Eindeutige numerische Kennung der Haltestelle. Jede Haltestelle muss eine andere ID haben.
  • name: Anzeigename, der in Fahrplänen und im Spielinterface erscheint.
  • zone: Zoneneinteilung (derzeit ungenutzt, kann leer bleiben).
  • requestStop: Gibt an, ob die Haltestelle auf Wunsch angefahren wird (derzeit ungenutzt, auf false setzen).
  • location: Koordinaten im Format X;Y;Z;RotX;RotZ, die die Position im Spiel bestimmen.

Mehrere Haltestellen erstellen

Wiederhole einfach den <busstop>-Block für jede Haltestelle, wobei du eindeutige IDs vergibst:

<code><busstops>
    <busstop>
        <id>1</id>
        <name>Zentralbahnhof</name>
        <zone></zone>
        <requestStop>false</requestStop>
        <location>-100.0;5.0;200.0;0.0;0.0</location>
    </busstop>

    <busstop>
        <id>2</id>
        <name>Marktplatz</name>
        <zone></zone>
        <requestStop>false</requestStop>
        <location>150.0;5.0;300.0;0.0;0.0</location>
    </busstop>
</busstops>
</code>

lines.xml – Definitionen der Linien und Routen

Diese Datei definiert Buslinien und deren Routen durch die Haltestellen.

Grundstruktur

<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 „map_type“

Das Attribut map_type legt fest, welche Spielkarte du konfigurierst:

  • base – SCS Basis-Europa und DLCs
  • promods – ProMods-Karte
  • grundorf – DBus-eigene Grundorf-Karte
  • tmp – TruckersMP (reserviert)
  • Benutzerdefinierte Werte eingeben oder leer lassen, und auf base ändern

Linienparameter

  • uid: Eindeutige numerische Kennung der Linie (keine Duplikate).
  • number: Linienbezeichnung, die im Spiel angezeigt wird (z. B. „A2“, „15“, „Nordroute“).
  • adultCoef: Prozentsatz der erwachsenen Fahrgäste auf dieser Linie (z. B. 75 = 75 % Erwachsene).
  • reducedRate: Rabattprozentsatz für ermäßigte Tickets (z. B. 15 = 15 % des Vollpreises).
  • city: Auf true setzen, um das Stadtticket-System zu verwenden (benötigt city.xml), false für Preis pro Halt.

Routenparameter

Jede Linie kann mehrere Routen (Richtungen oder Varianten) haben.

  • uid: Eindeutige Kennung der Route innerhalb dieser Linie.
  • name: Routenname, der den Spielern angezeigt wird.
  • time (optional): Verweist auf ein Zeitprofil in times.xml für Passagierschwankungen.

Parameter der Haltestellen in Routen

Jede Haltestelle in einer Route definiert das Passagierverhalten:

  • uid: Verweist auf eine Stop-ID aus stops.xml.
  • passengersMin/Max: Gibt an, wie viele potenzielle Passagiere (0–100) zufällig generiert werden.
  • coefOn: Schwellenwert für Ein- vs. Aussteigen. Werte unter dieser Zahl = Einsteiger, darüber = Aussteiger (100 = alle steigen ein, 0 = alle steigen aus).
  • nextStopTime: Fahrzeit bis zur nächsten Haltestelle in Spielminuten.
  • nextStopPrice: Fahrpreis bis zur nächsten Haltestelle (ignoriert, wenn city="true" gesetzt ist).

Wichtig: Die letzte Haltestelle jeder Route muss alle Werte außer uid auf 0 gesetzt haben.

Beispiel: Vollständige Linie mit zwei Routen

<code><line uid="0" number="12" adultCoef="70" reducedRate="20" city="false">
    <!-- Hinfahrt -->
    <route uid="1" name="Zum Flughafen">
        <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>

    <!-- Rückfahrt -->
    <route uid="2" name="Zur Innenstadt">
        <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 – Ticketsystem (optional)

Wenn city="true" in einer Linie gesetzt ist, definiert diese Datei die verfügbaren Ticketarten.

Struktur

<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>

Ticketparameter

  • uid: Eindeutige numerische Kennung des Tickets.
  • name: Ticketname, der im Spiel angezeigt wird.
  • price: Preis des Tickets.
  • probability: Wahrscheinlichkeit (in %), dass ein Fahrgast diesen Tickettyp kauft.
  • upsell: Wahrscheinlichkeit (in %), dass der Fahrgast auf das nächsthöhere Ticket upgradet.

Wichtige Regeln

  • Tickets von günstig nach teuer auflisten.
  • Die Summe aller probability-Werte muss unter 100 % liegen.
  • Jede Ticket-ID (uid) darf nur einmal vorkommen.

times.xml – Zeitbasierter Passagierfluss (optional, Patreon)

Mit dieser Funktion kann die Anzahl der Passagiere je nach Tageszeit variieren.

Struktur

<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>

Parameter

  • time uid: Verweist auf das time-Attribut in der Routendefinition.
  • hour uid: Stunde des Tages im 24-Stunden-Format (0–23).
  • percentage: Multiplikator für die Passagiergenerierung (100 % = normal, 50 % = halb, 200 % = doppelt).

Regeln

  • Erfordert mindestens zwei Stundenangaben pro Zeitprofil.
  • Nicht definierte Stunden werden zwischen den nächstgelegenen berechnet.
  • Der Prozentsatz wird auf Ein- und Aussteiger angewendet (auf ganze Zahlen gerundet).
  • Nur für Patreon-Unterstützer verfügbar.

Verknüpfung mit Routen

In lines.xml kann das folgende Zeitprofil verwendet werden:

<code><route uid="1" name="Morgenverkehr" time="0">
    <!-- Diese Route verwendet time uid="0" aus times.xml -->
</route>
</code>

Vollständiges Beispiel: Kleine Karte

Hier ein funktionsfähiges Beispiel einer einfachen Karte mit zwei Haltestellen und einer Linie:

stops.xml:

<code><busstops>
    <busstop>
        <id>1</id>
        <name>Stadtzentrum</name>
        <zone></zone>
        <requestStop>false</requestStop>
        <location>0.0;0.0;0.0;0.0;0.0</location>
    </busstop>

    <busstop>
        <id>2</id>
        <name>Industriepark</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="Hinfahrt">
            <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="Rückfahrt">
            <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>

Tipps und bewährte Vorgehensweisen

Einfach anfangen: Beginne mit 2–3 Haltestellen und einer Linie, und erweitere später bei Bedarf. 
Schrittweise testen: Teste nach jeder hinzugefügten Linie das Ergebnis im Spiel.

Passagierfluss-Balance:

  • coefOn="100" an Startterminals (alle steigen ein)
  • coefOn="50" an Zwischenhalten (gemischt)
  • coefOn="0" an Endhaltestellen (alle steigen aus)

Realistische Zeiten: Verwende realistische Fahrzeiten bei nextStopTime
City vs. Stop-Preise: Verwende Stadttickets für urbane Netze mit vielen Umstiegen, Stop-Preise für längere Strecken. 
UID-Verwaltung: Führe eine Tabelle deiner UIDs, um Duplikate zu vermeiden. 
Positionskoordinaten: Verwende In-Game-Tools oder Karteneditoren, um genaue Koordinaten zu bestimmen.


Fehlerbehebung

Falsche Ticketpreise: Wenn Stadttickets genutzt werden, stelle sicher, dass city="true" gesetzt ist. 
Zeitvariationen funktionieren nicht: Prüfe, ob du Patreon-Zugang hast und mindestens zwei Stundenangaben vorhanden sind.