WOLF RPGエディター(ウディタ)[3.600]/イベントコマンド【サイトトップへ戻る】 ■DB操作 (更新:2025/05/24) イベントコマンド【DB操作】について説明します。 ![]()
「データベース」に関する説明は、別ページに記載しています。 ■イベントコマンド【DB操作】とは? 【DB操作】は「システムDB」「ユーザーDB」「可変DB」「XY配列」の値を取得したり、 データを削除したり、CSV形式のファイルに入出力したりする時に使います。 可変DBとXY配列は値の取得と変更が可能ですが、 ユーザーDBとシステムDBは読み取り専用であり、値の取得のみが可能です。 システムDBの一部の値は、別のイベントコマンドを使う事で値の変更ができます。
CSV形式の読み込みや「変数呼び出し値」を使ってユーザーDBなどの値を変更する事ができますが、 値を変更してもセーブデータには保存されず、セーブデータをロードすると初期の値に戻ります。 ▲トップへ戻る▲ ■XY配列について XY配列は、データベースの「データ番号 × 項目番号」と同じような感じで、 「X列 × Y列」で数値データを保存する事ができる機能です。 1つのXY配列で設定できる範囲は「X列10000個 × Y列10000個(X列[0〜9999]、Y列[0〜9999])」です。 Y列が10000以上になる度に「X列+1、Y列−10000」になるため、 「X列[0]、Y列[20015]」の設定では「X列[2]、列[15]」の値を操作する事になります。 なお、X列が10000以上になるとエラーが発生します。 XY配列には、データベースのような初期値を設定する画面がありません。 ゲーム開始時にXY配列の初期値を設定したい場合は、ゲーム開始時にイベントコマンドで値を設定するか、 表計算ソフトで作成したCSV形式のファイルを読み込んでください。 なお、CSV形式の保存形式は「X列=縦」「Y列=横」になります。
CSVのデータの入出力の際は、注意してください。 使用するXY配列は、配列番号と配列名で指定する事ができますが、配列番号の方が処理が速いです。 配列番号「0」と配列名(文字列)「0」は、別々のXY配列として処理されます。 配列番号で処理する場合は、番号ごとに何に使っているのかを覚えておく必要があります。 ウディタのエディタを閉じると、ファイル「Editor_XY_array_Name.ini」に配列名が保存されます。 このファイルを編集する事で、使わなくなった名前を削除する事ができます。 4つのXY配列を使い「不透明度」「R」「G」「B」の値を設定する事で、 画像ファイルとして出力したり、ピクチャで表示したりする事ができます。 【[文字列操作]の隠しコード「4つのXY配列に保存されたARGB値で画像を出力」のページを開く】 【[ピクチャ表示]の隠し機能「4つのXY配列で画像を表示」のページを開く】 ■メモリの消費量について データベースの場合はタイプが100個のみになっていますが、XY配列の場合は数に制限がありません。 しかし1つのXY配列のX列[10000]×Y列[10000]の全てに値を設定すると、 メモリの消費量が454MBになり、セーブファイルの容量も1500KBほど増えます。 メモリの消費は、「ゲームデータの作成」で暗号化した場合、 ゲーム内で使用する画像ファイルなどもメモリの中に保存されるため、 ゲーム内容によってはかなりメモリを消費する可能性があります。 またセーブファイルの容量が大きくなると、 セーブ画面を初めて開く時やセーブを実行した時にフリーズが発生します。 そのため、XY配列を乱用するとゲームプレイに支障をきたす可能性があるため、注意が必要です。 また使わなくなったXY配列は「配列を削除」で削除する事をお勧めします。 ▲トップへ戻る▲ ■設定画面の説明:データベースの切り替え ![]() 処理するデータベースを選択します。 ▲トップへ戻る▲ ■設定画面の説明:[DBへ代入↑] ![]() データベースに値を設定するモードです。 値を設定するデータベースを「DBタイプ番号」「データ番号」「項目番号」で選択してください。 ![]() [変数]にチェックを入れると、変数で各番号を設定する事ができます。 ![]() [名前]にチェックを入れると、名前を指定して設定する事ができます。 ![]() なお、名前を文字列変数で設定する場合は、特殊文字「\s[0]」などではなく、[変数]で設定してください。 ▼変数の一覧の下の方に文字列変数があります。 XY配列で「\s[0]」を設定すると「\s[0]」と言う名前のXY配列で処理されます。 ![]()
この初期化は、ゲーム開始時の状態に戻すのではなく、新規でデータを作成した時の状態になります。 ![]() もしもゲーム開始時の状態に戻したい時には、 画面左下にある[データ[複数](CSV)]でゲーム開始時のデータベースの状態を出力し、 ゲームの途中でゲーム開始時の状態に戻したい時には、 その出力したCSV形式のファイルを読み込んで、ゲーム開始時の状態に戻してください。 ▲トップへ戻る▲ ■設定画面の説明:[変数に代入→] ![]() データベースの値を出力します。 値を出力するデータベースを「DBタイプ番号」「データ番号」「項目番号」で選択してください。
▲トップへ戻る▲ ■設定画面の説明:数値または代入先 ![]() データベースに設定する値、またはデータベースから取得する値を受け取る場所(変数)の設定を行います。 「=」や「引き上げ」などの演算子については、別ページをご覧ください。 また「X番の変数呼出」についても、別ページをご覧ください。 変数の設定は、「このイベントのセルフ変数」「通常変数」「予備変数」「文字列変数」の設定ができますが、 「変数呼び出し値」を設定すれば上記以外の変数の設定も可能です。 ▼マップイベントのイベントID[2]のセルフ変数[5]に代入する場合 ![]() データベースに値を代入する場合、またはデータベースの値を取得する場合は…
▲トップへ戻る▲ ■設定画面の説明:データ操作 ![]() 可変DBのデータを追加したり、削除したりする時に使います。
■指定X列内の[指定Y列]に挿入する XY配列の時には、オプション「指定X列内の[指定Y列]に挿入する」があります。 ![]() 以下はオプションのチェック有無の比較表です。
▲トップへ戻る▲ ■設定画面の説明:CSV入出力 ![]() CSV形式のファイルを入出力する時に使います。
▼可変DB[0:主人公ステータス]を「.csv」で出力して「Excel」で開いた時の表示例 ![]() ▼可変DB[0:主人公ステータス]を「.txt」で出力してWindowsの「メモ帳」で開いた時の表示例 ![]() 以下はCSV入出力の使用例です。
▲トップへ戻る▲ ■補足 「変数呼び出し値」を使う事で、 【DB操作】以外のイベントコマンドでもデータベースの値を設定&出力が可能です。 ▼可変DB[0:主人公ステータス]のデータID[12:ウルファール]の項目[6:HP]を出力する設定 ![]() ▼設定結果
また「変数呼び出し値」と「X番の変数呼出」を利用して、 【DB操作】では設定する事ができないユーザーDBの値を変える設定も可能です。 ▼ユーザーDB[9:敵キャラ個体データ]のデータID[11:オーク]の項目[2:最大HP]の変数呼び出し値を設定 ![]() ▼「X番の変数呼出」でユーザーDBの設定を「500」に変更 ![]() ▼設定結果
なお、変更したユーザーDBの値はセーブデータに保存されません。 そのため、上記の方法でユーザーDBの値を変更した場合、 セーブデータをロードした時に再び設定し直す必要があります。 「10000以上」のデータ番号を設定した場合は、次のタイプIDのデータを取得します。 そのため、下図のように設定した場合は、可変DB[1]のデータ番号[0]を取得します。 ![]() 以下のように設定した場合も可変DB[1]のデータ番号[0]の値を表示します。
▲トップへ戻る▲ ◎関連ページ ◆「システムDB」「ユーザーDB」「可変DB」の説明 ◆「イベントコマンド」って何? ┣◆文章の表示 ┃┗◆特殊文字 ┣◆選択肢 ┃┗◆【使用例】選択肢 ┣◆変数操作 ┃┗◆演算子について ┣◆DB操作 ┣◆文字列操作 ┃┗◆【使用例】文字列操作 ┣◆変数操作+ ┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い ┃┣◆【使用例】変数操作+の「キャラ」と「位置」 ┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」 ┣◆条件(変数) ┣◆条件(文字列) ┣◆キー入力 ┃┗◆【使用例】キー入力 ┣◆ピクチャ ┃┗◆表示形式(通常・加算・減算・乗算)について ┣◆エフェクト ┃┣◆「Zオーダー」について ┃┗◆【使用例】エフェクト ┣◆サウンド ┣◆セーブ・ロード操作 ┣◆パーティ画像 ┣◆チップ処理 ┃┗◆【使用例】チップ処理 ┣◆場所移動 ┣◆イベント制御 ┃┣◆キャラクターの動作指定 ┃┗◆【使用例】イベント制御 ┣◆コモンイベント ┣◆ダウンロード ┗◆プロ版機能 ┗◆起動時の引数について |