SSMの作成方法について

ようこそ株サーバーへ!! Forums SSM提出など SSMの作成方法について

  • This topic has 1 reply, 1 voice, and was last updated 5 years ago by tekktekk.
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #265
    tekktekk

      SSM(Server Side Modding)とは、サーバー側のファイル導入のみで完結するModの事です。
      クライアント側でファイル導入の必要が無いので全員が同じファイルを導入する必要がありません。

      作成手順

      SSM用のマップファイルを作成する大まかな手順は
      ・元のマップファイルを解凍する
      ・解凍したマップファイルを改変する
      ・改変したマップファイルをフォルダごと圧縮する
      ・サーバーに導入してクライアントが参加出来るか確認する
      このようになります。

      ・rfaファイルの解凍

      rfaファイルを解凍するにはWinRFA.exeを使います。(Battlefield Mod Development Toolkitに付属)
      Openで開きたいマップファイルを指定して開き、Extractで任意の場所に開いたファイルを保存します。
      詳しくはこちらを参照 https://w.atwiki.jp/battlefield1942/pages/88.html
      解凍したマップフォルダはGUI_RfaPack.exeに認識される場所(Battlefield 1942\Mods\FHSW\Archives\bf1942\Levels 等)に移動しておきます。

      ・マップファイルの改変

      解凍したマップフォルダの中身を改変するにあたって、まずSSMで出来ない事は、
      Object.createのコードで新規オブジェクトを配置する
      これが主になります。あくまで新規の配置であり既存のものは問題ありません。
      Object.createのコードはStaticObjects.con/ObjectSpawns.con/ControlPoints.con/SoldierSpawns.con等で記述されています。
      これらのファイルでは、既にどこかで作成されたものをObject.createで配置しています。
      例えば、ObjectSpawns.conではObjectSpawnTemplates.conで作成されたObjectSpawnerを配置しています。
      この配置にあたって、SSMで新規に作成したものを配置することは出来ません。
      この場合、ObjectSpawnTemplates.conで新たなObjectSpawnerを作成し、それをObjectSpawns.conで配置する事は出来ないという事です。
      既存のものを配置・削除する、または位置を変更する事は出来ます。
      FHSWではこれに対処していて、ObjectSpawnTemplates.con内にNA_SpareSpawnerというスペア用の中身が無いObjectSpawnerが記述されています。
      このObjectSpawnerの中身を書き加え、ObjectSpawns.conで配置する事で新規に配置出来るようになっています。

      これ以外にSSMで変更できる部分についてはこちらを参照 https://web.archive.org/web/20190120113130/http://imosababf1942.dip.jp/phpBB3/viewtopic.php?f=57&t=227

      ・マップフォルダの圧縮

      マップフォルダを圧縮するにはGUI_RfaPack.exeを使います。
      FHSWを導入していればBattlefield 1942\Mods\FHSW\Archivesの位置に入っています。
      これを起動すると、左側のリストに圧縮されていないマップフォルダが表示されるので選択してPack Levelでマップファイルを圧縮します。
      Compressにチェックを入れておくと容量を減らす事が出来ます。
      圧縮したいマップがリストに表示されない場合はGUI_RfaPack.exeをBattlefield 1942\Mods\FHSW\Archives\bf1942に移動すると、levelsフォルダ内のマップフォルダが表示されるようになります。
      圧縮するとGUI_RfaPack.exeと同じ場所にbf1942フォルダが作成されるので、その中に圧縮されたrfaファイルが置かれます。
      もしくはこちらを参照 https://w.atwiki.jp/battlefield1942/pages/89.html

      ・SSMのファイル構成

      1.元ファイルをそのまま全て使用する
      2.変更が必要なファイルだけ使用する

      SSMでは上記の二通りの方法が可能です。
      1の場合は、元となるrfaファイルを解凍し、中身を改変、フォルダごと全て圧縮して元のrfaファイルと置き換える、という手順だけで出来ます。
      2の場合は、元となるrfaファイルを解凍し、変更が必要なファイル以外を削除し、中身を改変、圧縮したファイルをマップ名_001.rfaと名前変更して元のrfaファイルと同じ場所に置く必要があります。

      1と2の大きな違いは、1の場合は元のファイルを上書きするのに対し、2の場合は別のファイルを使います。
      なお、埋め込みと呼ばれるようなマップフォルダ内のObjectsフォルダで記述しているものを変更する場合は1の方法で行う必要があります。
      基本的には1の方法が無難で、2の方法を取るのは元のファイルを保持したい(サーバー側のファイル管理が楽)、ファイル容量を抑えたい等の場合です。

      ・SSMの動作確認

      SSMが問題なく動作するか確認するには、作成したrfaファイルをサーバー側にだけ導入し、そのサーバーに参加できるかどうか確認します。
      SSMの範囲外で改変している場合はロード中にBF1942が強制終了します。

      #269
      tekktekk

        キラー・砲撃バリアについて
        FHSWにはスタティックオブジェクトとして配置可能なキラー・砲撃バリアが各種あります。
        スタティックオブジェクトの配置が記述されているStaticObjects.con内に追加する事で配置する事が出来ます。

        キラーは陣営・対人/乗り物・範囲・ダメージ量でバリエーションがあり、
        陣営はAlliesだと連合チームが対象、Axisだと枢軸チームが対象、
        乗り物を対象にするかどうかはSoldierと記載があれば兵士のみ、記載がなければ兵士・乗り物どちらも対象、
        範囲は半径2.5mから1000mまで、
        ダメージ量はHardと記載があれば即死レベルのダメージ、記載がなければ徐々にダメージ、
        となります。

        例えば、
        AlliesKiller25mHardの場合は半径25m以内の連合所属の兵士と乗り物に即死ダメージを与えるキラーになります。
        AxisSoldierKiller200mの場合は半径200m以内の枢軸所属の兵士に徐々にダメージを与えるキラーになります。
        なお、Soldierの記載があるキラーは200mまで、またHardは用意されていません。

        これらキラーはnonCOMPRESSION\objects\Buildings\Common\_SW_KILLERsフォルダに置かれているので、実際に存在しているかどうか確認した上で配置する事をおすすめします。

        砲撃バリア
        これはFHSW0.6から実装されたもので、FHSW本体では一部のマップにのみ配置されています。
        新たに配置するにはキラーと同じくスタティックオブジェクトとして配置します。

        砲撃バリアのバリエーションは範囲のみで、半径50m・100m・150m・200mの四種類です。
        対象の指定等はありません。
        nonCOMPRESSION\objects\Buildings\Common\ArtyBarrierで確認出来ます。

        砲撃バリアはドーム形のコリジョンメッシュで構成されていて、Projectileオブジェクトのみ阻害するようになっています。
        兵士・乗り物等は通過するようになっていますが、仕様として兵士は通過する際に鉄条網と同等のダメージを受けます。
        これを避けるため、砲撃バリアを配置する際は兵士が触れないように地面から数m上に置くことをおすすめします。

        なお、砲撃バリアはドームの外側からのみに対し有効です。
        その為、ドームの内側に侵入してから発射されたものに関しては影響しません。
        遠距離から飛来する砲撃に対しては効果を発揮しますが、航空攻撃に対する防御としては不完全なので別の方法を考える必要があります。

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.

      Posted by tekktekk