\ Amazonポイント最大10%アップ /

BF2042:「VIPモード」を作ってみよう!世界一わかりやすいルールエディターの使い方

  • URLをコピーしました!

ルールエディターの基本:メッセージブロック

次に、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つですが、今回は一旦割愛します。

今回は元から3行しかなかったものを1行にまとめたので、そこまでコンパクトになったわけでもないが、長い上に色んなところで使うアクションを作る場合は、ぜひサブルーチンを活用してみよう。

ルールエディタ応用編:VIPがデスした時の処理を作ろう

さて、ここまでルールエディタの基本的な使い方を交えながら「VIPプレイヤーの指名」と「VIPスポーン時の処理」を作ってきました。最後の仕上げとして、今まで紹介してきた使い方を総動員して「VIPプレイヤーがデスした時の処理」を作って行きましょう。作りたい物のリストはざっと以下の通りです:

  • イベントと条件は「デスしたプレイヤーがVIPだった場合」。
  • そのチームの「VIPDeathCount」を1増やす。
  • デスしたVIPプレイヤーの最大HPを100に戻す。
  • デスしたVIPプレイヤーのスポットを解除する。
  • 「VIPKillTeam」をVIPをキルしたチームに指定する。
  • もしデスしたプレイヤーのチームの「VIPDeathCount」が15だった場合、「VIPKillTeam」を勝者にする。
  • もしデスしたプレイヤーのチームの「VIPDeathCount」が15でなかった場合、そのチームの生存中のプレイヤーからランダムに1名を新しいVIPに指名する。
  • VIPに特殊能力を与える。
  • 通知メッセージを表示する。
  • 時間切れになった場合、VIPDeathCountが少ないチームを勝者にする。

筆者なりの解答は次ページに掲載しますので、チャレンジしたい方はページをめくる前に、ぜひ自分で試しに作ってみて下さい!

1 2 3 4 5
BF2042:「VIPモード」を作ってみよう!世界一わかりやすいルールエディターの使い方 アイキャッチ

FOLLOW EAA!!

SHARE
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (13件)

  • こういう風にルールに処理書きまくると、可読性悪すぎて、後で見たときに、何やってるかわからなくなるから、処理ごとにサブルーチン作ったほうがいいぞ。
    動けばいいって思想でコード書くのは危険。
    可読性が悪かったり、処理の分離ができてないと、バグが発生したときにどこでバグが起きてるのか追うのが大変になる。
    こういうコードはアンチパターンって覚えておいたほうがいいよ、いわゆるスパゲッティコードだから。

  • クリスマスにすら必死にアンチコメしてるの悲しすぎだろ

      • 聖夜に批判してることについて言ってるだけの人に噛みついてて草
        哀れすぎる

      • コメ主に対してブーメランって言いたいんやろか
        BF擁護もしてないのにキレ散らかしてるのはよっぽど悔しかったんかな

  • 機能は凝ってるのに本体が機能してないのもったいないよな

コメントする

CONTENTS