ウディタ解体記03

ウディタ解体記 学習紹介~learning~

ウディタ解体記

おさらい

まずは、これまでのおさらい。
ウディタ初期にあるコモンイベントで並列実行(常時)を起動条件とするものは2つある。

コモンイベント番号 名前 (コマンド行数)
048 X[共]基本システム自動初期化 (217)
126 X[移]歩行時_並列キー処理 (126

[048-X[共]基本システム自動初期化]を、
0行~95行通して見てみると、

1.可変データベースの「主人公ステータス」内の「装備中の武器」の開始番号をセット。
2.初期化が終わってるかどうかの確認。終わってる場合は以下の処理をキャンセル。
3.Game.exeのバージョンの確認後、画面サイズの補正値と基本フォントサイズの格納をしている。
4.1~3が終わったら終了フラグに1を入れていると分かった。

96行~148行のコマンド「その他のパラメーター初期化」では、

主に可変データベースの「基本システム変数」の下記の各値を初期化および設定。
・敵/味方の最大数
・セーブ可能数
1ページのセーブ数/何ページまでかの値/セーブ可能かのフラグ
・コンフィグの設定
キー位置保存/戦闘時キー連打などのフラグ
・キーリピートフレーム数の設定
・決定、選択、キャンセルの各SE
・文字影をつけるかのフラグ
・選択肢のカーソル表示時に中央部分の処理の設定
・メッセージ速度
・仲間の車間距離
その後に仲間内の隙間の処理や重複の処理が呼ばれていた。

今日はその後の149行~である。

「キャラクターの装備を、武器コードと防具コードに変換する」

キャラクターの装備を、武器コードと防具コードに変換する(149行~203行)
詳しくは「キャラクターの装備を、武器(コード20000~) と 防具(コード30000~) に変換する」
コマンド17
152行まではコメント
153行
最大処理数”に可変データベース「”タイプ”主人公ステータスの”データ”数」を設定する。
154行コメント/全キャラ分のループ
155行
変数操作、”処理中位置”を-1で設定。(+1した時0になるように)
156行
最大処理数”回のループ開始。(~203行まで、今回のほぼすべてのコマンドを含んでいる。)
157行
変数操作で”処理中位置”に+1を加算する。
158行
ユーザデータベースのシステム設定[17]のシステム基本設定[0]の装備可能欄数[22]を”装備種類Max数”に設定。
159行コメント/ここから装備事にチェックするループ
160行(155行の操作を”注目装備”で行っている)
変数操作、”注目装備”を-1で設定。(+1した時0になるように)
161行
注目装備位置(DB側)”に「”装備チェック開始位置-1」を設定。

コマンド18
162行
装備種類Max数”回のループ開始
163行コメント/元のコード番号(0~9999)を読む
164行
変数操作で”注目装備位置(DB側)”に+1を加算する。
(”装備チェック開始位置”が+1され「28」になる)
(※12行で28を設定している)
165行
変数操作で”注目装備”に+1を加算する。
(”注目装備”が+1され「0」になる)
166行
一時保存コード”に可変データベース[主人公ステータス/”処理中位置”/”注目装備位置(DB側)”]を設定。
(※12行で設定した”装備チェック開始位置”がここで活用される。)

コマンド19
今回の場合
[主人公ステータス/”処理中位置”=0/”注目装備位置(DB側)=28”]のため、
[0:主人公ステータス/0:ヒーローさん/28:装備中の武器]になる。

コマンド20
167行
注目装備”が0と同じOR”注目装備”1以上かでの条件分岐
注目装備”が0と同じ場合のコマンド 168~175行
注目装備”が1以上の場合のコマンド 177~184行

注目装備”が0と同じ場合(168~175行){
169行コメント/コードが0以上なら、武器コード(20000~)に変換
170行
166行の”一時保存コード”が0以上での条件分岐
一時保存コード”が0以上の場合{
172行
一時保存コード”に「”一時保存コード%10000」を設定
173行
一時保存コード”に20000を加算

注目装備”が1以上の場合(177~184行){
178行コメント/コードが0以上なら、防具コード(30000~)に変換
179行
166行の”一時保存コード”が0以上での条件分岐
一時保存コード”が0以上の場合{
181行
一時保存コード”に「”一時保存コード%10000」を設定
182行
一時保存コード”に30000を加算

187行コメント/格納しなおす
188行
一時保存コード”を[主人公ステータス/”処理中位置”/”注目装備位置(DB側)]に代入。

163行へ(”装備種類Max数”回ループに戻る)

コマンド21
192~202行
192行コメント/自然回復値を0に戻す
193行
可変データベース[[17]×主人公一時DB/”処理中位置”/”[11][一時]HP自然増減値”]に0を代入。
194行
可変データベース[[17]×主人公一時DB/”処理中位置”/”[12][一時]sp自然増減値”]に0を代入。

て、ことですでに1時間過ぎていたので、今日はここまで。

195行~「キャラクターの装備を、武器コードと防具コードに変換する
205行~の「最新セーブデータの取得
211行~の「黒から徐々にフェードイン
からについてはまた後日。

まとめ

149~194行「キャラクターの装備を、武器コードと防具コードに変換する
内部的にみてみると、
主人公になりうるデータ数分の装備を検索し武器20000~か防具30000~に分類する内容だった。

その後に自然回復値の設定をした。

前回からのを踏まえるとループ前などにー1を代入し+1を加えループを始めるパターンがあると感じた。

明日もレッツウディタ♪

コメント

タイトルとURLをコピーしました