スクリプト

Last-modified: 2016-10-26 (水) 18:29:18
 

スクリプト

halo5からフォージモードに追加された新要素で、条件を指定することでオブジェクトに移動や消滅など様々なアクションを行わせる事ができる
マップ上のすべてのスクリプトは、オブジェクトの状態に関わらず、条件を満たした段階で常にアクションを実行する

 

Anvil's Legacyアップデートから、条件:タイマーが正常に動作しないバグが発生中です。ご注意ください

条件一覧

出現時オブジェクトの出現時にアクションを実行する
全てのオブジェクトはラウンドの開始毎に再配置されこの条件を満たす
破壊/消滅オブジェクトの破壊/消滅時にアクションを実行する
ライフ:未満オブジェクトのライフが一定割合未満になった際、アクションを実行する
メッセージ:受信指定チャンネルのメッセージが出力された際、アクションを実行する
パワー:ステート指定チャンネルのパワーが切り替えられた際、アクションを実行する
タイマー初期遅延とリピート時間を設定することで、一定時間毎にアクションを実行する。
ゲームが開始すると自動的に動き出し、オブジェクトが消滅してもタイマーは動作し続ける
操作時インタラクティブ:スイッチ系オブジェクトが操作された際、アクションを実行する
マッチ:開始ゲームの開始時にアクションを実行する
イントロがオンの場合はイントロの開始時に実行される
ラウンド:開始各ラウンドの開始時にアクションを実行する
『マッチ:開始』は初回ラウンドのみ実行、こちらは毎ラウンド毎に実行する点で異なる
メッセージ/パワー:マルチ指定された複数のメッセージ、パワーのいずれかが信号を出力した際、
指定条件数を満たした場合のみアクションを実行する

アクション一覧

出現消滅しているオブジェクトを再出現させる
オブジェクトが既に出現している場合、このアクションは実行されない
消滅出現しているオブジェクトを消滅させる
ビークルを消滅させた場合は爆発する
オブジェクトが既に消滅している場合、このアクションは実行されない
位置/回転:リセットオブジェクトの位置を指定時間かけて初期地点に移動させる
メッセージ:送信指定チャンネルのメッセージを出力する
パワー:セット指定チャンネルのパワーを切り替える
既に切替先の値になっている場合、アクションは実行されない
アニメーション:停止スクリプト無しで動くオブジェクトの動きを停止させる
ドリル プラットフォームは判定だけその場に残る
アニメーション:ループアニメーション:停止による停止を解除する
ダメージ:比率オブジェクトに指定比率分だけダメージを与える
1.00を入力すると即座に破壊される
移動:オフセットオブジェクトを指定値だけ、指定時間かけて移動させる
ローカル移動の設定で、XYZをワールドから見た方向か、オブジェクト自身から見た方向か指定できる
回転:オフセットオブジェクトを指定値だけ、指定時間かけて回転させる
速度:設定オブジェクトに指定値だけ加速度を与える
物理特性がノーマルのオブジェクトにのみ設定可能
色:設定オブジェクトの色を変更する
ライティングの明かりの色を変更することはできない

メッセージとパワーについて

共に、アルファ(A)~ズールー(Z)までの26種類のチャンネルを設定できる

メッセージ

アクションによってメッセージが送信されると、全ての同チャンネルのメッセージ:受信を実行する
これによって複数のオブジェクト間で連動して処理を行う事ができる

パワー

パワーはメッセージと似通った性質だが、オン、オフの二種類の状態があり、出力とフラグの二つの役割を持っている
パワーはオン→オフオフ→オンのように状態が変化した時のみ信号を送信する
オンの状態なら常時信号を出力するわけではない事に注意
条件『・メッセージ/パワー:マルチ』においてはパワーの状態による条件分岐が可能なため、
フラグとしての使い方が可能。詳しくは後述
パワーの状態は、ラウンドを跨いでもリセットされない

メッセージ/パワー:マルチについて

1~4種類の条件を指定し、一定数の条件を満たした時のみアクションを実行する
判定は、条件に指定されたチャンネルのメッセージ、パワーのいずれかが信号を出力した時のみ行われる

最低発生条件
条件1メッセージ(A)
条件2パワー(B)オン
条件3なし
条件4なし

上記のように、パワー(B)の状態を、メッセージ(A)を出力して任意のタイミングで判定することが出来る

 
最低発生条件
条件1パワー(A)オン
条件2パワー(B)オン
条件3なし
条件4なし

上記の場合、判定はパワーAかBのどちらかがオンになった瞬間のみ行われる事に注意

 

※注意※
メッセージ/パワー:マルチには注意すべき仕様が一つある
条件にメッセージを指定した場合、その項目は、同チャンネルのパワーを指定した場合を含むように条件を満たす

最低発生条件
条件1メッセージ(A)
条件2パワー(B)オン
条件3なし
条件4なし

上記のマルチの場合、パワー(A) オンを条件1に指定した時のように、
パワー(A)がオンになった時判定を行い、パワーAがオンの場合も条件を満たしてしまう

スクリプトの利くオブジェクト、利かないオブジェクト

一部オブジェクトにはスクリプトが設定できない

スクリプトの設定できないオブジェクト

  • ウェポンパッド
  • ランチャー/重力カテゴリ
  • 出現地点
  • ジェネレーター各種
  • ホログラム
  • カメラ/シネマチックカテゴリ
  • 範囲カテゴリ

スクリプトの処理

スクリプトの処理はおよそ0.1秒間に6回程行われる
この処理単位を解説の便宜上、フレームと呼ぶ

 

スクリプトは1フレーム毎に実行される
メッセージ、パワー、出現、再出現といったアクションは、条件を満たしたフレームの次のフレームで実行される
同一チャンネルのメッセージは、2回送信されても、処理されるのは一回のみである
frame.png

 

また、フレーム内でのスクリプトの処理は、そのマップ上でスクリプトが作成された順に処理しており、
同一チャンネルのパワーに関してはフレーム内で一番最後に実行された物に上書きされる

 
 

オブジェクトの性質

物理特性

オブジェクトには三種類の物理特性を設定できる
ただし、一部ノーマルに設定できないオブジェクトがある

ノーマル

物理、重力等全ての影響を受ける
スクリプトで速度:設定が選択できる

固定

オブジェクト同士の物理の影響を受けるが、重力の影響は受けない
マップ上の動かしたくない小物類に向く

非物理

全ての衝突、物理特性を無視する
ビークルに指定した場合は乗れるが動かせなくなる(一部例外あり)

ノーマル設定ができないオブジェクト

  • フラッグ スタンド
  • 不可視属性のテレポーター
  • 範囲カテゴリ
  • スイッチ系
  • ホログラムカテゴリ
  • ライト(不可視)
  • デカールカテゴリ
  • カメラ/シネマチックカテゴリ
  • FXカテゴリ
  • 環境音カテゴリ
  • 透明ブロッカーカテゴリ
  • スクリプトブレイン

再出現、消滅、放置妨害

オブジェクトは、指定時間が経過した際、
またはオブジェクトが動かされた際に、再出現、消滅を行う設定ができる
消滅はカスタムゲームでしか機能しない

再出現

オブジェクトが消滅するとタイマーを開始し、オブジェクトの付近にプレイヤーがいない場合、再出現する
範囲内に他のオブジェクトがあっても、関係無く再出現する

再出現(妨害オン)

オブジェクトが動いた際、タイマーを起動しオブジェクトを再出現する
動いた元のオブジェクトは消滅させない限りマップに残り続ける

消滅

オブジェクトが出現するとタイマーを開始し、オブジェクトの付近にプレイヤーがいない場合、消滅する

消滅(放置/妨害)

オブジェクトが動いた際、タイマーを起動し、オブジェクトの付近にプレイヤーがいない場合消滅する

結合

グループ化したオブジェクトは結合することで、
物理を共有する一つのオブジェクトとして扱うことが出来るようになる
結合したオブジェクト同士は以下の特徴を持つ

  • 結合したオブジェクト同士は物理的に干渉しない
  • 結合したオブジェクトが回転する際、回転の中心はペアレントに指定したオブジェクトになる
  • 物理特性がノーマルの場合、結合したオブジェクトの一部が移動、回転した際、他の全てのオブジェクトにもそれが適用される

結合できないオブジェクト

下記のオブジェクトがグループに含まれる場合、結合はできない

  • 武器カテゴリ
  • タレットカテゴリ
  • パワーアップカテゴリ
  • (ゲームプレイ)ビークルカテゴリ
  • スタートカテゴリ
  • ランチャー/重力カテゴリ
  • カメラ/シネマチックカテゴリ

テレポーター

アルファ(A)~ズールー(Z)までの26種類のチャンネルを設定でき、
プレイヤーやビークルを、同チャンネルのテレポーター間で移動させる事ができる
プレイヤーのみ、ビークルのみなど、移動対象を指定することができる

 

テレポーターには以下の特性が存在する

  • 移動先に障害物が存在しない場合に移動する
    また、移動元の範囲内にいる時に移動先の障害物が取り除かれた場合、即座に移動する
     
  • リスポン、テレポーターの移動によって、テレポーターの範囲内に入った場合、
    一度そのテレポーターの範囲外に出ない限り移動しない
     
  • 移動した際プレイヤーが出現する高さは、
    移動元の範囲に入った時の、移動元からの高さ方向の絶対値に依存する
     
  • マップに出現しているテレポーターは、同時に32個までしか機能しない
    これは移動元、移動先関係無く、テレポーターカテゴリ全体でカウントする
    テレポーターを消滅させると、先に配置した順にまた32個機能する
    例:テレポーターを100個配置した場合、1~32までしか機能しない。1~10を消滅させると、11~42まで機能する
 
 

カスタムゲームとスクリプト

フォージモードとカスタムゲームでは、回転や移動などオブジェクトの挙動に差が生じる
また、一部オブジェクトはカスタムゲームにおいては位置が固定され、回転、移動を行う事が出来なくなる。
(他のオブジェクトと結合した場合でも同様)

カスタムゲームで位置が固定されるオブジェクト

  • フラッグ スタンド
  • 出現地点
  • 不可視属性のテレポーター
  • インタラクティブ:スイッチ(不可視)

ラウンド

スクリプトはラウンド間でも止まらず処理し続ける
ラウンド毎に行われるのは、オブジェクト、プレイヤーの再配置のみであり、タイマースクリプトもリセットされず動き続ける
一部ルールでは、ラウンド毎に見た目の色は変わらないが、内部的にチームがシャッフルされ、
チーム1が次のラウンドでチーム2のリスポンから湧くようになっている

チームがシャッフルされるルール

  • グリフボール系統(アサルト含む)
  • ストロングホールド系統
     
     

バグ技

下記のテクニックは、恐らく本来の仕様から外れた物になるため、アップデートで修正の可能性があります
使用の際はご注意下さい

カスタムビークル

Vehicle Welding Tips (Glitch Less!) - Halo 5 Forge Tutorial

 

ビークルとオブジェクトをグループ化した後、ビークルを破壊し、
再出現するまでに結合を実行することでビークルとオブジェクトを結合できる
この際オブジェクトを掴んでいるとhalo5が落ちるため、カーソルを合わせてXボタンでメニューを開くこと

 

ゴーストやバンシーは安定性が悪く、結合の仕方やペアレント次第で暴走しやすい
逆にワートホグは非常に安定しており、どんなオブジェクトを繋げてもほぼ暴走する事が無い

カスタムウェポン

CUSTOM WEAPONS TUTORIAL - Halo 5: Guardians

 

343スタッフより「面白いから直さないでおく」と明言されたバグ技
ウェポンパッド上で武器を合成し、二つの武器の特徴を併せ持った武器を作れる

 

手順は、合成したい武器をウェポンパッドで選択し、調整をデフォルトの武器以外に変更する
そのまま調整は変更せず、武器種類のみを変更する
出現した武器に近づき、武器名が最初に選択した武器になっていれば完了
凶悪な性能を持つ武器や、逆に弱くなる武器もあるので色々試してみよう

強制結合、強制ノーマル化

Halo 5 Forge Tutorial - FX & Sound Vehicle Welding

 

本来、結合やノーマル化ができないオブジェクトを強制的に結合、ノーマル化する

強制結合

既に結合した2つ以上のオブジェクトを選択した状態で、結合したいオブジェクトを選択、
その後十字キー上を長押しでどんなものでも追加結合できる
スクリプトが利かないオブジェクトをノーマル物理と結合して動かすことも可能

強制ノーマル化

ノーマル物理特性を設定できるオブジェクトを選択した状態で、ノーマル化したいオブジェクトを、
選択と同時にXボタンでメニューを開く
成功すれば、先に選択していたオブジェクトの内容で、もう一つのオブジェクトを設定できる
後は物理特性をノーマルに変更して選択を解除すれば完了

結合同期バグ

moving phased objects glitch (Halo 5 Forge Tutorial)

 

非物理属性のオブジェクトはノーマルと違い、ペアレントだけにスクリプトを入れて結合しても動きが同期されることはないが、
可動するオブジェクトをペアレントにした際、非物理属性でもノーマル属性のように同期するようになる

非物理属性での同期が可能なオブジェクト

  • ピストン カテゴリ
  • インタラクティブ:ターゲット カテゴリ
  • インタラクティブ:ダメージ

ピストンやランプは選択のたび移動してしまうため、プラットフォーム;フォージ・エデン等が使いやすい
FXや環境音は、カスタムでは同期しないが、時間以外全ての値を0にした回転スクリプトを同時に入れることで同期するようになる