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 October 27, 2025 at 7:29 PM. View English version
このガイドでは、XML構成ファイルを使用して、DBus World用のカスタムマップを作成する方法をご説明いたします。マップは、バス停、これらを結ぶ路線、オプションのチケット料金、そして時間に基づく乗客の変動で構成されます。
Patreon支援者の方は、 DBus World Line Creator を使用して、自分の路線を簡単に作成することができます!
ファイル構造の概要
完全なマップには、少なくとも2つのファイルが必要です:
- 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:スケジュールや、ゲームUIに表示される表示名。
- 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 属性
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:乗車vs降車のしきい値。この数値より小さい値は乗車乗客を意味し、大きい値は降車乗客を意味します(通常 100 は全員乗車、0 は全員降車)。
- nextStopTime:次の停留所までのゲーム内分単位の走行時間。
- nextStopPrice:次の停留所までの運賃
(city="true"が設定されている場合は無視されます)。
重要:すべての経路の最後の停留所は、
機能するために uid 以外のすべての値を 0 に設定する必要があります。
例:2つのルートを持つ完全な路線
<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% = 2倍)。
ルール
- 各時間プロファイルには 少なくとも2つの hourエントリ が必要です。
- 指定されていない時間は、最も近い定義済みの時間の間で補間されます。
- パーセンテージは、乗車および降車の乗客の両方に適用され、小数点以下は最も近い整数に丸められます。
- Patreon支援者の方のみが利用可能です。
ルートへのリンク
lines.xml で時間プロファイルを参照します:
<code><route uid="1" name="Morning Rush" time="0">
<!-- This route uses time uid="0" from times.xml -->
</route>
</code>完全な例:小さなマップ
以下は、2つの停留所と、1本の路線を持つ単純な動作例です。
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の停留所と1本の路線から始め、その後拡張します。
段階的にテストする:各路線を追加した後、続行する前にゲーム内でテストします。
乗客の流れのバランス:
- 始発ターミナルでは
coefOn="100"(全員乗車)を使用 - 中間停留所では
coefOn="50"(乗車と降車の混合)を使用 - 最終停留所では
coefOn="0"(全員降車)を使用
現実的なタイミング:nextStopTime を設定する際は、
停留所間の現実的な移動時間を考慮します。
都市vs停留所単位の料金設定:頻繁な乗り換えを伴う都市ネットワークには都市チケットを、
長距離路線には停留所単位の料金設定を使用します。
UID管理:マップが大きくなるにつれて重複を避けるために、UIDをスプレッドシートで管理します。
位置座標:正確な停留所の位置を決定するために、ゲーム内ツールまたはマップエディタを使用します。
トラブルシューティング
不正確な運賃:都市チケットを使用している場合、
city="true" が路線に設定されていることを確認してください。
時間変動が機能しない:Patreonアクセスがあること、
少なくとも2つの hourエントリ があることを確認してください。