Use ← → or P/N keys
Author
tk [JPN]
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: Getting Started
Updated: Oct 27, 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 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エントリ があることを確認してください。