2018/07/09(Mon) 18:39:04 編集(投稿者)
>>・Globalコマンドで指定しているのに、数値が受け継がれません。
Globalコマンドの指定に不備は見当たらないので、おそらく分岐(Ifコマンド)の不備ではないでしょうか?
(例)
If トモ出番 = 1 Then
// Launchコマンド記載
Else
// Createコマンド記載
EndIf
>>・薬草っていうアイテムを数えたいのですが、数値は初期値の0のままでかぞえられません。
Infoに特定キャラの特定アイテムをの装備数を参照する機能はありません。
なので下記@の様なサブルーチンを用意して、下記Aの様に実行して下さい。
// @ //////////////////////////////////////////
GetItemCount:
// 引数1 = ユニットID
// 引数2 = アイテム名
Local i
Local uid = Args(1)
Local itm = Args(2)
Local cnt = 0
For i = 1 To CountItem(uid)
If Item(uid,i) = itm Then
Inr cnt 1
EndIf
Next
Return cnt
// A //////////////////////////////////////////
Set 採ってきた薬草 0
Incr 採ってきた薬草 GetItemCount(キャラ, 薬草)
Incr 採ってきた薬草 GetItemCount(アイ, 薬草)
Incr 採ってきた薬草 GetItemCount(ユウ, 薬草)
Incr 採ってきた薬草 GetItemCount(トモ, 薬草)
//////////////////////////////////////////////////
>>・Escapeコマンドで指定しても、ロボットたちが消えてくれません。
>>Escape 帝国兵士(ザコ)
>>Escape 帝国兵士リーダー
この場合は「帝国兵士(ザコ)」と「帝国兵士リーダー」が一体ずつしか撤退しません。
陣営名(「味方」「敵」「中立」「NPC」)を指定すれば陣営の全ユニットを撤退させられます。
特定のグループを撤退させたい場合はCreateで作成時にグループIDを設定して下記の様に実行すれば撤退できます。
//////////////////////////////////////////////////
ForEach グループID 出撃
Escape
Next
//////////////////////////////////////////////////
>>・脱出したら次の道(マップ)に進むというのをやりたいのですが、次のマップが黒くなってしまいます。
単純に考えて「Event04_$(x).map」が存在していないファイルを指定しているからだと思います。
>>Set x
>>For x = 1 To 5
>>x = 1
>>Next
どういった処理を担ってるのかが解りません。
もし実行されると永遠にループし続けると思います。
>>If x < 5 Then
>>
>>If Exフラグ1 = 1 Then
整合性が取れていません。EndIfが必要です。
脱出した際の場所で個別にファイル名指定ではダメなのですか?
共通部分があるのなら、共通部分をサブルーチン化して実行する手もあります。
//////////////////////////////////////////////////
脱出 味方 N:
Call 脱出共通
ChangeMap Event04_1.map
Exit
脱出 味方 S:
Call 脱出共通
ChangeMap Event04_2.map
Exit
脱出 味方 W:
Call 脱出共通
ChangeMap Event04_3.map
Exit
脱出 味方 E:
Call 脱出共通
ChangeMap Event04_4.map
Exit
脱出共通:
//ブランいる
If Exフラグ1 = 1 Then
Talk キャラ
やっと抜けた。
Talk トモ
油断するなよ。;
まだ道は続いている。;
Talk アイ
そうそう。;
ティキたちの本拠地まで、まだまだかかるんだから。
Talk ユウ
ええ〜っ!!
End
EndIf
Return
//////////////////////////////////////////////////