はじめまして。 シナリオ作りをかじりだした、あきとしと申します。
行動終了イベントラベルについてご質問があります。
多数のザコ敵ユニットA、B、Cを登場させるシナリオで、次のような感じのコードを組んでみました。
行動終了 敵:
If X() > 10 And Y() >10 Then //敵侵入エリアを設定
#敵のユニット種類に合わせてローカル変数tempを設定
If Unit() = A Then
temp = 1
ElseIf Unit() = B Then
temp = 2
Else
temp = 3
EndIf
#さらに上で設定されたtempを監視し、イベントを振り分ける
If temp = 1 Then
Goto イベント1
ElseIf temp = 2 Then
Goto イベント2
EndIf
EndIf
Exit
イベント1:
Talk 主人公
ヽ(`Д´)<ノイベントA!!
End
ClearEvent "イベント1" //イベント1を実行したいのは最初の1回だけ
Exit
イベント2:
Talk 主人公
ヽ(`Д´)<ノイベントB!!
End
ClearEvent "イベント2" //イベント2を実行したいのは最初の1回だけ
Exit
この場合、イベント1や2が初めて呼び出され、実行され終わった時点で
ClearEventコマンドにより、イベント1、2のラベルがそれぞれ消去され
以降、他のユニットA、ユニットBが目標エリアに侵入しても最早イベント1、2は
実行されなくなるものと考えていたのですが
実際は何度でもイベント1、2が実行されてしまいます。
目論見どおりにするにはどのようにすればいいでしょうか?
問題ある点を教えていただければ幸いです。
|