ルールエディターの基本:メッセージブロック
次に、VIPプレイヤーを全プレイヤーに向けて通知するメッセージブロックも作ってみましょう。ルールエディタでは、メッセージの文面に最大3つまで変数を入れることができます。
エディタ内のヘルプでも説明されていますが、文面に{}を挿入すれば、メッセージブロック内の2~4枠めのブロックが括弧のところで表示されます。例えば上のスクリーンショット通りに組むと、「イベントプレイヤー is VIP!」という文章がすべてのプレイヤーの画面中央上部に6秒間表示されることになります。
ルールエディターの基本:ステータスの変更とサブルーチン
ランダムなプレイヤー1名をVIPに任命するシステムが組み上がったところで、次はいよいよVIPに選ばれたプレイヤーに特殊能力を授けて行きましょう。とりあえず基本ということで、VIPの最大体力を200にした上で常時スポット状態にしてみます。そしてVIPプレイヤーが出撃していないとHPを変更することはできないので、ルールのイベントはもちろん「プレイヤー出撃時」です。
プレイヤー出撃時にそのプレイヤーがVIPだった場合、イベントプレイヤーの最大HPとスポット状態を変更する。大体そんなルールを作れれば大丈夫ですが、折角ですから今回は「サブルーチン」を導入してみましょう。サブルーチンとは複数の行をひとつのセットにまとめたブロックのことで、同じ命令を違う箇所で何回も繰り返さなくてはいけないときや、単純にルールの行数を圧縮したい時には便利です。
- 条件は「出撃したプレイヤーがそのチームのVIPだった場合」。
- そのチームのVIPの最大HPを200に変更する。
- そのチームのVIPのHPを200回復する。
- そのチームのVIPを999秒間スポット状態にする。
- 全プレイヤーに「イベントプレイヤーがVIPになった」と通知する。
このうち、VIPのステータスを変更する3行分の命令を1つのサブルーチンとしてまとめてみましょう。ブロックの名前はいつもどおり自分がわかりやすいものをつければいいので、「VIPCreation」と名付けておきます。
こうすれば、VIPCreationというコンパクトな黄色ブロック1つをルールにはめ込むだけで、サブルーチン内の3つをはめ込んだことになります。サブルーチン自体に条件を設定することもできるので、ルールの条件→サブルーチンの条件と、2重に条件設定することができるのもサブルーチンの使い方の1つですが、今回は一旦割愛します。
ルールエディタ応用編:VIPがデスした時の処理を作ろう
さて、ここまでルールエディタの基本的な使い方を交えながら「VIPプレイヤーの指名」と「VIPスポーン時の処理」を作ってきました。最後の仕上げとして、今まで紹介してきた使い方を総動員して「VIPプレイヤーがデスした時の処理」を作って行きましょう。作りたい物のリストはざっと以下の通りです:
- イベントと条件は「デスしたプレイヤーがVIPだった場合」。
- そのチームの「VIPDeathCount」を1増やす。
- デスしたVIPプレイヤーの最大HPを100に戻す。
- デスしたVIPプレイヤーのスポットを解除する。
- 「VIPKillTeam」をVIPをキルしたチームに指定する。
- もしデスしたプレイヤーのチームの「VIPDeathCount」が15だった場合、「VIPKillTeam」を勝者にする。
- もしデスしたプレイヤーのチームの「VIPDeathCount」が15でなかった場合、そのチームの生存中のプレイヤーからランダムに1名を新しいVIPに指名する。
- VIPに特殊能力を与える。
- 通知メッセージを表示する。
- 時間切れになった場合、VIPDeathCountが少ないチームを勝者にする。
筆者なりの解答は次ページに掲載しますので、チャレンジしたい方はページをめくる前に、ぜひ自分で試しに作ってみて下さい!
コメント
コメント一覧 (13件)
こういう風にルールに処理書きまくると、可読性悪すぎて、後で見たときに、何やってるかわからなくなるから、処理ごとにサブルーチン作ったほうがいいぞ。
動けばいいって思想でコード書くのは危険。
可読性が悪かったり、処理の分離ができてないと、バグが発生したときにどこでバグが起きてるのか追うのが大変になる。
こういうコードはアンチパターンって覚えておいたほうがいいよ、いわゆるスパゲッティコードだから。
クリスマスにすら必死にアンチコメしてるの悲しすぎだろ
オワコンにしがみついてるアホに効いてて草
効きすぎて反論しちゃったねぇw
聖夜に批判してることについて言ってるだけの人に噛みついてて草
哀れすぎる
ブーメラン刺さってんねぇw
と寂しいやつが申しております
コメ主に対してブーメランって言いたいんやろか
BF擁護もしてないのにキレ散らかしてるのはよっぽど悔しかったんかな
機能は凝ってるのに本体が機能してないのもったいないよな
なおアンロックは進まん模様
作っても人が来ないぞ
カスタムマッチ以前にこんなゴミゲーやらんて笑
どうやらApexでも弱いみたいですね。