「マッピング:ウェーブ」の編集履歴(バックアップ)一覧に戻る

マッピング:ウェーブ - (2013/02/06 (水) 21:25:54) のソース

*マッピング:ウェーブ
ポイントエンティティ&italic(){overlord_wave_controller}を1個作成する。
これはマップ内の何処に置いても問題無い。
|&bold(){Initial Spawn Count}|ウェーブ1のゾンビスポーン数|
|&bold(){Zombie Increment}|ウェーブ毎のゾンビ増加数|
|&bold(){Resupply Freq.}|救援物資の頻度(ウェーブ)|
|&bold(){NG Freq.}|(未実装)|
|&bold(){Ending Wave}|このウェーブ終了でマップクリア&br()カスタムクリアシナリオを使う場合は後述|
|&bold(){First Runner Wave}|Runner初登場ウェーブ|
|&bold(){First Child Wave}|Kid初登場ウェーブ|
|&bold(){Custom Win Scenario}|&italic(){No}ならば&bold(){Ending Wave}終了でクリア&br()カスタムクリアシナリオを使う場合は&italic(){Yes}にする|
&color(#cccccc){例:&br()&bold(){Initial Spawn Count}が&italic(){50},&bold(){Zombie Increment}が&italic(){10}の場合、&br()ウェーブ15のゾンビスポーン数は (50) + ( (15 - 1) * 10 ) = 190 となる。}

**カスタムクリアシナリオを使う場合
まず上記の&bold(){Custom Win Scenario}を&italic(){Yes}にする。
&italic(){overload_wave_controller}が&bold(){Ending Wave}の次のウェーブ開始時に&italic(){OnCustomWinBegin}の出力を送るようになるので、
この出力でシナリオを開始させる。

最後にシナリオ終了時に、&italic(){overlord_wave_controller}に対して以下の出力を送るようにする。
|シナリオ成功=クリアの時|&italic(){InputCustomWinComplete}|
|シナリオ失敗=ゲームオーバーの時|&italic(){InputCustomWinFailed}|

なおカスタムクリアシナリオでは通常オブジェクティブで使用する&italic(){nmrih_extract_point}(生存プレイヤーが全員範囲内に入ったらクリア)
を使用することができる。これについては[[マッピング:オブジェクティブ>http://www34.atwiki.jp/nmrih/pages/71.html]]を参照。
但しオブジェクティブマップと違い、以下の出力をそれぞれ送らなければならない。
|>|BGCOLOR(#660000):COLOR(white):&bold(){(When)}|BGCOLOR(#660000):COLOR(white):&bold(){(From)}|BGCOLOR(#660000):COLOR(white):&bold(){Target entities named}|BGCOLOR(#660000):COLOR(white):&bold(){My output}|BGCOLOR(#660000):COLOR(white):&bold(){Via This input}|
|>|シナリオ開始|&italic(){overload_wave_controller}|&italic(){nmrih_extract_point}|&italic(){OnCustomWinBegin}|&italic(){start}|
|シナリオ終了|成功|&italic(){nmrih_extract_point}|&italic(){overload_wave_controller}|&italic(){OnAllPlayersExtracted}|&italic(){InputCustomWinComplete}|
|~|失敗|&italic(){nmrih_extract_point}|&italic(){overload_wave_controller}|&italic(){OnExtractionExpired}|&italic(){InputCustomWinFailed}|

**特定のウェーブ開始時に出力を発生させるには
ポイントエンティティ&italic(){math_counter}を出力を発生させたいウェーブの個数だけ作成する。
そしてKeyvaluesを以下のように設定する。
|&bold(){Start Disabled}|&italic(){No}|
|&bold(){Initial Value}|&italic(){0}|
|&bold(){Minimum Legal Value}|&italic(){0}|
|&bold(){Maximum Legal Value}|&italic(){開始時に出力を発生させたいウェーブ}|
そしてこの&italic(){math_counter}に、&italic(){overlord_wave_controller}から以下のような出力を送るように設定する。
|&bold(){My output}|&italic(){OnNewWave}|
|&bold(){Via this input}|&italic(){Add}|
|&bold(){With a parameter override}|&italic(){1}|
こうすることにより、各ウェーブ(ウェーブ1を含む)の開始時にカウンターが1ずつ加算されていくようになる。
あとは言うまでも無く、&italic(){math_counter}に&bold(){My output}が&italic(){OnHitMax}の出力をさせればいいだけ。