2018/07/12(Thu) 22:49:19 編集(投稿者)
>>エラーは出なかったのですが、シナリオが途中で消えてしまいました。
何度か試しましたが特に問題は無かったです。
なのでGetItemCountを導入している状態で下記を実行してみて下さい。
-1が表示されたあと0以上が表示されればGetItemCount以外の問題です。
//////////////////////////////////////////////////
Set 採ってきた薬草 0
Talk システム
-1
End
Incr 採ってきた薬草 GetItemCount(キャラ, 薬草)
Incr 採ってきた薬草 GetItemCount(アイ, 薬草)
Incr 採ってきた薬草 GetItemCount(ユウ, 薬草)
Incr 採ってきた薬草 GetItemCount(トモ, 薬草)
Talk システム
$(採ってきた薬草)
End
//////////////////////////////////////////////////
>>イベントは普通に動いて、最後にボスが出てきてくれたのですが、そのとたんにマップが変わってボスが消えてしまいました。
ChangeMapの実行タイミングの差なので方法としては、移動前イベントと移動後イベントを分ければ良いだけかと。
設定例を下記に記載しておきます。
>>ClearEventでやったのですが、引数が足りませんとでました。脱出 味方 E あるいは、ChangeMap"Event04_$(脱出カウント).map"です。
>>その後も動いてくれたんですけど。イベント終わりまでいきました。
ちょっと理解できませんでした。
//////////////////////////////////////////////////
//@
脱出 味方 W:
Incr 脱出カウント 1
Switch 脱出カウント
Case 1
// マップ移動前1回目のイベント
Case 2
// マップ移動前2回目のイベント
Case 3
// マップ移動前3回目のイベント
Case 4
// マップ移動前4回目のイベント
Case 5
// マップ移動前5回目のイベント
EndSw
ChangeMap "Event04_$(脱出カウント).map"
Switch 脱出カウント
Case 1
// マップ移動後1回目のイベント
Case 2
// マップ移動後2回目のイベント
Case 3
// マップ移動後3回目のイベント
Case 4
// マップ移動後4回目のイベント
Case 5
// マップ移動後5回目のイベント
EndSw
Exit
//////////////////////////////////////////////////
//A
脱出 味方 W:
Incr 脱出カウント 1
Switch 脱出カウント
Case 1
// 1回目の移動前イベント
ChangeMap "Event04_$(脱出カウント).map"
// 1回目の移動後イベント
Case 2
// 2回目の移動前イベント
ChangeMap "Event04_$(脱出カウント).map"
// 2回目の移動後イベント
Case 3
// 3回目の移動前イベント
ChangeMap "Event04_$(脱出カウント).map"
// 3回目の移動後イベント
Case 4
// 4回目の移動前イベント
ChangeMap "Event04_$(脱出カウント).map"
// 4回目の移動後イベント
Case 5
// 5回目の移動前イベント
ChangeMap "Event04_$(脱出カウント).map"
// 5回目の移動後イベント
EndSw
Exit
//////////////////////////////////////////////////
>>ユニット名やパイロット名を入れてもその処理を行ってくれません。
こちらも何度か試しましたが特に問題は無かったです。
一応確認ですが愛称で指定してないですよね? 下記の様に設定されていれば「テスト(てすと)」を指定する必要があります。
それと前提としてGetUnitCountは出撃状態のユニットをカウントします。
とりあえずユニットの愛称対応版も用意しておきます。
>>If GetUnitCount(敵, ザコリーダー) = 2 Then
>>ElseIf GetUnitCount(敵, 植物モンスター) = 1 Then
あと気になる所と言えば↑の処理です。
↑は「ザコリーダーがちょうど2体」「植物モンスターがちょうど1体」のいずれかの時に実行する。
と解釈されますが想定道理でしょうか?
//////////////////////////////////////////////////
テスト(てすと)
テスト, てすと, 汎用, 1, 0
//////////////////////////////////////////////////
// ユニット愛称対応版
GetUnitCount:
// 引数1 = 陣営名
// 引数2 = ユニット名称 or ユニット愛称
Local i
Local uid
Local cnt = 0
Local uname = Args(2)
ForEach Args(1) 出撃
Set uid UnitID()
If Info(ユニット, uid, 名称) = uname Then
Incr cnt 1
ElseIf Info(ユニット, uid, 愛称) = uname Then
Incr cnt 1
EndIf
Next
Return cnt
//////////////////////////////////////////////////