Use ← → or P/N keys
Author
Cola'
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 1, 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 1, 2025 at 6:52 PM. View English version

本指南介紹如何使用 XML 設定檔為 DBus World 建立自訂地圖。地圖包含公車站、連接公車站的線路、可選的車票定價以及不同時間段乘客數量的變化。


Patreons 現在可以使用DBus World Line Creator輕鬆創建自己的線路!

文件結構概述

一張完整的地圖至少需要兩個文件

  • stops.xml (必須的) - 定義所有的公車站
  • lines.xml (必須的) - 定義公車路線和路線

可選文件:

  • city.xml - 定義基於城市的票價系統的車票類型和定價。
  • times.xml - 根據一天中的不同時間控制客流量(Patreon 功能)

所有檔案必須按所示名稱命名,並放置在同一目錄下。

stops.xml - 公車站的定義

此文件包含地圖上顯示的所有可用的公車站。

基本結構

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

參數說明

  • id: 站點的唯一的數字識別。每個站點必須有不同的 ID。
  • name: 在計劃表和遊戲介面中顯示的顯示名稱。
  • zone: 區域分類(目前未使用,可留空)。
  • requestStop: 乘客是否需要請求停車(目前未使用,設定為 false)。
  • location: 以 X;Y;Z;RotX;RotZ 格式表示的座標,定義了每個站點在遊戲世界中的位置。

建立多個站點

只需為每個網站重複使用 <busstop> 程式碼區塊,確保網站 ID 唯一:

<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 - 線路和路線的定義

此文件定義了公車路線及其途經站點的路線。

基本結構

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

地圖類型屬性

map_type 屬性指定你要配置的遊戲地圖:

  • base - SCS Base Europe 及其 DLC
  • promods - ProMods 地圖
  • grundorf - DBus 的 Grundorf 地圖
  • tmp - TruckersMP (保留的)
  • 可自訂值,或留空以預設使用 base

線路參數

  • uid: 線路的唯一數字識別碼。不能重複。
  • number: 遊戲中顯示的線路編號(例如,“A2”、“15”、“North Route”)。
  • adultCoef: 該線路上成年乘客的百分比(例如,75 = 75% 為成年人)。
  • reducedRate: 折扣票的折扣百分比(例如,15 = 全價的 15%)。
  • city: 設定為true以使用城市票務系統(需要 city.xml),設定為false以按站點定價。

路線參數

每條線路可以有多條路線(不同的方向或變體)。

  • uid: 該線路內每條線路的唯一數字識別碼。
  • name: 向玩家顯示的路線名稱/標識。
  • time (可選): 參考 times.xml 中的客流變化時間曲線。

公車路線中的站點參數

路線上的每一站都定義了乘客的行為:

  • uid: 引用 stops.xml 中的站點 ID。
  • passengersMin/Max: 產生表示潛在乘客的隨機數 (0-100)。
  • coefOn: 上車與下車的閾值。低於此數值 = 上車乘客,高於此數值 = 下車乘客(通常100表示全部上車,0表示全部下車)。
  • nextStopTime: 到達下一站的行程時間(以遊戲內分鐘為單位)。
  • nextStopPrice: 前往下一站的票價(如果設定了 city="true",則忽略)。

重要提示: 為了正常運行,每條路線的最後一站的所有值都必須設定為0(uid 除外)。

範例:包含兩條路線的完整線路

<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 - 車票系統(可選)

當某條線路設定了 city="true" 時,該文件定義了可用的車票類型。

結構

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

車票參數

  • uid: 每種車票都有一個獨特的數字識別碼。
  • name: 遊戲內顯示的票名。
  • price: 票價。
  • probability: 乘客購買此類型車票的機率百分比。
  • upsell: 乘客升級到下一級車票種類的機率。

重要規則

  • 將車票依最便宜到最貴的順序排列。
  • 所有probability值的總和必須小於100%
  • 每張票都必須有一個唯一的uid。

times.xml - 基於時間的客流量(可選,Patreon)

此功能允許乘客數量根據遊戲中的時間而變化。

結構

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

參數

  • time uid: 引用路線定義中的 time 屬性。
  • hour uid: 一天中的小時數,以 24 小時製表示(0-23)。
  • percentage: 客運量倍數(100% = 正常,50% = 一半,200% = 兩倍)。

規則

  • 每個時段至少需要記錄兩小時。
  • 未指定時間的,將插進根據最接近的已定義時間中。
  • 百分比適用於上車和下車的乘客,並四捨五入到最接近的整數。
  • 僅限 Patreon 支持者。

連結到路線

在 lines.xml 檔案中,引用時間設定檔:

<code><route uid="1" name="Morning Rush" time="0">
    <!-- This route uses time uid="0" from times.xml -->
</route>
</code>

完整範例:小地圖

以下是一個簡單的兩站之間單線地圖的完整工作範例:

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>

技巧和最佳的實踐

從簡單的開始: 先從 2-3 個站點和一條線路開始,然後逐步擴展。

逐步測試: 新增每條線路後,請在遊戲中進行測試後再繼續。

客流平衡:

  • 在起點站(全部上車)使用 coefOn="100"
  • 在中間站(上車/下車)使用 coefOn="50"
  • 在終點站(全部下車)使用 coefOn="0"

現實的時間: 設定 nextStopTime 時,請考慮各站點之間的實際行程時間。

城市定價與按停靠點定價: 對於轉乘頻繁的城市交通網絡,請使用城市票;對於較長的路線,請使用按站計費的票價。

UID 管理: 隨著地圖的增大,請使用電子表格記錄您的 UID,以避免重複。

位置座標: 使用遊戲內工具或地圖編輯器確定準確的停靠點位置。

故障排除

票價錯誤: 如果使用城市票,請確保在該路線中設置 city="true"

時間變化功能失效: 請確認您擁有 Patreon 會員資格,並且每個時段至少需要記錄兩小時。