可変DB[0-4]自動更新コモン
【更新:2024/07/07】



ウディタ[3.00]以降で利用できます。

【こちらをクリックするとダウンロードができます(14KB)】

2024/07/07 1.00 初期バージョン。



ショートカット
■可変DB[0-4]自動更新コモンとは
■当コモン素材の導入方法
■ファイルの保存先フォルダー位置
■オプション設定
■更新処理の仕様について
■使用に関して


  
■可変DB[0-4]自動更新コモンとは

セーブデータに保存されている
可変DB[0:主人公ステータス]
可変DB[1:┣ 技能習得Lv]
可変DB[2:┣ 主人公行動AI]
可変DB[3:┣ 属性耐性]
可変DB[4:┣ 状態耐性]

の5つの可変DBを自動的に最新版に更新するコモン素材です。

テストプレイモードでゲームを開始すると、最新版の可変DB[0〜4]のファイルが出力されます。
(テストプレイモードで無い場合はファイルは出力されません)

セーブデータをロードすると、出力されたファイルを使って可変DB[0〜4]が更新されます。



更新後の主人公のレベルや装備は、セーブデータにあるレベルや装備がそのまま維持されるため、
更新しても初期レベルや初期装備になる事はありません。


  
■当コモン素材の導入方法

ダウンロードしたデータは圧縮データになっているため、右クリック→「すべて展開」で解凍してください。

未使用のコモンIDを選択してから[読込]をクリックして、
ファイル「コモンイベント」を読み込んでください。



以上で導入完了です。



可変DB[0-4]の更新処理は、通常通りにテストプレイを行い、
通常通りにセーブデータをロードするだけで、自動的に更新されます。



■可変DBのデータ数に関して

処理できる可変DBのデータ数の上限は「5000」(データID=0〜4999)となります。

可変DBのデータ数が「1000」などと多い場合は、ロード時の更新処理にて処理落ちが発生します。

処理落ちが気になる場合は、オプション設定を変えて、出来る限り不要な更新を行わないようにしてください。


  
■ファイルの保存先フォルダー位置

コモンイベントの13行目にある…
■文字列操作:CSelf9[フォルダー位置] = "Kahen_Data/"
にて、可変DB[0-4]の出力ファイルを保存するフォルダーを設定します。

フォルダー名は「Kahen_Data」以外でも問題ありません。



フォルダー位置を「Data/Kahen_Data/」などとフォルダー[Data]の中に設定した場合は、
「ゲームデータの作成」の保存対象となり、作品を公開したあとの古いセーブデータも更新対象になります。

もしもフォルダー[Data]の中に設定した場合は、「ゲームデータの作成」を実行する前に一度テストプレイを実行し、
最新版の可変DB[0-4]をファイル出力してから「ゲームデータの作成」を実行ください。

なお、公開する作品で当コモンを利用する場合は、
下記オプション設定にて当コモンの仕様を確認した上でご利用ください。


  
■オプション設定

基本的にオプション設定は、初期設定のままでも問題ないと思いますが、
これは更新しない」などがある場合は、オプション設定を変更してください。

オプション設定のショートカット
■可変DB[0-4]の更新有無
■可変DB[0] 項目[0〜3](名前などの文字列)
■可変DB[0] 項目[5](限界レベル)
■可変DB[0] 項目[7][9-17](パラメータの初期基本値の保存)
■可変DB[0] 項目[28〜35](装備品)
■可変DB[0] 項目[36〜45](装備可能タイプ)
■可変DB[0] 項目[46〜53](戦闘用コマンド)
■可変DB[0] 項目[59以降](追加した項目)
■可変DB[1] 更新前から習得済みを引き継ぐ(更新データに引き継ぐ技能の登録がある場合)
■可変DB[1] 更新前から習得済みを引き継ぐ(更新データに引き継ぐ技能の登録が無い場合)
■コモン素材「パラメータを増やすコモン」と連動

■可変DB[0-4]の更新有無

▼コモンイベント[33〜37行目]
■変数操作: CSelf80[[OP]可変0] = 1 + 0
■変数操作: CSelf81[[OP]可変1] = 1 + 0
■変数操作: CSelf82[[OP]可変2] = 1 + 0
■変数操作: CSelf83[[OP]可変3] = 1 + 0
■変数操作: CSelf84[[OP]可変4] = 1 + 0

変数の値 設定内容 補足
0 更新しない 可変DBのファイルは出力されず、
仮にファイルが出力されていたとしても、ロード時の更新処理は実行されません。
1 更新する ファイルを出力し、古いセーブデータを更新します。
■可変DB[0] 項目[0〜3](名前などの文字列)

▼コモンイベント[45〜48行目]
■変数操作: CSelf86[[OP]可変0 主人公名] = 1 + 0
■変数操作: CSelf87[[OP]可変0 肩書き] = 1 + 0
■変数操作: CSelf88[[OP]可変0 歩行アドレス] = 1 + 0
■変数操作: CSelf89[[OP]可変0 顔アドレス] = 1 + 0

変数の値 設定内容 補足
0 更新しない セーブデータのままになります。
ゲームの途中で名前や歩行グラフィックが変わる場合は、
その変わる項目のセルフ変数を「0」(更新しない)にした方が良いでしょう。
1 更新する ゲーム開始時の主人公の名前や歩行グラフィックに戻します。
■可変DB[0] 項目[5](限界レベル)

▼コモンイベント[54行目]
■変数操作: CSelf90[[OP]可変0 限界レベル] = 2 + 0

変数の値 設定内容 補足
0 更新しない セーブデータの限界レベルのままになります。
1 代入で更新する 「更新前=20」「更新データ=30」の時には「30」になり、
「更新前=40」「更新データ=30」の時には「30」になります。
2 下限で更新する 「更新前=20」「更新データ=30」の時には「30」になり、
「更新前=40」「更新データ=30」の時には「40」になります。

レベルは更新前と同じレベルになりますが、
更新前のレベルが更新データの初期レベルより低かった場合初期レベルと同じレベルになります。

また、更新後のレベルが限界レベルを超えている場合限界レベルと同じレベルになります。
■可変DB[0] 項目[7][9-17](パラメータの初期基本値の保存)

▼コモンイベント[65行目]
■変数操作: CSelf91[[OP]可変0 パラメータ初期値保存] = 1 + 0

変数の値 設定内容 補足
0 初期値を保存しない ゲーム開始時のパラメータの基本値を保存しません。
1 初期値を保存する ゲーム開始時のパラメータの基本値を保存します。

「1」(初期値を保存する)の場合は、ゲーム開始時のパラメータを保存し、
レベルアップ以外で増減したパラメータの増減量を調べる時に使います。

例えばコモンイベント[7:○能力値増減]で攻撃力を「+3」にした場合、
「0」(初期値を保存しない)の更新では【 成長増加値×初期レベルから上がったレベル数+基本値 】になりますが、
「1」(初期値を保存する)の更新では【 成長増加値×初期レベルから上がったレベル数+基本値+3になります。

◆補足1

「1」(初期値を保存する)にすると、ロード時の更新にて処理落ちが発生するため、
レベルアップ以外で項目[7][9〜17]を増減しない(コモンイベント[7:○能力値増減]を使用しない)場合で、
可変DBのデータ数(主人公の数)が大量に設定されている場合は、「0」(初期値を保存しない)にしてください。
◆補足2

レベルアップ以外でのパラメータの増減の差を出すためには、
項目[[成長]最大HP増加 /1Lv]などの項目[18〜27]の値が固定値である必要があります。

例えば作品制作者のオリジナル設定で、レベルアップによって項目[18〜27]の値を変化させている場合は、
正しい差を出す事ができないため、この場合は「0」(初期値を保存しない)にしてください。
◆補足3

当コモン導入前からあるセーブデータはゲーム開始時の初期値が保存されていないため、
「1」(初期値を保存する)の設定にしても初回の更新は「0」(初期値を保存しない)と同じ仕様で処理されます。
■可変DB[0] 項目[28〜35](装備品)

▼コモンイベント[90行目]
■変数操作: CSelf92[[OP]可変0 装備品] = 0 + 0

変数の値 設定内容 補足
0 更新しない セーブデータのままになります。
1 更新する(外した装備は消滅) 初期装備にします。
初期装備と異なる装備は外され、
アイテム欄へは移動せず、消滅します。
2 更新する(外した装備はアイテム欄へ移動) 初期装備にします。
初期装備と異なる装備は外され、
アイテム欄へ移動します。
■可変DB[0] 項目[36〜45](装備可能タイプ)

▼コモンイベント[96行目]
■変数操作: CSelf93[[OP]可変0 装備可能タイプ] = 1 + 0

変数の値 設定内容 補足
0 更新しない セーブデータのままになります。
1 更新する(タイプが合わない装備はそのまま) 装備タイプを初期化します。
更新後に装備タイプが合わない装備があった場合は、
そのまま装備した状態にします。
※一度外すと装備できなくなります。
2 更新する(タイプが合わない装備は外す) 装備タイプを初期化します。
更新後に装備タイプが合わない装備があった場合は、
その装備は外して、アイテム欄へ移動します。
■可変DB[0] 項目[46〜53](戦闘用コマンド)

▼コモンイベント[102行目]
■変数操作: CSelf94[[OP]可変0 戦闘用コマンド] = 2 + 0

変数の値 設定内容 補足
0 更新しない セーブデータのままになります。
1 更新する(更新前のコマンドを引き継がない) 戦闘用のコマンドを初期化します。
ゲームの途中に追加されたコマンドは引き継がず、
ゲーム開始時に戻します。
2 更新する(更新前のコマンドを引き継ぐ) 戦闘用のコマンドを初期化します。
ゲームの途中に追加されたコマンドは引き継ぎます。

サンプルゲームのパン屋のイベントで「ここで食べます(技を習得)」を選択すると
ウルファールの戦闘時のコマンドに「全体攻撃」が追加されますが、コマンド追加後に更新した時に、
「1」(更新する(更新前のコマンドを引き継がない)の場合は「全体攻撃」は消滅しますが、
「2」(更新する(更新前のコマンドを引き継ぐ)の場合は「全体攻撃」は消滅せずにそのまま残ります。

「2」(更新する(更新前のコマンドを引き継ぐ)の場合は、
初期設定のコマンドを設定したあとに、項目[46〜53]の空いている所に追加コマンドが設定されます。
そのため、項目[46〜53]に空きが無い場合は、追加コマンドは設定されません。
また初期設定のコマンドを別のコマンドに置き換えている場合は、
置き換え前と置き換え後の両方のコマンドが設定されます。
■可変DB[0] 項目[59以降](追加した項目)

▼コモンイベント[112行目]
■変数操作: CSelf95[[OP]可変0 追加項目の更新] = 0 + 0

変数の値 設定内容 補足
0 更新しない セーブデータのままになります。
1 更新する ゲーム開始時に戻します。
■可変DB[1] 更新前から習得済みを引き継ぐ
 (更新データに引き継ぐ技能の登録がある場合)


▼コモンイベント[125行目]
■変数操作: CSelf96[[OP]可変1 習得済み引き継ぐ(更新データに技能設定あり)] = 1 + 0

変数の値 設定内容 補足
0 習得済みを引き継がない 更新データにある習得レベルになったら習得させます。
1 習得済みを引き継ぐ 更新データの習得レベルになってなくても習得済みにします。

例えば更新前の「ヒールレイン」の習得レベルが「9」だった場合、
主人公のレベルが「9」になっていたら「習得済み」になり、習得済みでセーブされます。
更新データでヒールレインの習得レベルを「12」に変えた場合、
「0」(習得済みを引き継がない)の場合は未習得となり、
「1」(習得済みを引き継ぐ)の場合は習得済みになります。
■可変DB[1] 更新前から習得済みを引き継ぐ
 (更新データに引き継ぐ技能の登録が無い場合)


▼コモンイベント[135行目]
■変数操作: CSelf97[[OP]可変1 習得済み引き継ぐ(更新データに技能設定なし)] = 1 + 0

変数の値 設定内容 補足
0 習得済みを引き継がない 更新データに無い習得済み技能は引き継ぎません。
1 習得済みを引き継ぐ 更新データに無い習得済み技能を可変DB[1]の空いている項目へ追加します。

「1」(習得済みを引き継ぐ)の場合で、可変DB[1]に空いている項目が無い場合は追加されません。
■コモン素材「パラメータを増やすコモン」と連動

▼コモンイベント[144行目]
■変数操作: CSelf99[[OP]コモン「パラメータを増やす」と連動] = 0 + 0

変数の値 設定内容 補足
0 連動しない  
1 連動させる コモン素材「パラメータを増やすコモン」と連動させ、
追加したパラメータも更新対象にします。
セルフ変数[95:[OP]可変0 追加項目の更新]「0」(更新しない)の場合でも、
パラメータを増やすコモン」で追加した項目は更新されます。


  
■更新処理の仕様について

テストプレイを開始した時に可変DB[0-4]のファイルが出力されますが、この時にファイル「k」も出力されます。

ファイル「k」には可変DBを出力した年月日時分秒を保存しており、
コモンイベント側で保存している年月日時分秒と比べてファイル「k」の方が新しい年月日時分秒である場合は、
更新処理が実行されます。

年月日時分秒は、可変DBごとに個別に保存しているため、例えば可変DB[0]だけを更新した場合は、
可変DB[0]の年月日時分秒だけが更新され、可変DB[0]だけがロード時に更新されます。

更新処理を実行すると、コモンイベントの年月日時分秒が更新されるため、
「ロード→更新→セーブ」を行ったあとにロードを実行しても、
同じ可変DBの状態(同じ年月日時分秒)の場合は、更新処理は実行されません。


  
■使用に関して

使用許可の申告:不要

イベント処理の改造:許可

※改造は自力で自己責任でお願いします。 



■関連ページ

YADOウディタ作品 YADOが作成したウディタ作品の一覧表です。
気紛れな空間 YADOの活動の拠点であるサイト。
セロード君との共同運営のサイトであり、
セロード君は気紛れな空間のサイト全体の管理者。
このサイトには雑談掲示板などもありますので、
何かメッセージがある場合は、こちらの掲示板をご利用下さい。
YADO作品リスト YADOが今までに公開してきた作品の一覧や、
YADOのプロフィールなどが見れます。