| 結論から言ってしまえば、 IncreaseMorale 1 でOKです。
ヘルプの「イベントコマンド」の下のほう、「デフォルトユニット」に、 >引数が省略可能なイベントコマンドは引数が省略されたときにデフォルトユニットに対して処理を行います。デフォルトユニットは次のいずれかの条件を満たすユニットです。 >(中略) >・ForEachコマンドの対象になったユニット とありますので、 "ここ" の部分は省略可能となります。
もしくは、 IncreaseMorale 対象ユニットID 1 でしょうか。 まあ、今回の場合はわざわざこのような記述をする必要は無いわけですがー
また、イベントの他の部分に関してですが、
・味方が破壊された時に必ず実行して欲しいイベントなので、 「常時イベントラベル」にします。 (詳しくはヘルプの「イベントラベル」項参照で)
・Info関数の書式が違います。 書式に > Info([データ区分,]データ,情報種類,…) とあるように、"データ"の部分は省略できません。必ず指定する必要があります。 (データ区分がパイロットならパイロット愛称などの指定が必要) この場合は変数「対象パイロット」が使えます。
・「Return」は、サブルーチンの終了時に普通用います。 イベントラベルの場合は"イベントを終了"させる「Exit」コマンドが適切でしょう。
以上のようなことから、
*破壊 味方: ForEach 味方 If Info(パイロット,対象パイロット,性格) = "慎重" Then IncreaseMorale 1 Endif Next Exit
で動作するかと。
ついでに、ちと余談気味になりますが、 Info関数や、「対象ユニットID」「相手ユニットID」「対象パイロット」「相手パイロット」・・・等の変数は色々と便利ですので 使い方を覚えておいて損はないと思います。
では長くなりましたがこれで。
|