Language
Search Docs
Documentation
Document Info
Navigation
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 及其 DLCpromods- 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 會員資格,並且每個時段至少需要記錄兩小時。