WOLF RPGエディター(ウディタ)[3.337]/基本システム【サイトトップへ戻る】
■コモンイベント[048:X[共]基本システム自動初期化]の解説
(更新:2024/05/18)


コモンイベント[048:X[共]基本システム自動初期化]について解説します。


ショートカット
■コモンイベント[048:X[共]基本システム自動初期化]って何?
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

基本システムに関する説明は別ページに記載しています。
【基本システムに関する説明ページを見る】

コモンイベントの一覧と補足説明のページも用意しています。
【コモンイベントの一覧と補足説明のページを開く】


  
■コモンイベント[048:X[共]基本システム自動初期化]って何?

コモンイベント[048:X[共]基本システム自動初期化]では、
可変DB[18:基本システム用変数]システム変数主人公に関する初期設定を行います。

なお、【文章の表示】【選択肢】に関連するシステム変数の設定は、
コモンイベント[063:X[共]メッセージウィンドウ]にて行っています。



起動条件が「並列実行(常時)」になっているため、常にイベント処理は動き続けていますが、
26行目以降にある初期設定用のイベントコマンドは、ゲーム開始時の1回だけ実行され、その後は18行目にある…
■ウェイト:999999 フレーム
の処理で、ずっと待機になります。

セーブデータをロードした時も、26行目以降にある初期設定のイベントコマンドは実行されず、
18行目にあるウェイトでずっと待機になります。


▲トップへ戻る▲


  
■こうゆう時にこのコモンイベントを改造する

以下のような改造を行いたい時にこのコモンイベントを改造します。

◆フォントサイズやシステム変数の初期設定を変えたい。
◆タイトル画面のマップ以外から始めた時のテストプレイ用の設定を行いたい。
◆ロード時に古いセーブデータの設定を修正したい。



▼テストプレイ用の設定に関する補足

例えば26行目に…
■条件分岐(変数): 【1】 Sys112:[読]テストプレイ中?(1=YES) が 1 と同じ
-◇分岐: 【1】 [ Sys112:[読]テストプレイ中?(1=YES) が 1 と同じ ]の場合↓
|■イベントの挿入[名]: ["○お金の増減"] <コモンEv 3> / 999999 / 0:なし
|■
◇分岐終了◇
を追加すると、テストプレイでゲームを開始した時に、お金が「999999」になります。

このコモンイベント[048:X[共]基本システム自動初期化]に設定すると、
タイトル画面以外に「ゲーム開始位置」を設定した場合でも、
テストプレイ用のイベント設定を実行する事ができます。



▼古いセーブデータの設定を修正に関する補足

このコモンイベント[048:X[共]基本システム自動初期化]は、セーブデータをロードした時に必ず実行されるため、
古いセーブデータを修正するイベントを設定するのに適しています。

例えば主人公の最大レベルを「50」にしてゲームを公開した場合で、
公開後のバージョンアップで主人公の最大レベルを「60」に変えた場合、
古いセーブデータでは「50」のままになります。

このような場合は、コモンイベント[048:X[共]基本システム自動初期化]0行目可変DBを修正する設定を置く事で、
古いセーブデータをロードした時に、自動的に最新バージョンの設定に修正する事ができます。


▲トップへ戻る▲


  
■[入力の数/結果を返す]について

コモンイベント[048:X[共]基本システム自動初期化][入力の数/結果を返す]には、何も設定されていません。


▲トップへ戻る▲


  
■コモンイベント呼び出しの一覧

コモンイベント[048:X[共]基本システム自動初期化]から呼び出しているコモンイベントの一覧です。

コモンイベント[048:X[共]基本システム自動初期化]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
070:X[移]パラメータ増減 主人公のHPとSPを全回復させる時に使用。
079:X[移]パーティー情報計算 可変DB[6:パーティー情報]項目[1〜6]に保存されている主人公IDで、
「5、-1、8、-1、12、-1」などと途中に未設定の主人公IDがある場合は、
「5、8、12、-1-1-1」などと前に詰める処理を実行。
戦闘中の場合は、戦闘用の可変DB(可変DB[10〜13])も前に詰め、
未設定の主人公の可変DB[10〜13]のデータを初期化します。
また基本システム内でよく使われれいる可変DB[18:基本システム用変数]
データ[4:現在パーティー人数]の値もここで設定します。
080:X[移]パーティー画像再設定 パーティ内にいる主人公の歩行グラフィックを画面上に表示。
104:X[移]選択位置主人公ID設定 パーティの並び順(可変DB[6:パーティー情報]項目[1〜6])で主人公IDを設定。
105:X[移]選択位置主人公ID取得 パーティの並び順(可変DB[6:パーティー情報]項目[1〜6])から主人公IDを取得。
115:X[移]キーリピート設定 【選択肢】【キー入力】のキー押しの反応を設定。
122:X[移]一時ステ計算<初期化> 可変DB[17:×主人公一時DB]を初期化。
(HPや攻撃力などを可変DB[0:主人公ステータス]から複製)
123:X[移]一時ステ計算<装備補正> 可変DB[17:×主人公一時DB]に装備品による能力値の増減を設定。
124:X[移]一時ステ計算<状態補正> 状態変化による能力値の増減を可変DB[17:×主人公一時DB]に設定。

【呼び出しコモンイベントの一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[048:X[共]基本システム自動初期化]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
5 *名前なし* システム用のセーブデータのファイルアドレスを設定する時に使用。
10 最大処理数 可変DB[0:主人公ステータス]データ数(主人公の数)を取得。
11 処理中位置 可変DB[0:主人公ステータス]データIDを設定。
12 注目装備位置(DB側) 可変DB[0:主人公ステータス]の装備品のIDを保存する項目の項目ID(28〜35)
設定し、装備品のIDを出力する時に使用。
13 装備種類Max数 装備品の数(ユーザーDB[17:システム設定]項目[22:装備可能欄数])を取得し、
初期の装備品を調べる時のループ回数の設定で使用。
14 注目装備 可変DB[0:主人公ステータス]の装備品のIDを取得する時に、
最初に取得したIDは「武器」、2つ目以降を「防具」と処理する時に使用。
16 仲間探索回数 可変DB[18:基本システム用変数]データ[51:システム上最大パーティー人数]を取得し、
ループ回数の設定で使用し、パーティの定員分だけループさせます。
17 現在注目仲間位置 コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出す時に、
パーティの何番目の主人公ID(可変DB[0:主人公ステータス]データID)を
調べるのかを指定する時に使用。
設定値「0〜5」で「0=1番目のID取得」「1=2番目のID取得」と設定。
18 残り調査回数 パーティ内に同じ主人公IDが重複していないかどうかを調べる時に、
その調べる人数(ループ回数)を設定する時に使用。
例えば1番目の主人公IDと同じIDがパーティ内にいるかどうかを調べる時には、
2〜6番目の主人公IDを調べる事になるので、このセルフ[18]には「5」を設定し、
5回ループさせて、同じ主人公IDがいないかどうかを一人ずつ調べます。
2番目の主人公IDと同じIDがいるかどうかを調べる時には、
既に1番目と2番目は比較済みなので、1番目の除いた残りの4人を調べるため、
このセルフ[18]には「4」を設定します。
19 一時主人公ID コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出した時に、
指定したパーティの位置にいる主人公IDを取得する時に使用。
20 一時保存コード 装備品のデータIDを取得する時に使用。
武器はユーザーDB[3:武器]データIDを取得し、
防具はユーザーDB[4:防具]データIDを取得します。
22 二次注目位置 コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出す時に、
パーティの何番目の主人公ID(可変DB[0:主人公ステータス]データID)を
調べるのかを指定する時に使用。
使い方はセルフ[17]と同じですが、
こちらは主人公IDの重複を確認する時の確認相手を取得する時に使用。
23 二次主人公ID コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出した時に、
指定したパーティの位置にいる主人公IDを取得する時に使用。
使い方はセルフ[19]と同じですが、
こちらは主人公IDの重複を確認する時の確認相手を取得する時に使用。
25 一時変数A 可変DB[18:基本システム用変数]システム変数に設定する値の作成に使用。
26 一時変数B 可変DB[18:基本システム用変数]システム変数に設定する値の作成に使用。
90 装備チェック開始位置 可変DB[0:主人公ステータス]の初期装備を調べる時に、
最初の項目番号となる「28」(項目[28:装備中の武器])を設定。
99 終了フラグ コモンイベント[048:X[共]基本システム自動初期化]の初期化処理が1回実行されたら、
このセルフ[99]を「1」にして、これ以降は初期化処理が実行されないようにします。

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■イベントコマンドの解説

イベントコマンドの解説を行います。

なお、見た目で設定内容が分かるような簡単なイベントコマンドの解説は省略しています。

処理内容
10-12 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ ※「主人公ステータス」の「装備中の武器」が始まる項目番号をここで指定します。
可変DB[0:主人公ステータス]項目[28〜35]にある初期装備を調べるため、
最初の項目IDである「28」をセルフ[90]に設定。
13-14 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ すでに初期化が終わってたらここで停める
15-21 ■条件分岐(変数): 【1】 CSelf99[終了フラグ] が 1 以上
22行目以降にある初期化の処理を一度実行している場合は分岐。
  17-19 ▼ 終了フラグが立ってたら実質上処理しない(長いウェイト)
ウェイト「999999(約4時間37分47秒)」を実行し、他の処理の邪魔にならないように長期待機を実行。
万が一ウェイトが終了しても、【イベント処理中断】が実行して、再び「999999」が実行されます。
22-25 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 画面サイズ補正値と基本フォントサイズを格納
▼ (ちなみに、メニュー実行時と戦闘開始時にも一応格納し直しています)
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
26-49 ■条件分岐(変数): 【1】 Sys115:[読]Game.exeバージョン(x100) が 220 以上
ウディタのバージョンが[2.20]以上の場合は分岐。
  29-33 ▼ 新処理  解像度の縦横から引き延ばし倍率を算出
ゲーム画面のサイズ[320×240[x2]]の横縦を「10」にした時のゲーム画面のサイズを設定。
  34-35 ▼ 使わないが、旧バージョン対応の配布コモンイベント用にいちおう旧座標倍率にも縦サイズで入れておく
ゲーム画面のサイズ[320×240[x2]]の縦を「10」にした時のゲーム画面のサイズを設定。
ウディタ[2.20]以降の基本システムでは、
可変DB[18:基本システム用変数]データ[3:[×未使用] 座標倍率[x10]]は使用していませんが、
古いコモンイベント素材を使う事を考慮して、一応設定しています。
  36-52 ▼ フォントサイズを計算&代入
▼ フォントサイズはウィンドウの縦・横の小さい方を計算に使うよう修正 Ver3.00修正
ゲーム画面の縦横サイズの小さい方のサイズを基準にして、
可変DB[18:基本システム用変数]システム変数に画面サイズやフォントサイズを設定。
56-95 ◇分岐: 【2】 [ Sys115:[読]Game.exeバージョン(x100) が 220 未満 ]の場合↓
ウディタのバージョンが[2.20]未満の場合は分岐。
98 セルフ[99]に「1(初期設定済み」を設定し、初期設定が今後実行されないようにします。
100-121 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ その他のパラメータ初期化
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
可変DB[18:基本システム用変数]システム変数に基本システムで使用する値を設定。
122 コモンイベント[079:X[移]パーティー情報計算]を呼び出し、
可変DB[6:パーティー情報]項目[1〜6]で途中に未使用の主人公IDがある場合は、前に詰める処理を実行。
124-144 ▼ 仲間が重複してた場合は外す処理
可変DB[6:パーティー情報]項目[1〜6]の中に、
同じ主人公IDが二重に設定されていないかどうかをチェック。
例えば項目[2]項目[5]に同じ主人公IDがあった場合は、
後続の方(項目[5])の主人公IDを「-1」に変更する。
150 コモンイベント[079:X[移]パーティー情報計算]を呼び出し、
120-143行目の処理によって、可変DB[6:パーティー情報]項目[1〜6]の中に、
未設定の主人公IDが点在する状態になっている可能性があるため、再び前に詰める処理を実行。
151 コモンイベント[080:X[移]パーティー画像再設定]を呼び出し、
画面上の主人公の歩行グラフィックを表示。
153-155 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ キャラクターの装備を、武器(コード20000〜) と 防具(コード30000〜) に変換する
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
159-206 ■回数付きループ [ CSelf10[最大処理数] ]回
可変DB[0:主人公ステータス]にあるデータ数(主人公の数)だけループし、主人公ごとに初期設定を行います。
  162 ▼ ここから装備ごとにチェック するループ
  165-193 ■回数付きループ [ CSelf13[装備種類Max数] ]回
ユーザーDB[17:システム設定]項目[装備可能欄数](初期値[5])の数だけループ。
    166-191 ▼ 元のコード番号(0〜9999)を読む
基本システムの処理では、
武器は「20000〜29999(ユーザーDB[3:武器]のデータID+20000)」、
防具は「30000〜39999(ユーザーDB[4:防具]のデータID+30000)」で処理しているため、
項目[28]の値は「+20000」を実行して「武器コード」に変え、
項目[29〜35]の値は「+30000」を実行して「防具コード」に変える必要があります。
なお、項目[28〜35]の値が「-1以下」の場合は「装備無し」と言う事で、
武器コードや防具コードの変換は行われず、「-1以下」のままになります。
  195-204 ▼ 自然回復値を0に戻す
パラメータを初期化。
208-213 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 最新セーブデータ番号をSystem.savから取得 (System.savの通常変数0番を最終セーブデータ番号として使用)
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
セーブデータ「System.sav」の通常変数[0]の値を取得し、システム変数[25:現在セーブデータ番号(0〜)]に設定。
214-220 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 初期音量を50に変更 フォント太さも修正 ver3.00修正
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
音量とフォントの太さのシステム変数を設定。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

YADOT-WOLFトップ  気紛れな空間へ戻る  メール