MOD製作支援/カーゴシップの追加

Last-modified: 2016-06-07 (火) 23:16:47
※このページや、カーゴシップ追加のために扱う設定ファイルはカーゴシップや探索要素のネタバレを含みます。

カーゴシップ(Cargo Shipsオプションがオンのときに登場するNPC船)を追加するMODの作り方についての解説ページです。


解説

MODのフォルダを作成し、必要なファイルを入れる

下記に示すように、このゲームのMODフォルダの中に任意の名前でMODのフォルダ(以下、自作MOD)を作ります。

C:\Users\ユーザーアカウント名\AppData\Roaming\SpaceEngineers\Mods\自作MOD
 

設定ファイルや船のファイルを置く場所として、MODのフォルダの直下にDataフォルダを作り、Prefabsフォルダを作ります。

(略)\自作MOD\Data\Prefabs
 

Fake.ddsファイルを入れる場所として、MODフォルダの直下からTexturesフォルダを作り、その中にGUI、さらにその中にIconsフォルダを作ります。

(略)\自作MOD\Textures\GUI\Icons
 

今回の自作MODフォルダ以下の構成は下記のようになります。

  • Data
    • Prefabs
  • Textures
    • GUI
      • Icons

船のsbcファイル

ゲーム内からエクスポートした、同梱したい船の「船名.sbc」ファイルを先ほど用意したPrefabsフォルダに置きます。

Fake.dds

下記の場所からFake.ddsをコピーし、先ほどのIconsフォルダに置きます。

C:\Program Files (x86)\Steam\SteamApps\common\SpaceEngineers\Content\Textures\GUI\Icons

スポーン設定ファイルの準備

本来のカーゴシップなどを設定しているファイルのコピーを改造元として用意します。
ファイルは以下の場所にある、「SpawnGroups.sbc」です。

C:\Program Files (x86)\Steam\SteamApps\common\SpaceEngineers\Content\Data

このSpawnGroups.sbcファイルを自作MODのDataフォルダにコピーします。

スポーン設定ファイルの編集

自作MODのDataフォルダに置いたコピーの「SpawnGroups.sbc」をメモ帳などのテキストエディタで開き、編集を行います。

<SpawnGroup>から</SpawnGroup>の間が、1回のスポーンで出現するもののセットです(※<SpawnGroups>との混同に注意)。

SpawnGroups.sbcにはカーゴシップや探索要素がまとめて入っているので、カーゴシップの場合は「Military1」など既存カーゴシップのスポーングループを1つコピー元として残して他のスポーングループを削除し、下記で示す部分を編集します。

 <SpawnGroups>
   <SpawnGroup>
     <Id>
       <TypeId>SpawnGroupDefinition</TypeId>
       <SubtypeId>★この出現グループのサブタイプID★</SubtypeId>
     </Id>
     <Icon>Textures\GUI\Icons\Fake.dds</Icon>
     <Frequency>★出現頻度★</Frequency>
     <Prefabs>
       <Prefab SubtypeId="★プレハブのサブタイプID★">
         <Position>
           <X>0.0</X>
           <Y>0.0</Y>
           <Z>0.0</Z>
         </Position>
         <BeaconText>★ビーコン表示名(任意)★</BeaconText>
         <Speed>★初速★</Speed>
       </Prefab>
     </Prefabs>
   </SpawnGroup>
 </SpawnGroups>
SubtypeId(サブタイプID)
<Id>内の<SpawnGroup>のサブタイプIDは、SpawnGroups.sbc内で各SpawnGroupを識別するための名前です。任意の名前を使用できますが、他のSpawnGroupと被らない一意な名前である必要があります。
Frequency(頻度)
出現頻度です。高いほうが出現しやすく、バニラのカーゴシップなら各タイプ3種の小さいものから順に4.0、2.0、1.0です。
Prefab SubtypeId(プレハブのサブタイプID)
出現させるプレハブ、つまりカーゴシップMODなら船を指定します。船のサブタイプIDは「船名.sbc」ファイルの下記の部分を確認してください。(基本的にはファイル名から拡張子を抜いたもの?)
<?xml version="1.0"?>
<Definitions xmlns:xsd="略">
  <Prefabs>
    <Prefab xsi:type="MyObjectBuilder_PrefabDefinition">
      <Id Type="MyObjectBuilder_PrefabDefinition" Subtype="★船のサブタイプID★" />
      <CubeGrids>
BeaconText(ビーコンのテキスト)
船のsbcファイルに設定された内容に関係なくBeaconの名前を変更することができます。
Speed(速度)
出現時の移動速度(m/s)です。バニラのカーゴシップなら各タイプ3種の小さい船から順に25.0、17.0、10.0です。

  • SpawnGroups.sbcファイルの中で、<SpawnGroups>から<SpawnGroups>の間に必要なだけ<SpawnGroup>を並べることで、複数種類の物を1つのMODとして同梱できます。
    • 例えばバニラ3系列以外に1シリーズ3隻まとめて追加するであるとか、バニラ3系列と同シリーズ風の物をそれぞれ1つずつ追加するといったことができます。

  • 1つの<SpawnGroup>内で<Prefabs>から</Prefabs>を複数並べると、編隊・船団のように1回の出現で複数同時にスポーンします。
    • Positionの3軸の数値を変更することで、出現位置に差をつけることができます。
      • GPS座標と同じく1m単位?

テスト・投稿

ローカルのMODはワールド設定でオンラインモードがOfflineのワールドにしか適用できません。

  • カーゴシップの出現頻度が低いので、1隻追加してFrequencyを大幅に高くしてワールドを読み込み、出現や動作を確認したらワールドを閉じて予定の出現頻度に下げて1隻追加、と繰り返してテストしながら実装するのが比較的楽です。
  • 投稿時のMOD CATEGORYはちょうど良いものがないので「Other」にしておけば良いでしょう。

未整理情報・未確認情報

格納
  • カーゴシップ、探索要素、海賊船、ドローンなどは「IsEncounter」、「IsPirate」、「ReactorsOn」、「BeaconText」の4項目があったり無かったりする
  • 前3無しBeaconTextのみ有りのカーゴシップ設定をコピーしたものの場合、とりあえずカーゴシップと同様に出現し、同様に消滅した。
    • Argentavisのようにドローンのスクリプトを入れて慣性航行しないようにするとどうなるかは不明
  • Prefabs内以外にSpawnGroupにもSpeed項目を持っている船が存在する。どれも停止している探索要素なのでこれによる挙動は未確認
名称または分類IsEncounterIsPirateReactorsOnBeaconText備考
カーゴシップなしなしなし
海賊など
Raiding Station
Raiding Outpost mk1
truetruetrue
Argentavisなしなしなし
Argentavis系ドローン
カーゴシップ系ドローン
なしtrueなし
惑星
惑星海賊ドローンfalsetruetrue
探索要素
IMDC Cerberus Destroyertruetruetrue
IMDC_Vulture_Fighter_Bomberなしtrueなし
Christine他いくつかtrueなしなしなし
  • カーゴシップ(Cargo ships)設定ONは「IsEncounterとIsPirateが両方ともtrueでない船を出現させる」?
    • Argentavisも3項目全てなしという点では、出現条件のみカーゴシップ扱いのように見える。実際カーゴシップのみONでドローンや探索要素Offでも出現した。

  • 探索要素(Random encounters)の船は基本的にIsEncounterがtrue
    • 探索要素は「IsEncounterがtrueである船を配置」するのならIsEncounterをtrueにするだけで探索要素追加MODも作れるとおもいきや、IsEncounterが設定されていない船が存在する。これがデータのみで今は出現しないという状態の船なら辻褄は合うが未調査
  • Raiding Stationなど固定宇宙基地は探索要素扱いで出現している?
    • 探索要素Offだと出なかった。
    • 探索要素のみOnでカーゴシップやドローンはOffでも出現した
  • 惑星上の海賊基地は探索要素Offでも出現する(自然重力下のランダムエンカウントはないのである意味当然だが)
  • ChristineがNobodyらしいということから、「IsPirateは探索要素を強制的に敵所有にする」設定かも知れない?
    • カーゴシップはカーゴシップとして出現するときに自動で敵対設定にされる模様

  • 探索要素をテストする方法のアイデア(未検証)
    • タイマーがカウントダウン中の状態でエクスポートしてビーコンやアンテナを起動する

カーゴシップ設定関連

  • Nobodyのままエクスポートした船でも自動的に敵対設定で出現した。
  • ダンパーも自動でOffに設定される
  • 方向は未検証。Mining Carriageから推定して、操縦席の方向か?
  • 室内のInterior Turretを初見殺しにしたくないなら、キャラクター以外への攻撃も行うように設定すると、新規建造した小型船ブロックを体当たりで部屋に投入するような方法で発見して対処する余地を与えられる。

増援アンテナ

  • 増援アンテナはカーゴシップのアンテナ名どおりにしておけばちゃんとドローンが(おそらく同じ候補から)湧く
増援アンテナ情報
船名アンテナ名距離設定内容
Private SailEMERGENCY - REQUESTING ASSISTANCE191m
Business ShipmentEMERGENCY - REQUESTING ASSISTANCE311m
Commercial FreighterEMERGENCY - REQUESTING ASSISTANCE396m
Mining CarriageEMERGENCY - REQUESTING ASSISTANCE200m
Mining TransportEMERGENCY - REQUESTING ASSISTANCE300m
Mining HaulerHostiles detected - Requesting Backup795m
Military EscortHostiles detected - Requesting Backup2000m
Military MinelayerHostiles detected - Requesting Backup2000m
Military TransporterHostiles detected - Requesting Backup882m
海賊系

外部資料

関連項目

コメント