Space Engineers

Space Engineers

Not enough ratings
スクリプトの導入方法 簡易ガイド
By Arara
このガイドはスクリプトの導入までを紹介します。ディープなやつは各スクリプトの本家ガイドを頑張って読んでください(自動翻訳万歳!)本ガイドの記述は、各スクリプト作者様の精力的な更新により古い内容となる場合があります。その際はより素晴らしいスクリプトになったことを喜んでください。
2
   
Award
Favorite
Favorited
Unfavorite
ロータータレット(バニラ):TCES | Turret Controller Enhancement Script
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2753791447&searchtext=
概要
Warfare 2 で追加された、カスタムタレットコントローラー(以下CTC)向けの管理スクリプトです。(ロータータレットの構造は、後の項目を参考にしてください。)
  • ブロックグループを使用して、CTCの設定を自動的に構成します。(※2022年3月現在、特定の操作でCTCの設定がおかしくなるバグがあります。)
  • 各CTCに3つ以上のローター/ヒンジを使用できます。たとえば、複数の仰角ローターを備えた砲塔を持つことができます。(バニラでは一つの仰角ローターしか指定できません。)
  • レストアングルサポート。タレットは、設定されたアイドル時間の後に、設定された静止角度に自動的に戻ります。

設定手順
1.各カスタムタレットコントローラーブロックを、TCES <一意の名前タグ>という名前のグループで制御するすべてのブロックとグループ化します。(例:TCES Main Turret 1)
2.プログラミングブロックのEditメニューからこのスクリプトをロードします。
3.ローター/ヒンジのCustom Dataを編集し、レストアングルを設定します。
4.TCESを実行します。この際、引数(argument)に"setup"を指定します。(タレットやローター/ヒンジを追加した場合は、再度setupします)

動作
TCESグループ内の以下のブロックをCTCに設定します。
  • 名前にAzimuthを含むローター/ヒンジ→水平角ローター
  • 名前にElevationを含むローター/ヒンジ→仰角ローター(複数設定可能)
  • カメラ、固定武器、ツール

レストアングルの設定
ローター/ヒンジのCustom Dataが以下のようになっているので、noneの部分を任意の角度に書き換え、setupを実行します。
[TCES - Rotor]
Rest angle (deg)=none

その他の設定
プログラミングブロックのCustom Dataで、いくつか追加の設定を行う事が出来ます。
ロータータレット:Whip's Turret Slaving Script
ローターを組んで作ったタレットをロータータレットと呼びます。強力な固定兵装を、砲塔として使えるようにするものです。Turret Slaving Scriptは、このロータータレットを制御するスクリプトです。プログラムブロック一つで船全体のタレットを制御でき、通常のタレットに対しても同様に制御できる便利なものです。
ポイント:
タレット一基ごとにグループを作り、関連パーツをそこに含めます。下の画像では、黄色部分に水平ローター、青色部分に対して垂直ローターが付けられています(後述)ワークショップのスクリプトの説明にある絵を確認しておいた方がよいでしょう。
1.水平ローター
  床に水平方向に回るローターまたはアドバンスドローターを置きます。
  このローターの名前に"Azimuth"を含めてください。
  タレット識別用のタグも付けておくと、コンソールで検索しやすくなります。
  ここではTG1とします。
  例)Advanced Rotor Azimuth TG1

2.垂直ローター
  先程のローターの先に、床に対して垂直方向に回るローターを置きます。
  このローターの名前には"Elevation"を含めてください。
  例)Advanced Rotor Elevation TG1

  ※複数のElevationローターを配置することが出来ます。

3.武器
  垂直ローターの先に武器を付けます。
  武器の名前はなんでも良いです。
  例)Rocket Launcher TG1
  代わりにカメラやウェルダー、スポットライトを置いてもよいみたいです。

4.照準用タレット
  ここまでのパーツとは別に、床にタレットを置きます。
  向きはロータータレットと異なっていてもかまいません。
  このタレットの名前には"Designator"を含めてください。
  例)Interior Turret Designator TG1

5.ここまでに配置したローター2つ、武器、タレットを選択し、グループを作成します。
  グループの名前は"Turret Group "+識別用の名前にしてください。
  識別用の名前はここまでにつけたタグとは関係ありませんが、
  同じにしたほうが良いでしょう。
  例)Turret Group TG1

6.自分を撃たないように、ローターに可動範囲を設定してください。
  後方に他のタレットや、艦橋などの艦上構造物などがある事が多いでしょう。
  例)水平方向-150°~150°、垂直方向0°~60°

あとはPBにスクリプトを入れてリコンパイルしてください。
うまく動いていれば、PB選択時にコンソールの右側に先程作ったグループの名前が出てきます。

照準用タレットと書いてあるタレットが旋回すればロータータレットも旋回し、
照準用タレットが発砲すれば、ロータータレットも同じ方向へ発砲します。
手動制御でも、AIによる自動制御でも追随しますが、
アイドルムーブメント(目標がない時に適当に動くやつ)には反応しません。
動いていない時は、可動範囲の真ん中を指向するようです。

複数のロータータレットを作る場合、グループ名の識別名部分を変えてください。
例)"Turret Group TG2", "Turret Group TG3", "Turret Group AAGun"

照準用タレットは複数のグループ間で共用することが出来ます。
その照準用タレットが反応すると、
そのタレットを含む全てのロータータレットが連動して動きます。
照準用タレットだけが、各タレットのグループに入るようにしてください。
(照準用タレット以外のパーツを含めてしまうと、うまく動かなくなります。)

うまくいかない場合
  • ローターヘッドはデフォルトより伸ばしたほうがよいです
  • 各ブロックの所有権を統一してください
  • MODによっては正しい方向を向いてくれない場合があります(ブロックのZ軸が砲口とあっていない場合。このような場合は、カメラ等をタレットグループに入れておいて、武器は手動操作にする事で扱うことも可能です。)

タレットブロックを制御したい場合は、照準用タレットと対象のタレットを選択して同じグループに入れます。グループ名は"Slaved Group "+識別子とします。
例)Slaving Group Missiles1

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=672678005
ロータータレット関連MOD
ローターはヒンジなどのMODローターで代用することも出来ます。目的の形状にあわせて選択しましょう。

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=385778606
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1525239926
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1294456467

照準用タレットは、使用する兵装に合わせたものが必要になります。バニラタレットは射程が800m以下なので、多くの武装に対して射程距離が不足します。長射程の照準器MODを使用しましょう。(もちろん、照準用ではなく、通常の戦闘用タレットでも構いません。)
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1680893092
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1686252385

ローターの先を保護するMODもあります。防御力はサブパートのサイズによります
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1660268161
手動ロータータレット:Whip's Mouse Aimed Rotor Turret Script
ロータータレットをマウスで操作できるようにするスクリプトです。
設定方法はAIタレットの場合とほとんど同じです。
照準用タレットの代わりに、コックピットやフライトシートをグループに含めてください。
コックピットの名前は変更不要です。
グループ名は"MART "+識別用の名前にしてください。
例)MART MTG1
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=944915802
複数の固定武器で高速連射:Whip's Weapon Salvo Script
固定兵装を同時斉射する代わりに交互に連射するように切り替えるスクリプトです。
まとめて発射するしかなかった強力な攻撃を途切れない連続攻撃に変える事ができます。精度の低い爆発性の攻撃に対しては、弾同士の接触による誘爆を防ぐ効果もあります。
ちなみにTurretGroupと併用可能(連装砲を斉射から連射に出来る)

準備
・同じ種類の武器をまとめてグループにします。
 グループの名前は"Salvo Group "+識別用の名前にしてください。
 例)Salvo Group PlasmaCannon
 あとは通常通り武装を選択してマウスクリックで発射するだけです。

コマンドによりグループごとの動作を変更できます。
基本は[グループ名:コマンド 設定値]のように書きます。":"で区切って複数のコマンドを書くことも出来ます。複数のグループを連続で設定する場合は";"で区切ります。
プログラムブロックのCustom Dataの中に書いてもいいですし、ショートカットやタイマーアクションなどから起動する際の引数に書くことも出来ます。

・RPS [数値]
 秒あたりの連射速度を指定します。
・RPM [数値]
 分あたりの連射速度を指定します。
・default
 設定を初期化します。
・fire_toggle
 マウスクリック時に武器の発射状態を切り替えます。

例)グループ1の発射速度を毎秒10発に、グループ2は毎秒5発に設定
Salvo Group 1 : rps 10 ; Salvo Group 2 : rps 5

※連射速度の最大値はおそらく毎秒60/毎分3600です(PBによる処理上の上限)

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1221921128
電力状況をグラフ表示:Remaarn's Power Graphs
グリッド内の電力消費状況をグラフ表示してくれます。かっこいい。

LCDの名前にタグ(デフォルトは[PowerGraph])を追加
Custom Dataにグラフの種類を書くと、そのグラフのみ表示されます。

usage - 消費状況、要求電力
battery - バッテリーの充電状況
solar - ソーラーパネルの出力と消費状況
reactor - リアクターの出力
storedOxygen - 酸素の備蓄*
storedHydrogen - 水素の備蓄*

*スクリプト内の設定をONにする必要がある

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1481175295
多彩な情報をLCDに表示:MMaster's Automatic LCDs 2
LCDに船内の情報を表示するスクリプトです。速度、加速度、コンテナの中身、エネルギーの供給状況など、多彩な表示に対応しています。

準備
・PBにこのスクリプトを設定します。
・情報を表示させるLCDパネルの名前に、[LCD]を含めます。Textパネルも使用可能です。
・LCDパネルのCustom Dataに、表示させる情報の種類を記載します。
 情報はここで記載した順番で表示されます。
・PBが動いていれば、対象のLCDパネルに情報が表示されていきます。
 情報量がパネルのサイズを超える場合は、自動的にスクロールします。

代表的な情報
  • Inventory:インベントリの内容。
  • Power:エネルギー供給状況。
  • Charge:ジャンプドライブの充電状況。
  • Damage:ダメージを受けたブロック一覧。
  • Speed:現在の速度。
  • Accel:直近の加速度。
  • Echo [文字列]:任意の文字列。Echoだけだと改行のみ追加されます。

コックピットのように複数のパネルがあるブロックの場合は、下記のように記述します。"@X AutoLCD"の行でコマンドが区切られます。@の後ろの数字がパネルのインデックスとなります。
@0 AutoLCD
Echo This will be shown on first screen
@1 AutoLCD
Echo This will be shown on second screen
@2 AutoLCD
Echo This will be shown on third screen

詳しくは以下のガイドで(英語)
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=407158161
船体構造をグラフィカル表示:Alysius's Floor Plan Script Mk1
船体の構造をLCDパネル上に映像表示します。

準備
・PBにこのスクリプトを設定します。
・表示対象のLCDパネルの名前を"L_PANEL"にします。
・ショートカットバーにPBのRunを設定します。Argumentsには"reset"を設定します。
 このショートカットを使用することで、表示を開始します。
 (船体に変更を加えた場合や、ワールドロード直後等に使用)

一旦表示が開始されると、
表示用LCDパネルのTitleに、表示のカスタマイズ情報が設定されています。これを変更するか、対応するコマンドをショートカットバーから投入することで、表示を変更することができます。

多分よく使うもの:

 A_X:<Value> (e.g. A_X:Y) {Value can be: X, -X, Y, -Y, Z, -Z}
 水平方向の表示方向を設定します。

 A_Y:<Value> (e.g. A_Y:-Z) {Value can be: X, -X, Y, -Y, Z, -Z}
 垂直方向の表示方向を設定します。

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1160109684
[故障中]陣形を組もう:Kinesi's Formations Script
このスクリプトは古いので、修正もしくは新しいものを見つける必要があります。
ドローンを操作し、旗艦を中心に陣形を組ませるスクリプトです。他に比べると、設定がやや複雑ですが、使いこなせば艦隊指揮官になれるでしょう!

※改造版ベースに書いたのでオリジナルとあってない可能性があります。怪しいところはSEJPのDiscordで聞いてみてネ

■準備
設定にはコード先頭にある変数をいくつか書き換える必要があります。★は必須設定です。

指揮船初期設定:
  • IsDirectorをtrueにする。
  • ★Channelは編隊ごとにユニークな値にする
  • ★コックピットが必要。
  • ショートカットからRunの引数に下記コマンドを入れてコントロールする(後述)

ドローン初期設定:
  • ★IsDirectorをfalseにする。PBをアンテナに設定しておく。
  • ★リモートコントロールが必要。
  • 攻撃・追跡モードにはAIタレットが必要。
  • ★Channelは指揮船に合わせる。
  • ★DroneNumをチャンネル内でユニークな値にする。
  • 有効なDroneNumは1~親のDroneCountまで。

指揮船設定その他
  • Dist:機体間の距離
  • ControlFactor:ドローンの移動が発生する最小距離(旗艦がこの値より大きく動くとドローンが移動を開始する)
  • DroneCount:ドローンの最大数。負荷軽減のため、実際に使用するドローンの数に合わせるとよい。なお陣形によっては一定数までのドローンしかサポートしていない場合がある。
  • DefaultForm:デフォルト陣形。F.XXXをそのまま書く。

ドローン設定その他
  • AllowAttack:敵を見つけた時、隊列を離れて追跡するかどうか。敵の検出はタレットの自動攻撃が発生しているかどうかで判定される。
  • ControlFactor:ドローンの移動が発生する最小距離(移動先がこの距離より遠ければ移動を開始する)

■操作
ショートカットにこのPBのRun with argumentを設定します。Argumentは下記のX.XXXで示されるコマンドをひとつ指定します。※ショートカット上で識別が難しいので、コマンド毎にタイマーを配置するとタイマーの名前で見分けられるようになります。

基本的なコマンド:
F.XXXは陣形を変更する。C.XXXは移動に関する命令を与える。通常はC.FollowまたはC.PFollowがあればよいが、AllowAttackをtrueにしている場合は、陣形を離れたドローンを呼び戻すためにC.Recallが必要になる。

■Commands - Formations
  • F.Line:並列陣(単横陣)。旗艦の左右に横列を形成する。
  • F.Wedge:楔形。旗艦の左右、後方へ傾斜した列を形成する。
  • F.Dual Column:梯形陣。旗艦前方に二列配置。旗艦は中央に配置される。
  • F.Box:箱型。旗艦を囲むように配置。
  • F.Single Column:単縦陣。旗艦後方一列に並ぶ。

■Commands - Move
  • C.Follow:旗艦に追随し陣形を組む。
  • C.PFollow:C.Followと同様だが、PrecisionモードがONになる。
  • C.Wait:その場に停止する。
  • C.Recall:追跡モードになった船を隊列に戻す。タレットが停止される事に注意。他のコマンドで再起動する。
  • C.Freelance:編隊を解除し、敵を見つけたら追跡する。※オリジナルでは動作しないっぽい
  • C.Land:着陸する。(未検証)

https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=885427657
自律誘導兵器:魚雷あるいはミサイル
TIPS:カスタムタレットコントローラーを使えば、スクリプトを使わずに誘導兵器を作ることもできるらしいが…?
誘導魚雷や誘導ミサイル等と呼ばれる、自律誘導兵器について説明します(以下、魚雷と呼びます。)一般的な魚雷は、プログラムを起動すると本体から切り離され、カメラやタレット、GPS等で指示・補足した目標へ向けて飛んでいきます。通常は爆発性の弾頭(ウォーヘッドブロック)や、ヘビーアーマー等の衝突時にダメージを与えやすいブロックを搭載します。

Easy Lidar Homing Scriptは、魚雷の構成を自動的に検出してセットアップしてくれるため、細かい設定が不要となるという、とてもとても便利なものです。感謝の念を捧げましょう。できればコメントもしましょう。
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=807454034
本家ガイドはこちら。
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1211340504

1.魚雷の作成(ラージ/スモール共通)
1-1.魚雷には最低限、ジャイロ・スラスター・リモートコントロール・プログラミングブロック、そして電源とマージブロックが必要です(下左の画像中、赤/オレンジで示したブロック。)ダメージ源として、ウォーヘッド等を追加します(下左、黄色。)
1-2.前方および側面4方向にカメラを付けます。多ければ多いほど、目標を補足しやすくなります。
1-3.プログラミングブロックにユニークな名前を付け、ワークショップからEasy Lidar Homing Scriptを投入します。さらに、Castom Dataを開いて、以下のパラメータを記述してください。
missileLaunchType=3 missileTriggerCommands=TGD:300:ACTP:Warhead:Safety excludeFriendly=true
「発射タイプ3」「目標の300m以内でウォーヘッドのセーフティを解除」「友軍をロックしない」設定になります。Easy Lidar Homing Scriptは、Castom Dataまたは発射時に与えるパラメータによって、様々な動作を行わせることができます。例えば着弾前にデコイを撒いたりできます。詳しくはスクリプトに付属するガイドを読む必要がありますが、とりあえずこれを書いておけばよいです。

2.母船の作成
2-1.照準用のタレットを、前方に向けて設置し、名前に「R_DESINATOR R_FORWARD」を追加します。
(注:R_FORWARDは、魚雷の初期方向を指定するブロックの指定です。タレットである必要はありませんが、いちいち狙わなくていいので、楽だからです。カメラを使う場合、母船にR_LIDARという名前のカメラを付けて、missileLaunchTypeは0にしてください。長距離から狙いをつける事ができるようになります。
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1680893092

3.ひとまず準備完了
ここまで設定すれば、魚雷が使用可能です。タレットが標的をロックしたら、魚雷のプログラミングブロックを起動してください。自動的にマージブロックが切り離され、目標へ向かって飛んでいきます。

4.発射コントロールスクリプト
複数の魚雷を搭載している場合(普通はそうすると思いますが)、PBを一つ一つ起動していくのは面倒です。このスクリプトを使用すれば、ショーットカット一つで次々に魚雷を発射する事ができます。
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=691441036
4-1.母船にプログラミングブロックを追加し、Launch Control Scriptを投入します。
4-2.スクリプト先頭にある、strComputerTagを、魚雷のPBの名前に変更してください。ダブルコーテーション("")で囲まれた部分です。スクリプトは、この名前のPBを探して起動します。デフォルトでは、一番遠いところにあるものから順に起動されます。
例) string strComputerTag = "Program TPD-L";

5.ショートカットからRun with default argumentを連打DADADA!

6.リロード
再装填にはプロジェクターとウェルダーを使います。プロジェクターに魚雷のブループリントを設定しておきます。再装填する時は、船を動かさないようにした方がよいでしょう。船が動くと、ブロックがずれて溶接されてしまう場合があります。また、発射時はウェルダーをOFFにしておきましょう。発射時にウェルダーがONになっていると、発射と同時に次弾が溶接されてしまい、発射した魚雷と衝突するなどの事故がおこります。
水素スラスターを使用している場合は、発射前にコネクタを接続して水素を補充する必要があることに注意してください。

TIPS
  • 魚雷同士を繋いでも機能する。マージブロックを非均等に配置し、発射にはLaunch Control Scriptを使うこと。
  • フタはきれいに閉じたいもの。
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=1581612119
1 Comments
GABAN 9 Nov, 2019 @ 4:48pm 
非常にわかりやすい解説ガイド大変参考になります。