このコモンイベントは、5歩進むたび満腹度が1減っていき、満腹度0になると1歩ごとにHPが1づつ減るという内容です!
コマンド文?コード?はこんな感じです↓
▼ ピクチャ番号 ウインドウ 3000
▼ 文字 3001~3004
■条件分岐(変数): 【1】CSelf16[HP] が CSelf31[HP残量]以下
-◇分岐: 【1】 [ CSelf16[HP] が CSelf31[HP残量]以下 ]の場合↓
|■ピクチャエフェクト:3001 [色調整] R100/G-100/B-100 (0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:3001 [色調整] R100/G100/B100 (0)フレーム
|■
◇分岐終了◇
■条件分岐(変数): 【1】CSelf15[満腹度] が CSelf30[満腹度残量]以下
-◇分岐: 【1】 [ CSelf15[満腹度] が CSelf30[満腹度残量]以下 ]の場合↓
|■ピクチャエフェクト:3003 [色調整] R100/G-100/B-100 (0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:3003 [色調整] R100/G100/B100 (0)フレーム
|■
◇分岐終了◇
■条件分岐(変数): 【1】V1[メニューフラグ] が 1以上
-◇分岐: 【1】 [ V1[メニューフラグ] が 1以上 ]の場合↓
|■ピクチャ消去:3000 ~ 3004 / 0(0)フレーム
|■
-◇上記以外
|▼ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
|▼ 表示処理
|▼ ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
|■DB読込(可変): CSelf18[キャラ] = 可変DB[タイプパーティ情報 項目主人公の項目番号]
|▼
|▼ 可変ステータス(0)データ(主人公)満腹度(60)
|■ピクチャ表示:3000 [左上]ウィンドウ「自作ウィンドウベース」サイズ[90,50] X:0 Y:0 / 0(0)フレーム / パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■DB読込(可変): CSelf15[満腹度] = 可変DB[ステータス:CSelf18[キャラ]:満腹度]
|■DB読込(可変): CSelf25[Max満腹度] = 可変DB[ステータス:CSelf18[キャラ]:最大満腹度]
|■DB読込(可変): CSelf16[HP] = 可変DB[ステータス:CSelf18[キャラ]:HP]
|■DB読込(可変): CSelf26[MaxHP] = 可変DB[ステータス:CSelf18[キャラ]:最大HP]
|■ピクチャ表示:3001 [左上]文字列[\cself[16] / \cse] X:28 Y:5 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:3002 [左上]文字列[\i[60]] X:8 Y:5 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:3003 [左上]文字列[\cself[15] / \cse] X:28 Y:18 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:3004 [左上]文字列[\i[61]] X:8 Y:18 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|▼ 直前の主人公座標と異なる場合だけエンカウント値を加算 座標が同じなら即終了
|■変数操作+: CSelf10[現在X] = 主人公 の X座標(精密)
|■変数操作+: CSelf11[現在Y] = 主人公 の Y座標(精密)
|■条件分岐(変数): 【1】CSelf10[現在X] が CSelf12[旧X]と同じ
|-◇分岐: 【1】 [ CSelf10[現在X] が CSelf12[旧X]と同じ ]の場合↓
| |■条件分岐(変数): 【1】CSelf11[現在Y] が CSelf13[旧Y]と同じ
| |-◇分岐: 【1】 [ CSelf11[現在Y] が CSelf13[旧Y]と同じ ]の場合↓
| | |■イベント処理中断
| | |■
| |◇分岐終了◇
| |■
|-◇上記以外
| |■
|◇分岐終了◇
|▼ セルフ12、13に直前の座標を格納しておく
|■変数操作: CSelf12[旧X] = CSelf10[現在X] + 0
|■変数操作: CSelf13[旧Y] = CSelf11[現在Y] + 0
|▼ 歩数カウント +1
|▼ 予備変数V9-4使用
|■変数操作: V9-4[歩数] += 1 + 0
|▼
|▼ 移動したときにリセフラカウント
|■条件分岐(変数): 【1】V9-4[歩数] が 0と同じ
|-◇分岐: 【1】 [ V9-4[歩数] が 0と同じ ]の場合↓
| |■変数操作: CSelf20[歩数リセフラグ] = 0 + 0
| |■
|-◇上記以外
| |■変数操作: CSelf20[歩数リセフラグ] += 1 + 0
| |■
|◇分岐終了◇
|▼
|■回数付きループ [ 1 ]回
| |▼ 5歩ごとに満腹度-1
| |▼ (スタート位置で1歩カウントされる)
| |■条件分岐(変数): 【1】CSelf20[歩数リセフラグ] が 5と同じ
| |-◇分岐: 【1】 [ CSelf20[歩数リセフラグ] が 5と同じ ]の場合↓
| | |■変数操作: CSelf15[満腹度] -= 1 + 0
| | |■変数操作: CSelf30[満腹度残量] = CSelf25[Max満腹度] / 3
| | |■条件分岐(変数): 【1】CSelf15[満腹度] が 0以下
| | |-◇分岐: 【1】 [ CSelf15[満腹度] が 0以下 ]の場合↓
| | | |■変数操作: CSelf15[満腹度] = 0 + 0
| | | |■
| | |◇分岐終了◇
| | |■可変DB書込:DB[ステータス:CSelf18[キャラ]:満腹度] = CSelf15[満腹度]
| | |▼
| | |■変数操作: CSelf20[歩数リセフラグ] = 0 + 0
| | |■
| |◇分岐終了◇
| |▼ 満腹度が0のときHPが-1づつ減る
| |■条件分岐(変数): 【1】CSelf15[満腹度] が 0と同じ
| |-◇分岐: 【1】 [ CSelf15[満腹度] が 0と同じ ]の場合↓
| | |■ウェイト:20 フレーム
| | |■変数操作: CSelf16[HP] -= 1 + 0
| | |■変数操作: CSelf31[HP残量] = CSelf26[MaxHP] / 3
| | |■条件分岐(変数): 【1】CSelf16[HP] が 0未満
| | |-◇分岐: 【1】 [ CSelf16[HP] が 0未満 ]の場合↓
| | | |■変数操作: CSelf16[HP] = 0 + 0
| | | |▼ HP=0で GAMEOVER
| | | |■
| | |◇分岐終了◇
| | |■可変DB書込:DB[ステータス:CSelf18[キャラ]:HP] = CSelf16[HP]
| | |■
| |◇分岐終了◇
| |■
|◇ループここまで◇◇
|■
◇分岐終了◇
歩いたかどうかを監視するため起動条件は「並列実行(常時)」で、左上にインターフェイスとして表示させる処理も一緒に記述しています。
まず、可変DBのキャラクター(主人公)の項目にHPやらを設定する箇所に、満腹度とMax満腹度の2つを設定しておきます。
通常変数の[メニューフラグ]は、自作のメニュー表示コモンに使用している通常変数で…このメニューフラグが1以上の時にメニュー画面が表示されている判定になっています。なので、メニューが表示されているとき(メニューフラグが1以上)はインターフェイスをピクチャ消去で非表示にするようにします。