車両の生成

車両プロトタイプは標準車両を生成するために使用します。生成後の車両は別の形式で保存されます。

車両プロトタイプは現在 copy-from を受け付けません。

車両プロトタイプ

"type": "vehicle",
"id": "sample_vehicle",                    // 一意な ID。連続した1語でなければならず、必要ならアンダースコアを使用
"name": "Sample Vehicle",                  // ゲーム内に表示される名前
"blueprint": [                             // 車両のプレビュー。説明として使用可能
    "o#o",                                 // パレットと組み合わせて部品を定義することも可能
    "o#o"                                  // パレットを使った部分的な定義も可能
],
"blueprint_origin": { "x": 10, "y": 3 },   // パレットがオフセットを特定するために使用
"palette": {                               // ブループリントがタイルの部品を設定するためのパレット
  "O": [ "airship_balloon_external" ]      // 配列でなければならず、単一の文字列は不可
  "J": [ { "part": "tank", "fuel": "gasoline" }, "battery_car" ], // すべての部品タイプに対応
},
"color_palette": "car_standard",           // この車両が使用する車両カラーパレット
"parts": [                                 // 部品リスト
    { "x": 0, "y": 0, "part": "frame" },   // 部品定義。正の x 方向は上、正の y 方向は右
    { "x": 0, "y": 0, "part": "seat" },    // 部品 ID は vehicle_parts.json を参照
    { "x": 0, "y": 0, "part": "controls"},
    { "x": 0, "y": 1, "parts: [ "frame", "seat" ] }, // 同じ場所の部品配列
    { "x": 0, "y": 1, "parts: [ { "part": "tank", "fuel": "gasoline" }, "battery_car" },
    { "x": 0, "y": 1, "part": "stereo" },  // 同じ場所で parts 配列と part を混在可能
    { "x": 1, "y": 0, "parts: [ "frame, "wheel" ] },
    { "x": 1, "y": 1, "parts: [ "frame, "wheel" ] },
    { "x": -1, "y": 0, "parts: [ "frame, "wheel" ] },
    { "x": -1, "y": 1, "parts: [ "frame, "wheel" ] }
],
"items": [                                 // アイテム生成リスト
    { "x": 0, "y": 0, "items": "helmet_army" },   // 個別アイテム
    { "x": 0, "y": 0, "item_groups": "army_uniform" }, // item_group のアイテム
    { "x": 0, "y": 1, "items": [ "matchbook", "two_by_four" ] }, // 配列内のすべてのアイテムを生成
    { "x": 0, "y": 0, "item_groups": [ "army_uniform", "rare_guns" ] } // すべての item_group を処理
]

重要: 車両部品は、ゲーム内で取り付ける順序(フレームとマウントポイントが先)で定義する必要があります。取り付けの通常ルールにも従う必要があり、重ねられない部品フラグを重ねることはできません。

部品リスト

部品リストには任意の数の行を指定できます。各行は次の形式です: { "x": X, "y": Y, "part": PARTID, ... } または { "x": X, "y": Y, "parts": [ PARTID1, ... ] }。

最初の形式は、車両部品タイプ PARTID の単一部品を X,Y の位置に定義します。適切な値を指定した任意フィールド ammo、ammo_types、ammo_qty、fuel を追加できます。

2つ目の形式は、X,Y の位置に複数の部品を定義します。各部品は PARTID 文字列、または上記の任意フィールドを持つ { "part": PARTID, ... } オブジェクトです。

異なる行で同じ X,Y 座標を指定でき、その場所に追加の部品を追加します。部品は正しい順序で追加する必要があります。たとえばホイールハブは、フレームの後でホイールの前に追加します。

アイテムリスト

アイテムリストには任意の数の行を指定できます。各行は { "x": X, "y": Y, TYPE: DATA } 形式で、その場所に生成できるアイテムを表します。TYPE と DATA は次のいずれかです。

"items": "itemid"                              // そのタイプの単一アイテム
"items": [ "itemid1", "itemid2", ... ]         // 配列内のすべてのアイテム
"item_groups": "groupid"                       // コレクションか分配かに応じて、グループから1つ以上のアイテム
"item_groups": [ "groupid1", "groupid2" ... ]  // 各グループから1つ以上のアイテム

任意のキーワード chance は、特定のアイテム定義が生成される確率を 100 分の X で指定します。

複数のアイテム行で同じ X,Y 値を使用できます。

車両グループ

"id":"city_parked",            // 一意な ID。連続した1語でなければならず、必要ならアンダースコアを使用
"vehicles":[                 // 生成候補の車両 ID。生成確率は X/T(X は車両の値、T はグループ内の全値の合計)
  ["suv", 600],
  ["pickup", 400],
  ["car", 4700],
  ["road_roller", 300]
]

車両配置

"id":"road_straight_wrecks",  // 一意な ID
"locations":[ {               // 車両位置の候補。使用時に1つがランダムに選ばれる
  "x" : [0,19],               // x 位置。単一値または候補範囲
  "y" : 8,                    // y 位置。単一値または候補範囲
  "facing" : [90,270]         // 車両の向き。単一値または候補値の配列
} ]

車両生成

"id":"default_city",            // 一意な ID
"spawn_types":[ {       // 生成タイプのリスト。重みに基づいて1つがランダムに選択される
  "description" : "Clear section of road",           // 生成タイプの説明
  "weight" : 33,          // この生成タイプが使われる確率
  "vehicle_function" : "jack-knifed_semi", // 組み込み JSON 関数を使う場合だけ必要
  "vehicle_json" : {      // JSON で指定する生成タイプの場合だけ必要
  "vehicle" : "car",      // 生成する車両または vehicle_group
  "placement" : "%t_parked",  // 生成時に使用する vehicle_placement。x,y,facing を指定した場合は不要
  "x" : [0,19],     // x 位置。placement 指定時は不要
  "y" : 8,   // y 位置。placement 指定時は不要
  "facing" : [90,270], // 車両の向き。placement 指定時は不要
  "number" : 1, // 生成する車両数
  "fuel" : -1, // 新しい車両の燃料
  "status" : 1  // 新しい車両の状態
} } ]

車両カラーパレット

"type": "vehicle_color_palette",
"id": "car_standard",                                      // 一意な ID
"palette": [
  {
    "fuzzy_ids": [ "board", "windshield", "door", "roo" ], // 下で選択した色を着色する、あいまい一致 ID のリスト
    "colors": [
      { "color": "White aluminium", "weight": 8 },         // 色と重み。名前付き色
      { "color": "#622625", "weight": 8 },                 // 16進数コードも可能
      { "color": "Grey", "weight": 8 },                    // あいまい一致する名前付き色も可能
    ]
  }
]

車両ブラックリスト

{
  "type": "vehicle_blacklist", // 必須の type
  "vehicles": [ // ブラックリストに入れる車両プロトタイプ ID
    "car", // デバッグ生成などは可能
    "4x4_car", // vehicle group からの生成だけを禁止
    "beetle",
  ],
}