アクション機能

敵HUD実装

ダメージを受けたエネミー用のHUDを設定します。
加えて討伐時の処理や視覚設定も行います。

一部のパラメーターはプレイヤー側にも適用されます。

目次

アクションが敵にヒットした際、敵の頭上に体力ゲージやダメージを表示します。

<敵HUDの有効化>

On (true)にすると、この機能が有効化されます。

<討伐セルフスイッチ>

エネミーのイベントキャラクターが倒れた際、自動的にOnにするセルフスイッチを設定します。
未設定の場合はDが選択されます。
なお、イベントキャラクターの討伐は<撃破演出>で設定したコモンイベントで演出します。
後述のプラグインコマンド defeat も参照してください。

<自動リスポーン>

On (true)にすると、マップ移動の度に、討伐済のイベントキャラクターが復活します。
Offの場合でも、プラグインコマンド respawn で直接リスポーンさせることは可能です。

<ドロップ画像・ドロップ画像ID>

イベントキャラクター撃破時、ドロップアイテムが発生した際に切り替えるイベント画像を設定します。
撃破により切り替わったイベントページに画像が設定されていなくても、自動的に指定の画像に変更されます。
設定方法については、<乗り物画像ファイル・乗り物の画像インデックス>と同様です。
ちなみに、<討伐セルフスイッチ>で設定したセルフスイッチがOnになった時にのみ、この画像変更は実行されます。

<HPバー可視化>

On (true)にすると、イベントキャラクターがダメージを受けた際、キャラクターの頭上にHPバーを出現させます。
こちらは通常敵用の設定です。

<ゲージ高さ(通常敵)>

ザコ敵用のHPバーの高さ(縦幅)をpxで設定します。

<ボスHUD表示位置>

ボスのHPバーを表示する位置を設定します。
「非表示」「画面下」「画面上」の中から選択してください。
「非表示」のときは、ボスのHPバーが用意されません。

なお、ボスにステートが付与されている時、配置の上下にかかわらずステートのアイコンはゲージの下に表示されます。

<ゲージ幅(ボス)>

ボスのHPバーの幅を画面幅に対する%で設定します。

<ゲージ高さ(ボス)>

ボスのHPバーの高さ(縦幅)をpxで設定します。

<ダメージの可視化・ダメージメッセージの表示>

それぞれOn (true)にすると、ダメージヒット時にダメージポップアップやメッセージウィンドウが表示されます。
後者は主にデバッグ用で、ヒットしたキャラクターの名前も確認できます。

<致命演出>

いわゆるバックスタブが成功した際、追加で実行するアニメーションを設定します。
不要な場合は「なし」で問題ありません。
バックスタブと判定される条件は次の2つです。

  • ①攻撃対象のイベントキャラクターがプレイヤーを発見していない(Warning状態でない)
  • ②プレイヤーが攻撃対象の背後から攻撃した

また、ダメージ計算式に次の項を書くと、プレイヤーがバックスタブに成功した際のダメージボーナスを設定できます。

a.backStab(n)

これはプレイヤーがバックスタブを取ると n 、それ以外では 1 として扱われます。n には任意の数値を記入してください。

<デフォルト視覚範囲>

イベントキャラクターが自身の視覚でプレイヤーを発見するための、デフォルトの距離を設定します。
ノートタグ<sight>が設定されていないイベントキャラクターは、この値を視覚範囲とします。


関連プラグインコマンド

defeat animeId selfSwitch

イベントキャラクターの撃破アニメーションを実行します。
このプラグインコマンドにより、イベントキャラクターのセルフスイッチ操作も行います。
<撃破演出>で設定した、各コモンイベントに記述してください。

  • animeId

    実行するアニメーションIDを記入してください。

  • selfSwitch

    <討伐セルフスイッチ>以外のスイッチをOnにしたい場合のみ、A、B、C、Dのいずれかを記入してください。
    報酬画像への変更は<討伐セルフスイッチ>で設定したセルフスイッチがOnになった時に行われます。
    撃破後に一度イベントを挟みたい場合はこの値を設定し、イベント終了後に<討伐セルフスイッチ>のスイッチをユーザーがOnにしてください。

なお、このプラグインコマンドが呼び出されると、画面内で撃破されたイベントエネミーすべてがこのコマンドの影響を受けます。

rewards popup type getId amount

イベントキャラクターがドロップした討伐報酬を入手します。
討伐後に切り替えるイベントページにこのプラグインコマンドを記述してください。

報酬は入手すると、文章表示でアイテム名だけ表示します。
複数同時にドロップした場合は1つずつアイテム名が表示されます。
なお、ドロップアイテムはイベントキャラクターに紐付けられた敵キャラデータを参照します。
確率によっては報酬がないこともありますが、その場合はこのプラグインコマンドは特に何もしません。

ただし、プラグインコマンドとしては何もしないだけで、その前後に配置したイベントコマンド(例:SEの演奏や変数の処理など)は通常どおり実行されます。
そのような処理を報酬がある時に限定したい場合は、次のスクリプトを条件分岐に使ってください。

this.character(0).hasDropItems();

※β4.1.0から追加
4つの引数が追加されました。
これに伴い、イベントキャラクターのドロップ報酬以外に、宝箱のようなアイテム獲得イベントを強化できるようになりました。
以下、後者による入手を「トレジャー」とします。

  • popup

    trueにすると、報酬のダイアログをポップアップ表示にします。
    ポップアップ表示することでダイアログ表示中もプレイヤーは操作が可能となるため、ゲームプレイのテンポが向上します。
    なお、ポップアップのレイアウトは後述するスクリプトで調整します。
    なお、ドロップ報酬でこのプラグインコマンドを使う場合、以下3つの引数は無効化されるため不要です。

  • type(トレジャー用)

    次のgetIdが示すIDがどのアイテムのタイプかを設定します。
    item armor weapon variableのいずれかから選択してください。
    それぞれの実行内容についてはgetIdにて解説します。

  • getId(トレジャー用)

    入手させるアイテムのIDを設定します。
    たとえば 5 を設定した場合、typeがitemならアイテムID5、typeがweaponなら武器ID5、typeがarmorなら防具ID5のアイテムを入手します。

    一方、typeがvariableの場合、getIdは変数のIDとして扱われ、その変数の値が入手するアイテムIDとなります。
    先のように 5 を設定した場合、まずは変数ID5を参照します。
    そしてその変数の値がたとえば3なら、アイテムID3のアイテムを入手します。
    このとき、武器と防具はこの変数の下5桁の数値を参照して決定されます。
    下5桁の値が1、すなわち10000~19999までは武器のIDとして参照されます。
    下5桁の値が2、すなわち20000~29999までは防具のIDとして参照されます。
    変数で指定する場合はプラグインコマンドより前に対象とする変数の値を操作しておいてください。

    なお、この引数はエラーチェックの対策を施していません。
    そのため、たとえばID0のように存在しないアイテムを対象とすると、エラー発生によりゲームが強制終了します。ご注意ください。

  • amount(トレジャー用)

    指定したアイテムの入手数を参照する変数のIDを設定します。
    原則的に直接的な個数指定はできないことに注意してください。
    たとえばamountに 3 を設定した場合、まずは変数ID3を参照します。
    そしてその変数の値がたとえば5であるなら、指定したアイテムを5個入手します。
    getIdの変数指定と同様、プラグインコマンドより前に対象とする変数の値を操作しておいてください。
    ただし、amountに0を設定した場合、あるいは変数の値が0であった場合、入手個数は1として扱われます。

respawn target

指定のイベントキャラクターを復活させます。
このプラグインコマンドは<自動リスポーン>の状態に関係なく実行できます。

  • target

    対象のイベントID(半角数字)、map、allののいずれかを記入してください。
    それぞれの効果は次のとおりです。

    • イベントID

      指定したイベントIDのキャラクターを復活させます。
      現在のマップに限られることにご注意ください。
      この処理は、後述するノートタグ<respawn:ban>を無視します。

    • map

      現在のマップで全てのイベントキャラクターを復活させます。
      未討伐のイベントキャラクターも初期化されます。

    • all

      全マップ、全てのイベントキャラクターを復活させます。
      リスポーンのタイミングは、各マップが読み込まれた時です。

なお、リスポーンに伴う画面演出は別途必要です。

bossHpBar exe target

現在マップのボスHPバーの表示・非表示を切り替えます。

  • exe

    show か hide を記入してください。

  • target

    exe が show の時のみ必要です。
    表示したいボスのイベントキャラクターのIDを記入してください。
    all と記入した場合、現在マップの全ボスHPバーが表示されます。
    exe が hide の時は自動的に all として実行されます。

原則的に、ボスに攻撃した時点で自動的にHPバーが出現します。
また、ボスを倒すと自動的にHPバーが非表示になります。
このプラグインコマンドは任意のタイミングでHPバーを管理するためのものです。

stopWarning eventId
stopWC eventId

前者は指定したイベントキャラクターのWarning状態を解除します。
後者はWarning状態に加え、Caution状態も解除します。
eventId の指定方法は、プラグインコマンド stopCaution と同様です。

コラム  Warning と Caution って?

Caution状態については、移動拡張の<足音ステータス>で説明した通りです。
ではWarningとは何かというと「視覚でプレイヤーを発見した」状態です。
聴覚のCaution 、視覚のWarning と覚えてください。

Caution 同様に Warining にも判定スクリプトが存在します。

this.character(0).isWarning()

これを「条件分岐」のスクリプトに設定すると、プレイヤーを発見したか否かで挙動を管理することが可能です。


関連スクリプト

$gameSystem.changeRewardPopup(alignX, y, fontSize, marginX, marginY, maxRows, duration, bgColor1, bgColor2);

プラグインコマンド rewardsで表示できる報酬ポップアップのレイアウトを調整します。
全部で9項目ありますが、不要な引数は false を設定してください。

  • alignX

    報酬を表示する横方向の位置を設定します。
    'left' 'center' 'right' のいずれかから選択してください。
    設定の際は ' ' も必要です。

  • y

    報酬ポップアップのy座標を設定します。単位はpxです。
    この値が小さいほど、ポップアップは画面の上部に表示されるようになります。

  • fontSize

    ポップアップの文字サイズを設定します。単位はpxです。

  • marginX

    ポップアップ報酬の画面端からの距離を設定します。単位はpxです。
    ポップアップ表示の開始時と終了時、横方向にスクロールさせる距離にもなります。

  • marginY

    ポップアップ報酬において、各アイテムの行間を設定します。単位はpxです。
    marginYとfontSizeの合計値が、ポップアップのアイテムを縦方向にスクロールさせる距離にもなります。

  • maxRows

    ポップアップ報酬において、1度に表示する最大のアイテム数を設定します。
    1〜3の範囲に絞られます。
    (fontSize + marginY) × maxRows の値がポップアップの高さになります。

  • duration

    ポップアップのアイテムを縦方向にスクロールさせるまでに表示待機させるフレーム数を設定します。

  • bgColor1

    ポップアップのアイテムの背景色を設定します。
    こちらは開始色、すなわち alignX で設定している側の色になります。
    設定する際は alignX と同様、 ' ' が必要です。

  • bgColor2

    ポップアップのアイテムの背景色を設定します。
    こちらは終了色、すなわち alignX で設定している側とは逆の色になります。
    設定する際は alignX と同様、 ' ' が必要です。

なお、ゲーム開始時にそれぞれ右図に示したデフォルト値が自動設定されます。
ユーザーが調整する際の参考にしてください。

この変更は一時的なものではなく、一度変更するとその後も設定が引き継がれます。

  • 引数
  • alignX
  • 'right'
  • y
  • 464
  • fontSize
  • 18
  • marginX
  • 20
  • marginY
  • 4
  • maxRows
  • 3
  • duration
  • 50
  • bgColor1
  • white
  • bgColor2
  • grey

また、それぞれの引数単独のスクリプトがあります。1項目だけ設定を変えたい時はこちらを活用してください。

  • $gameSystem.changeRewardAlignX(position);
  • $gameSystem.changeRewardY(y);
  • $gameSystem.changeRewardFontSize(fontSize);
  • $gameSystem.changeRewardMarginX(marginX);
  • $gameSystem.changeRewardMarginY(marginY);
  • $gameSystem.changeRewardMaxRows(maxRows);
  • $gameSystem.changeRewardDuration(duration);
  • $gameSystem.changeRewardBgColor1(color);
  • $gameSystem.changeRewardBgColor2(color);

関連メモ

<enemy:n>

マップイベントのメモ欄に記述します。
n に敵キャラのIDを記入してください。
ノートタグを書かれたイベントキャラクターが、この敵キャラのエネミーデータを参照できるようになります。
これによりアクションでのダメージ計算やHP管理、報酬などの自動化が可能となります。

n が 0 、あるいはノートタグを持たないイベントキャラクターは味方として判断され、当たり判定が生成されません。

<boss>

マップイベントのメモ欄に記述します。
イベントキャラクターをマップのボスとして扱うようになり、特にHPバーの生成がボス用のものとなります。
また、敵キャラでの消滅エフェクトとは独立しているため、「このマップではボスだが、他のマップではザコとして出したい」という設定も可能です。

<notRespawn>

マップイベントのメモ欄に記述します。
このノートタグを持つイベントキャラクターは、<自動リスポーン>、プラグインコマンド respawn の mapあるいは all 対象から除外します。
ただし、respawn で直接IDを指定した場合は、このノートタグが無視されます。

<sight:n>
<sightLimit:m>

いずれもデータベース「敵キャラ」のメモ欄に記述します。
前者は視野角、後者は視力となります。
n には 1〜360 の角度を、m には 0 以上の数値を記入してください。
未設定の場合は n は 90、m は<デフォルト視覚範囲>の値になります。

<sight> はキャラクターの目線を軸にして、その左右に値の半分ずつの視野角が設定されます。
<sightLimit> については<デフォルト視覚範囲>と同様です。
プレイヤーがこの領域に入り、かつその途中に遮蔽物がない場合、そのイベントキャラクターは Warning状態になります。

なおこのノートタグは、紐付けられたイベントキャラクターが<enemy>のノートタグを持つ場合のみ有効です。

<chainWarning>

データベース「敵キャラ」のメモ欄に記述します。
あるイベントキャラクターがWarning状態になったとき、このノートタグを持つ敵キャラを紐づけた他のイベントキャラクターも同時にWarning状態になります。
画面外にいるイベントキャラクターは、この連鎖の対象外です。
また、バックスタブで仕留めた場合も連鎖は発生しません。

コラム  Warning状態における自律移動

イベントキャラクターがWarning状態になると、自律移動は停止します。
そのため、並列処理と条件分岐を使うことで、Warning状態での移動ルートを設定することが可能です。
Warning状態が解除されると、再び自律移動を実行します。