048X共基本システム自動初期化

Last-modified: 2019-03-22 (金) 13:40:06
コモン

▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】

▼ ―――――――――――――――――――――――――――――――――――
▼ 【このコモンイベント内で操作しているデータベース】

▼ 【ここから呼び出している別コモンイベント】

▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ ※「主人公ステータス」の「装備中の武器」が始まる項目番号をここで指定します。
■変数操作: CSelf90[装備チェック開始位置] = 28 + 0
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ すでに初期化が終わってたらここで停める

■条件分岐(変数): 【1】 CSelf99[終了フラグ] が 1 以上

◇分岐: 【1】 [ CSelf99[終了フラグ] が 1 以上 ]の場合↓};
▼ 終了フラグが立ってたら実質上処理しない(長いウェイト)
■ウェイト:999999 フレーム
&color(#6469c8){■イベント処理中断

◇分岐終了◇

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 画面サイズ補正値と基本フォントサイズを格納
▼ (ちなみに、メニュー実行時と戦闘開始時にも一応格納し直しています)
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■条件分岐(変数): 【1】 Sys115:[読]Game.exeバージョン(x100) が 220 以上 【2】 Sys115:[読]Game.exeバージョン(x100) が 220 未満

◇分岐: 【1】 [ Sys115:[読]Game.exeバージョン(x100) が 220 以上 ]の場合↓
■回数付きループ [ 1 ]回
▼ 新処理 解像度の縦横から引き延ばし倍率を算出
■変数操作: CSelf25[一時変数A] = Sys116:[読]画面サイズX / 32
■変数操作: CSelf26[一時変数B] = Sys117:[読]画面サイズY / 24
■可変DB書込:DB[ 基本システム用変数 : 97 : 0 ] (18 : 座標倍率X[x10] : 数値) = CSelf25[一時変数A]
■可変DB書込:DB[ 基本システム用変数 : 98 : 0 ] (18 : 座標倍率Y[x10] : 数値) = CSelf26[一時変数B]
▼ 使わないが、旧バージョン対応の配布コモンイベント用にいちおう旧座標倍率にも縦サイズで入れておく
■可変DB書込:DB[ 基本システム用変数 : 3 : 0 ] (18 : [×未使用] 座標倍率[x10] : 数値) = CSelf26[一時変数B]
▼ フォントサイズを計算&代入
■可変DB書込:DB[ 基本システム用変数 : 5 : 0 ] (18 : システム基本フォントサイズ : 数値) = CSelf26[一時変数B]
■変数操作: CSelf25[一時変数A] = CSelf26[一時変数B] * 8
■変数操作: CSelf25[一時変数A] /= 10 + 0
■可変DB書込:DB[ 基本システム用変数 : 6 : 0 ] (18 : システムミニフォントサイズ : 数値) = CSelf25[一時変数A]
■変数操作: CSelf25[一時変数A] = CSelf26[一時変数B] * 6
■変数操作: CSelf25[一時変数A] /= 10 + 0
■可変DB書込:DB[ 基本システム用変数 : 7 : 0 ] (18 : システム最小フォントサイズ : 数値) = CSelf25[一時変数A]
■変数操作: CSelf25[一時変数A] = CSelf26[一時変数B] * 12
■変数操作: CSelf25[一時変数A] /= 10 + 0
■変数操作: Sys8:基本フォントサイズ = CSelf25[一時変数A] + 0
■変数操作: CSelf25[一時変数A] = CSelf26[一時変数B] * 5
■変数操作: CSelf25[一時変数A] /= 10 + 0
■変数操作: Sys23:ルビのフォントサイズ = CSelf25[一時変数A] + 0

◇ループここまで◇◇

◇分岐: 【2】 [ Sys115:[読]Game.exeバージョン(x100) が 220 未満 ]の場合↓
■回数付きループ [ 0 ]回
▼ 旧処理 昔はタイルサイズと解像度が比例していたのでSys84で判定していました

&color(#28283c){■条件分岐(変数): 【1】 Sys84:画面サイズ(0=320x240

◇分岐: 【1】 [ Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 ・ が 0 と同じ ]の場合↓
■可変DB書込:DB[ 基本システム用変数 : 97 : 0 ] (18 : 座標倍率X[x10] : 数値) = 10
■可変DB書込:DB[ 基本システム用変数 : 98 : 0 ] (18 : 座標倍率Y[x10] : 数値) = 10
■可変DB書込:DB[ 基本システム用変数 : 5 : 0 ] (18 : システム基本フォントサイズ : 数値) = 10
■可変DB書込:DB[ 基本システム用変数 : 6 : 0 ] (18 : システムミニフォントサイズ : 数値) = 8
■可変DB書込:DB[ 基本システム用変数 : 7 : 0 ] (18 : システム最小フォントサイズ : 数値) = 6
■変数操作: Sys8:基本フォントサイズ = 12 + 0
■変数操作: Sys23:ルビのフォントサイズ = Sys8:基本フォントサイズ / 2
▼ 使わないが旧バージョン対応の配布コモンイベントで使うかもしれないので旧座標倍率にも格納
■可変DB書込:DB[ 基本システム用変数 : 3 : 0 ] (18 : [×未使用] 座標倍率[x10] : 数値) = 10

◇分岐: 【2】 [ Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 ・ が 1 と同じ ]の場合↓
■可変DB書込:DB[ 基本システム用変数 : 97 : 0 ] (18 : 座標倍率X[x10] : 数値) = 20
■可変DB書込:DB[ 基本システム用変数 : 98 : 0 ] (18 : 座標倍率Y[x10] : 数値) = 20
■可変DB書込:DB[ 基本システム用変数 : 5 : 0 ] (18 : システム基本フォントサイズ : 数値) = 20
■可変DB書込:DB[ 基本システム用変数 : 6 : 0 ] (18 : システムミニフォントサイズ : 数値) = 16
■可変DB書込:DB[ 基本システム用変数 : 7 : 0 ] (18 : システム最小フォントサイズ : 数値) = 12
■変数操作: Sys8:基本フォントサイズ = 24 + 0
■変数操作: Sys23:ルビのフォントサイズ = Sys8:基本フォントサイズ / 2
▼ 使わないが旧バージョン対応の配布コモンイベントで使うかもしれないので旧座標倍率にも格納
■可変DB書込:DB[ 基本システム用変数 : 3 : 0 ] (18 : [×未使用] 座標倍率[x10] : 数値) = 20

◇分岐: 【3】 [ Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 ・ が 2 と同じ ]の場合↓
■可変DB書込:DB[ 基本システム用変数 : 97 : 0 ] (18 : 座標倍率X[x10] : 数値) = 25
■可変DB書込:DB[ 基本システム用変数 : 98 : 0 ] (18 : 座標倍率Y[x10] : 数値) = 25
■可変DB書込:DB[ 基本システム用変数 : 5 : 0 ] (18 : システム基本フォントサイズ : 数値) = 26
■可変DB書込:DB[ 基本システム用変数 : 6 : 0 ] (18 : システムミニフォントサイズ : 数値) = 20
■可変DB書込:DB[ 基本システム用変数 : 7 : 0 ] (18 : システム最小フォントサイズ : 数値) = 15
■変数操作: Sys8:基本フォントサイズ = 30 + 0
■変数操作: Sys23:ルビのフォントサイズ = Sys8:基本フォントサイズ / 2
▼ 使わないが旧バージョン対応の配布コモンイベントで使うかもしれないので旧座標倍率にも格納
■可変DB書込:DB[ 基本システム用変数 : 3 : 0 ] (18 : [×未使用] 座標倍率[x10] : 数値) = 25

◇分岐終了◇


◇ループここまで◇◇

◇分岐終了◇

■変数操作: CSelf99[終了フラグ] = 1 + 0

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ その他のパラメータ初期化
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 敵・味方の最大数
■可変DB書込:DB[ 基本システム用変数 : 51 : 0 ] (18 : システム上最大パーティー人数 : 数値) = 6
■可変DB書込:DB[ 基本システム用変数 : 69 : 0 ] (18 : [戦闘]敵の最大数(システム) : 数値) = 7
▼ セーブ可能数
■可変DB書込:DB[ 基本システム用変数 : 52 : 0 ] (18 : 1ページセーブ数 : 数値) = 4
■可変DB書込:DB[ 基本システム用変数 : 53 : 0 ] (18 : セーブページ数 : 数値) = 5
■可変DB書込:DB[ 基本システム用変数 : 33 : 0 ] (18 : [システム]セーブ可能? : 数値) = 1
▼ コンフィグ設定
■可変DB書込:DB[ 基本システム用変数 : 56 : 0 ] (18 : [システム]キー位置保存 : 数値) = 1
■可変DB書込:DB[ 基本システム用変数 : 58 : 0 ] (18 : [システム]戦闘時キー連打 : 数値) = 0
■イベントの挿入[名]: ["X[移]キーリピート設定"] <コモンEv 115> / 2
▼ その他ゲームの基本設定
■変数操作: Sys17:選択肢SE番号:決定(Sys3) = 0 + 0
■変数操作: Sys18:選択肢SE番号:選択(Sys3) = 1 + 0
■変数操作: Sys19:選択肢SE番号:キャンセル(Sys3) = 2 + 0
■変数操作: Sys21:文字影付ける?(0=OFF,1以上=ON) = 1 + 0
■変数操作: Sys22:選択肢カーソル表示モード?(0=通常,1=加算) = 1 + 0
■変数操作: Sys9:メッセージ速度( X 文字/秒) = 500 + 0
■変数操作: Sys37:仲間の車間距離(1あたり1歩) = 2 + 0
■イベントの挿入[名]: ["X[移]パーティー情報計算"] <コモンEv 79>
■回数付きループ [ 1 ]回
▼ 仲間が重複してた場合は外す処理
■DB読込(可変): CSelf16[仲間探索回数] = 可変DB[ 基本システム用変数 : 51 : 0 ] (18 : システム上最大パーティー人数 : 数値)
■変数操作: CSelf17[現在注目仲間位置] = -1 + 0
■回数付きループ [ CSelf16[仲間探索回数] ]回
■変数操作: CSelf17[現在注目仲間位置] += 1 + 0
■イベントの挿入[名]: CSelf19[一時主人公ID] = ["X[移]選択位置主人公ID取得"] <コモンEv 105> / CSelf17[現在注目仲間位置]
■変数操作: CSelf18[残り調査回数] = CSelf16[仲間探索回数] - CSelf17[現在注目仲間位置]
■変数操作: CSelf18[残り調査回数] -= 1 + 0
■変数操作: CSelf22[二次注目位置] = CSelf17[現在注目仲間位置] + 0
■回数付きループ [ CSelf18[残り調査回数] ]回
■変数操作: CSelf22[二次注目位置] += 1 + 0
■イベントの挿入[名]: CSelf23[二次主人公ID] = ["X[移]選択位置主人公ID取得"] <コモンEv 105> / CSelf22[二次注目位置]

■条件分岐(変数): 【1】 CSelf23[二次主人公ID] が CSelf19[一時主人公ID] と同じ

◇分岐: 【1】 [ CSelf23[二次主人公ID] が CSelf19[一時主人公ID] と同じ ]の場合↓};
■イベントの挿入[名]: ["X[移]選択位置主人公ID設定"] <コモンEv 104> / CSelf22[二次注目位置] / -1

◇分岐終了◇


◇ループここまで◇◇

◇ループここまで◇◇

◇ループここまで◇◇

■トランジションタイプ指定: [瞬間表示] 10フレーム(ウェイト有り)
■動作指定:主人公 / 移動速度を設定 => 3
■イベントの挿入[名]: ["X[移]パーティー情報計算"] <コモンEv 79>
■イベントの挿入[名]: ["X[移]パーティー画像再設定"] <コモンEv 80>

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ キャラクターの装備を、武器(コード20000~) と 防具(コード30000~) に変換する
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■DB読込(可変): CSelf10[最大処理数] = 可変DB[タイプ主人公ステータス(0)のデータ数]
▼ 全キャラ分のループ
■変数操作: CSelf11[処理中位置] = -1 + 0
■回数付きループ [ CSelf10[最大処理数] ]回
■変数操作: CSelf11[処理中位置] += 1 + 0
■DB読込(ユーザ): CSelf13[装備種類Max数] = ユーザDB[ システム設定 : 0 : 装備可能欄数 ] (17 : システム基本設定 : 22)
▼ ここから装備ごとにチェックするループ
■変数操作: CSelf14[注目装備] = -1 + 0
&color(#820000){■変数操作: CSelf12[注目装備位置(DB側)] = CSelf90[装備チェック開始位置] - 1
■回数付きループ [ CSelf13[装備種類Max数] ]回
▼ 元のコード番号(0~9999)を読む
■変数操作: CSelf12[注目装備位置(DB側)] += 1 + 0
■変数操作: CSelf14[注目装備] += 1 + 0
■DB読込(可変): CSelf20[一時保存コード] = 可変DB[ 主人公ステータス : CSelf11[処理中位置] : CSelf12[注目装備位置(DB側)] ] (0 : - : -)

■条件分岐(変数): 【1】 CSelf14[注目装備] が 0 と同じ 【2】 CSelf14[注目装備] が 1 以上

◇分岐: 【1】 [ CSelf14[注目装備] が 0 と同じ ]の場合↓
▼ コードが0以上なら、武器コード(20000~)に変換

■条件分岐(変数): 【1】 CSelf20[一時保存コード] が 0 以上

◇分岐: 【1】 [ CSelf20[一時保存コード] が 0 以上 ]の場合↓
■変数操作: CSelf20[一時保存コード] = CSelf20[一時保存コード] % 10000
■変数操作: CSelf20[一時保存コード] += 20000 + 0

◇分岐終了◇

◇分岐: 【2】 [ CSelf14[注目装備] が 1 以上 ]の場合↓
&color(#00a000){▼ コードが0以上なら、防具コード(30000~)に変換

■条件分岐(変数): 【1】 CSelf20[一時保存コード] が 0 以上

◇分岐: 【1】 [ CSelf20[一時保存コード] が 0 以上 ]の場合↓};
■変数操作: CSelf20[一時保存コード] = CSelf20[一時保存コード] % 10000
■変数操作: CSelf20[一時保存コード] += 30000 + 0

◇分岐終了◇


◇分岐終了◇

▼ 格納し直す
■可変DB書込:DB[ 主人公ステータス : CSelf11[処理中位置] : CSelf12[注目装備位置(DB側)] ] (0 : - : -) = CSelf20[一時保存コード]

◇ループここまで◇◇

▼ 自然回復値を0に戻す
■可変DB書込:DB[ ×主人公一時DB : CSelf11[処理中位置] : [一時]HP自然増減値 ] (17 : - : 11) = 0
■可変DB書込:DB[ ×主人公一時DB : CSelf11[処理中位置] : [一時]SP自然増減値 ] (17 : - : 12) = 0
▼ 一時パラメータを計算
■イベントの挿入[名]: ["X[移]一時ステ計算<初期化>"] <コモンEv 122> / CSelf11[処理中位置]
■イベントの挿入[名]: ["X[移]一時ステ計算<装備補正>"] <コモンEv 123> / CSelf11[処理中位置]
■イベントの挿入[名]: ["X[移]一時ステ計算<状態補正>"] <コモンEv 124> / CSelf11[処理中位置]
▼ HP・SPを満タンに
■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf11[処理中位置] / 22:HP / 999999 / 0:なし
■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf11[処理中位置] / 23:SP / 999999 / 0:なし

◇ループここまで◇◇};

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 最新セーブデータ番号をSystem.savから取得 (System.savの通常変数0番を最終セーブデータ番号として使用)
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■文字列操作:CSelf5 = "Save/System.sav"
■セーブデータの内容読込: CSelf20[一時保存コード] = セーブデータ[CSelf5]の V0[[サンプルゲーム]コック出現]};
■変数操作: Sys25:現在セーブデータ番号(0~) = CSelf20[一時保存コード] + 0
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 黒から徐々にフェードイン
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ トランジションを実行するだけでなめらかに初期表示できる

■ウェイト:1 フレーム