> パーティーメンバー全員の状態異常を取得し(移動中に)全員が毒などの状態異常にかかってHP0の戦闘不能になったらゲームオーバーという処理にしたいのですがコモン24では状態異常を一人一人しか取得できませんよね。
> (メンバーが一人でも生存している限りゲームは続行される)
>
> パーティー全員の状態異常を取得する方法を教えてください。
処理としては、可変DB[6:パーティー情報]の項目[1〜6]にパーティにいる主人公IDが保存されているので、その主人公IDをセルフ変数に保存し、
コモンイベント[24:▲状態異常の取得]を呼び出す設定では、「対象主人公」の右側にあるチェックボックスにチェックを入れて、
「1600011」などの変数呼び出し値で主人公IDを保存したセルフ変数の値を呼び出すようにすれば、
パーティにいる主人公の状態異常を取得する事ができます。
コモンイベント[24:▲状態異常の取得]は、一人の主人公しか調べる事ができないので、パーティ全員を調べる場合は、
ループ処理を使ってパーティの人数分だけループし、パーティにいる主人公を一人ずつ調べていく必要があります。
以下は移動する度に、パーティ全員が戦闘不能であるかどうかを調べる処理です。
★コモンイベント/並列実行
■変数操作+: CSelf20[移動確認:X座標] = 主人公 の X座標(精密) *キャラ左側位置
■変数操作+: CSelf21[移動確認:Y座標] = 主人公 の Y座標(精密) *キャラ足下-1位置
■条件分岐(変数): 【1】 CSelf20[移動確認:X座標] が CSelf22[現在:X座標] と同じ
-◇分岐: 【1】 [ CSelf20[移動確認:X座標] が CSelf22[現在:X座標] と同じ ]の場合↓
|■条件分岐(変数): 【1】 CSelf21[移動確認:Y座標] が CSelf23[現在:Y座標] と同じ
|-◇分岐: 【1】 [ CSelf21[移動確認:Y座標] が CSelf23[現在:Y座標] と同じ ]の場合↓
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
■変数操作+: CSelf22[現在:X座標] = 主人公 の X座標(精密) *キャラ左側位置
■変数操作+: CSelf23[現在:Y座標] = 主人公 の Y座標(精密) *キャラ足下-1位置
■変数操作: CSelf10[可変6項目ID] = 0 + 0
■変数操作: CSelf15[全員戦闘不能=1] = 1 + 0
■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回
|■変数操作: CSelf10[可変6項目ID] += 1 + 0
|■DB読込(可変): CSelf11[主人公ID] = 可変DB[ 6 : 0 : CSelf10[可変6項目ID] ] (パーティー情報 : メイン設定 : -)
|■イベントの挿入[名]: CSelf12[状態異常確認] = ["▲状態異常の取得"] <コモンEv 24> / CSelf11[主人公ID] / 0:戦闘不能
|■変数操作: CSelf15[全員戦闘不能=1] 上限= CSelf12[状態異常確認] + 0
|■
◇ループここまで◇◇
▼ パーティ全員が戦闘不能になった場合は、セルフ変数[15]が「1」になる
■条件分岐(変数): 【1】 CSelf15[全員戦闘不能=1] が 1 と同じ
-◇分岐: 【1】 [ CSelf15[全員戦闘不能=1] が 1 と同じ ]の場合↓
|■次イベントの予約: コモン213:[ ゲームオーバーイベント ]
|■
◇分岐終了◇
■
WoditorEvCOMMAND_START
[124][4,0]<0>(1600020,4096,-2,2)()
[124][4,0]<0>(1600021,4096,-2,3)()
[111][4,0]<0>(1,1600020,1600022,2)()
[401][1,0]<0>(1)()
[111][4,0]<1>(1,1600021,1600023,2)()
[401][1,0]<1>(1)()
[172][0,0]<2>()()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[499][0,0]<0>()()
[124][4,0]<0>(1600022,4096,-2,2)()
[124][4,0]<0>(1600023,4096,-2,3)()
[121][4,0]<0>(1600010,0,0,0)()
[121][4,0]<0>(1600015,1,0,0)()
[179][1,0]<0>(1118000400)()
[121][4,0]<1>(1600010,1,0,256)()
[250][5,4]<1>(6,0,1600010,4096,1600011)("","","","")
[300][5,1]<1>(0,16777218,1600011,0,1600012)("▲状態異常の取得")
[121][4,0]<1>(1600015,1600012,0,1792)()
[0][0,0]<1>()()
[498][0,0]<0>()()
[103][0,1]<0>()("パーティ全員が戦闘不能になった場合は、セルフ変数[15]が「1」になる")
[111][4,0]<0>(1,1600015,1,2)()
[401][1,0]<0>(1)()
[211][2,0]<1>(500213,0)()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END