WOLF RPGエディター(ウディタ)/基本システム改造【サイトトップへ戻る】 ■基本システムの改造テクニック (更新:2024/06/17) 基本システムの改造テクニックを紹介します。 基本システムの基本的な説明は別ページに記載しています。 ■改造で使う機能:F7(ピクチャ詳細一覧) テストプレイモードでキーボードの[F7]を押すと「ピクチャ詳細一覧」が表示されます。 ▼メニュー画面を表示中に[F7]を押した時 このピクチャ詳細一覧ではピクチャの表示位置や不透明度などの設定状況を確認する事ができ、 特に「最後に[表示]したEv」の情報は、どこでピクチャを表示したのかが分かるため、 ピクチャの表示設定を変える時には、役に立つ情報と言えます。 例えば一番上にある「ID:10000」の場合は…
▲トップへ戻る▲ ■改造で使う機能:F8(デバッグデータ) テストプレイモードでキーボードの[F8]を押し続けると「デバッグデータ」が表示されます。 ▼戦闘画面で主人公の行動選択中に[F8]を押し続けた時 改造で特に重要になるのが[実行中イベント]であり、例えば上図の[実行中イベント]を見てみると…
「マップイベント[0]の0行目からコモンイベント[37]を呼び出し」 「コモンイベント[37]の55行目からコモンイベント[188]を呼び出し」と言ったように、 イベントコマンド【イベントの挿入】でイベントを呼び出している処理の流れを確認する事ができます。 この[F8]は画面を表示している間もイベント処理が進んでいきます。 そのため特定の場所までの処理の流れを確認したい時には、 処理の流れを確認したい所にシステム文字列[55:[読]Ev実行経路]を設定してください。
▼デバッグウィンドウの表示例
▲トップへ戻る▲ ■改造で使う機能:検索 コモンイベントの検索機能を使って、目標とするイベントコマンドを探す時に使います。
変数を検索する時には「変数呼び出し値」を設定します。 右上の図の「1600000」の場合は「セルフ変数[0]」を検索する設定になっています。 この検索機能には「置換」の機能があるため、特定の変数番号を違う変数番号に置き換えたり、 特定の文字列を違う文字列に置き換えたりする時にも使います。 詳しくは以下のページをご覧ください。 ▲トップへ戻る▲ ■改造で使う機能:デバッグ文 イベントコマンド【デバッグ文】を使って、 変数の数値や文字列が正常に設定されているかどうかを確認する時に使います。 変数の値を表示する場合は、特殊文字を設定する必要があります。 デバッグ文を大量に設定すると、大量の情報がデバッグウィンドウに書き込まれて、 必要な情報を確認しにくくなります。 そのため、たまに使う程度のデバッグ文は一時的に【コメント文】に変えたり…
必要な時にループ回数を「1回」に変えてデバッグ文を表示させると良いでしょう。 デバッグ文で数値を表示する時には、 その数値が何の数値なのかがすぐに分かるような文字を一緒に設定した方が良いでしょう。
デバッグ文で「ValWatch」や「PictureWatch」を設定すると、ピクチャや変数の変化を確認する事ができます。
この機能を使うと処理が重くなるので、デバッグする時に一時的に使うようにした方が良いでしょう。 ▲トップへ戻る▲ ■【F7の活用例】戦闘画面の背景を真っ黒にする 戦闘中に表示される背景を真っ黒に変える改造を行います。
まずは何も改造していない状態でテストプレイを実行し、戦闘画面を表示してください。 [F7]を押して「ピクチャ詳細一覧」を表示してください。 戦闘画面の背景の画像は、戦闘画面で使用しているピクチャの中で最も小さいピクチャIDになるので、 「ID:10000」が戦闘背景用の画像である事が分かります。 この「ID:10000」を表示しているイベントIDと行数を確認してください。 テストプレイを終了し、コモンイベント[180:X[戦]バックグラウンド描画]の40行目を表示します。 40行目にある【ピクチャ表示】を開きます。 「ファイル」の設定を以下のように変えてください。
以上で改造完了です。 ▼補足1 ピクチャを使って画面を真っ黒にする設定方法には「<SQUARE>」を使った設定方法もあります。 「<SQUARE>」を使った設定方法の場合は、 「カラー(RGB基本値100/0〜200)」の設定値を全て「0」にすると真っ黒な画像になります。
▼補足2 ゲーム画面を真っ黒にする方法として…
但しイベントコマンド【色調変更】で真っ黒にした場合は、ピクチャ[0〜9999]の画像が見える状態になるため、 ピクチャ[0〜9999]が見ないようにしたい時には、ピクチャ[10000]で真っ黒な画像を表示した方が良いでしょう。 ちなみにピクチャ[0〜9999]を一時的に見えないようにするには、 ピクチャ[0〜9999]の不透明度を「0」にしたり、ゲーム画面の外へ移動させたりする事で一応可能ですが、 イベント設定に手間がかかるので、通常はピクチャ[10000]で真っ黒な画像を表示する方法を使います。 ▲トップへ戻る▲ ■【F8の活用例】処理が止まっている場所を特定する 今回はイベントコマンド【キー入力】の処理で「キー入力待ち」を行っている場所を調べます。 以下は戦闘中に主人公が攻撃する敵キャラを選択している場面です。 この画面で[F8]を押し続けると、以下の画面が表示されます。 [実行中イベント]の部分を見てみると…
なお、実際の行は「50行目」になります。 ([F8]の行数(51行目)と実際の行数(50行目)にずれがある理由は不明です) ▼補足 コモンイベントで特定のイベントコマンドを探す時には、通常は「検索機能」を使います。 しかし検索するキーワードが分からない場合や検索でヒットした場所がたくさんある場合は、 今回のように[F8]を使うなど、別の方法で目的の場所を探すようにした方が良いでしょう。 ゲーム制作全般で言える事ですが、1つのやり方だけで何とかしようとしても、上手くいかない事があります。 上手くいかない場合は別の方法を試してみるのも、ゲーム制作では重要な事になります。 ▲トップへ戻る▲ ■【検索の活用例】最大HPを増減する時に表示される文章を変更 今回は最大HPを増減する時に表示される文章を変える改造を行います。
この手の文章の表示設定では…
検索キーワードの設定では、変数を使って表示していそうなキーワード(主人公の名前など)は避けて、 「上がった!」などの特徴的なキーワードで検索した方が良いでしょう。 「上がった!」で検索すると、初めにコモンイベント[070:X[移]パラメータ増減]の169行目がヒットします。 実際に最大HPを増減する処理は、このコモンイベント[070:X[移]パラメータ増減]の中で行っていますが、 しかし少し上の方(136行目)を見てみると「レベル」と書かれているため、 169行目の「上がった!」はレベルが上がった時の「上がった!」である事が分かります。 続けて検索すると次にコモンイベント[070:X[移]パラメータ増減]の452行目がヒットします。 少し上の方(441行目)には「最大HP」と書かれているので、 この452行目の「上がった!」が最大HPの「上がった!」で使用される文字列である事が分かります。 この452行目の「上がった!」の文字列を「増えた!」に変えると、 最大HPを上げた時の表示が「増えた!」に変わります。 457行目の「下がった!」を「減った!」に変えると、最大HPが下がった時の表示が変わります。 以上で設定完了です。 ▼補足1 今回の改造では検索キーワードを「最大HP」にしても、最大HPを増減する設定に辿り着く事ができます。 しかし検索キーワードを「最大HP」のように「HP」を全角の文字にすると、 コモンイベント[070:X[移]パラメータ増減]は素通りしてしまいます。 また今回の場合は【文章の表示】を使っているので、 メッセージウィンドウが表示されている時に[F8]を押し続けて、 現在実行中の【文章の表示】がどこにあるのかを調べる方法もあります。 ▼[実行中イベント]を見ると「コモン70 695行」で文章を表示している事が分かります 文章を表示しているのがコモンイベント[070:X[移]パラメータ増減]である事が分かれば、 そのコモンイベント[070:X[移]パラメータ増減]の中を調べれば、 最大HPを増減している設定に辿り着く事ができるでしょう。 ▼補足2 データベースの特定の項目を改造する場合で、 その項目がコモンイベント内のどこで使用しているのかを検索する場合は、 その改造する設定名をコピーしたものを検索キーワードにした方が良いでしょう。 但し全角の空白文字が含まれている場合は、 イベントコマンドの表示では「半角の空白2文字」に変換して表示されているため、 検索結果に引っかからない事があります。 例えば可変DB[18:基本システム用変数]のデータ[35:ステータス欄表示 元座標X]の場合、 データベースの設定では「ステータス欄表示■元座標X」の「■」の部分は全角の空白文字になっていますが、 イベントコマンドの表示では半角2文字になっています。 この場合は「元座標X」だけのキーワードで検索したり、 「ステータス欄表示 元座標X」の設定名をコピーして検索機能に貼り付けたあとに、 途中にある全角の空白文字を半角の空白文字2文字に置き換えてから検索を実行したり、イベントコマンドで…
検索機能へ貼り付けたあとに「ステータス欄表示 元座標X」以外の文字を削除してから検索を実行するなど、 検索キーワードの設定方法に工夫が必要です。 ▲トップへ戻る▲ ■【デバッグ文の活用例】基本システムにあるデバッグ文の活用例 基本システムのデバッグ文の表示は、主に処理が正常に動いているかどうかを確認するために設定されています。 例えば以下の表示は、メニュー画面を表示し、アイテムの選択画面で「薬草」を選択し、 ウルファールに使用するまでに表示されたデバッグ文です。 上記のデバッグウィンドウにある…
▼2桁表示の場合は2枚のピクチャを使用するので、 それで2枚分(ピクチャ[19000〜19001])の情報がデバッグウィンドウに表示されています ピクチャの場合は[F7]を押す事で、ピクチャの表示位置などを確認する事ができますが、 [F7]を押すとイベント処理が止まってしまうなどの問題があるため、 処理を止めずにピクチャの表示設定などを確認したい時には、デバッグ文を使います。 イベント設定時に一時的に使用するデバッグ文は、ループ回数「0回」の中にデバッグ文を設定したり、 【コメント】で設定して必要な時に【デバッグ文】に変えて表示するようにしています。 ▼ループ回数「0回」の中にデバッグ文(コモンイベント[064:X[共]万能ウィンドウ描画処理]の403行目)
▼コメントで設定し、必要に応じてデバッグ文に変える(コモンイベント[196:X┃┣◆行動可能判定]の115行目)
基本システムには、エラーが発生する変数の値になっている時に、 デバッグ文で警告が表示されるようにしている設定もあります。 ▼設定例(コモンイベント[050:X[共]アイテム増減]の13〜24行目)
このような設定ミスを警告するデバッグ文の設定は、通常のゲーム制作ではあまり行いませんが、 第三者が使うコモン素材を作る時には、コモン素材の利用者に設定ミスの内容を伝えるために、 デバッグ文が表示されるようにする場合があります。 ▲トップへ戻る▲ ■主人公のステータス画面の表示位置の改造について メニュー画面や戦闘画面では、主人公のステータス画面が表示されます。
「パーティの1人目はここに表示する」と言ったステータス画面をどこに表示するのかの設定は、 メニュー画面はコモンイベント[091:X[移]キャラクター欄_座標算出]で、 戦闘画面はコモンイベント[174:X[戦]味方欄_座標算出]で行っています。 もしもステータス画面の表示位置を全体的に下へ下げたい時など、表示位置を変えたい時には、 コモンイベント[091:X[移]キャラクター欄_座標算出]や、 コモンイベント[174:X[戦]味方欄_座標算出]を改造してください。 ステータス画面の中にある主人公の名前や顔グラフィック、HPなどのパラメータの表示などは、 メニュー画面はコモンイベント[090:X[移]キャラクター欄描画]で、 戦闘画面はコモンイベント[178:X[戦]味方欄_単体描画]で行っています。 もしも主人公の名前の表示位置や表示サイズなどを変えた時には、 コモンイベント[090:X[移]キャラクター欄描画]や コモンイベント[178:X[戦]味方欄_単体描画]を改造してください。 ▲トップへ戻る▲ ■コモンイベントの改造前にバックアップを残そう! コモンイベントを改造する場合は、改造する前にコモンイベントをコピーして、 コモンイベント[215]以降の空いている所に貼り付け、 その貼り付けたコモンイベントを改造した方が良いでしょう。 こうする事で改造前のコモンイベントのバックアップを残す事ができます。 例えばコモンイベント[188:X◆戦闘処理]を改造する場合は、 左側の一覧のコモンイベント[188:X◆戦闘処理]の上で右クリック→[イベントコピー]を実行し、 コモンイベント[215]の上で右クリック→[イベント貼り付け]を実行して複製品を作成し、 改造設定はその複製したコモンイベント[215]の方で行います。 ウディタの基本システムでは、同じ名前のコモンイベントが2つ以上ある場合は、 コモンイベントIDが大きい方のみが実行される仕様であるため、コモンイベント[188]が残っている状態でも、 コモンイベントIDが大きいコモンイベント[215]のみが実行されます。 万が一改造に失敗した場合は、 コモンイベント[215]を削除するだけで元のコモンイベント[188]の処理に戻ります。 一時的にコモンイベント[188]の処理に戻したい時には、コモンイベント[215]のコモンイベント名を…
改造途中のコモンイベントのバックアップを残したい時には、 コモンイベントをコピーして別のコモンIDに貼り付けて複製品を作り、 コモンイベントの名前を変える事で、改造途中のバックアップを残す事ができます。 また画面左下のファイル出力でコモンイベントを出力してバックアップを残す方法もあります。 なお、改造途中のコモンイベントのバックアップを残す場合は、コモンイベントの名前を変える時に…
古いバックアップを削除する時にも楽に作業する事ができます。 また0行目にイベントコマンド【コメント】を使って「これからキー処理を改造開始」などと、 バックアップを残した時の状況を記載しておくと、あとでバックアップを使う事になった時に便利です。 ★補足1
この3つのコモンイベントは「並列実行(常時)」で処理されているため、 上記のような複製作業を行ってもコピー元もコピー先も両方が動いてしまいます。 そのため「並列実行(常時)」で動いているコモンイベントに関しては、 複製品を作成したあとにコピー元のコモンイベントの起動条件を「呼び出しのみ」に変えてください。 ★補足2 コモンイベントIDを指定して呼び出している場合は、 複製品の方をバックアップにして、複製元の方を改造した方が良いでしょう。 例えばメニュー画面にある「相談」は、 ユーザーDB[17:システム設定]の項目[12:┗特殊メニューA呼出コモン]の設定にて、 コモンイベント[212]を呼び出す設定になっています。 コモンイベント[212]の複製品をコモンイベント[215]に作成し、 コモンイベント[215]の方はそのままにしてコモンイベント[212]を改造した場合は、 ユーザーDB[17:システム設定]の呼び出し設定はそのままで問題ありません。 しかし複製したコモンイベント[215]の方を改造した場合は、 ユーザーDB[17:システム設定]の設定をコモンイベント[215]を呼び出す設定に変える必要があります。 ★補足3 データベースの項目設定を改造する場合も、改造前のデータベースをバックアップしておいた方が良いでしょう。 バックアップはデータベース画面左下の「ファイルの出力」で出力したり、 別のタイプに複製してタイプ名を変更してバックアップを残す方法があります。 ★補足4 改造設定を行うかどうかに関係なく、作品全体のバックアップを残す作業は、定期的に行った方が良いでしょう。 ▲トップへ戻る▲ ■複数のコモン素材で同じコモンイベントを改造している場合 複数のコモン素材を組み込む場合で、複数のコモン素材で同じコモンイベントを改造している場合は、 2つのコモンイベントを1つのコモンイベントにまとめる改造が必要になります。 2つのコモンイベントの違い(改造箇所)を確認する場合は、 制作中のウディタとは別に、もう1つ新規のウディタの作品データを用意し、 新規の作品データにもう一方のコモン素材を設定して、 2つのウディタの2つのコモンイベントの設定画面を並べて表示し、 どこが改造されているのかを確認すると良いでしょう。 ▼2つのコモンイベントの設定画面を並べて表示した時の表示例 イベントコマンドの表示を上下にスクロールさせたい時には、スクロールさせたい画面の上にマウスポインタを置き、 マウスホイールを回転させる事で、設定画面をクリックしなくても、それぞれの画面が上下にスクロールします。 一方のコモンイベントに、もう一方のコモンイベントのイベントコマンドを移植する場合は、 イベントコードを使って移植すると良いでしょう。 コピーしたいイベントコマンドを範囲指定で指定し、 範囲指定の上で右クリック→[イベントコード→クリップボードへコピー]を実行し、 移植先のコモンイベントで右クリック→[クリップボード→コード貼り付け]を実行して移植します。 基本的に改造設定が多い方(複雑な方)に、もう一方の改造設定を移植した方が、移植作業が楽になります。 両方の改造設定に同じセルフ変数を使っている場合は、 一方のセルフ変数の変数番号を変えておくなどの準備が必要です。 単純に「イベントコマンドを移植すれば動く」とはならない事もあり、 両方の処理構造を理解して1つのコモンイベントにまとめる必要があります。 ▲トップへ戻る▲ ■複数のコモン素材で同じデータベースを改造している場合 複数のコモン素材を組み込んでいる場合で、複数のコモン素材で同じデータベースを改造している場合は、 2つのデータベースを1つのデータベースにまとめる合体作業が必要です。 下記説明では、2つのコモン素材で共にユーザーDB[0:技能]を改造している場合を想定して、 1つのユーザーDB[0:技能]に合体させる作業手順を紹介します。 2つのコモン素材の改造したユーザーDB[0:技能]は、 一方は通常通りにユーザーDB[0:技能]へ読み込んでください。 そしてもう一方は可変DBの方へ読み込み、ユーザーDBと可変DBの設定画面を横並びに表示して、 双方の違い(合体させる項目)を確認してください。 合体作業は、可変DBの項目をコピーし、ユーザーDBに項目を貼り付けて合体させるため、 可変DBの方が改造箇所が少ない方がコピー&貼り付けの作業が少なくて済みます。 合体作業が終わりましたら、可変DB側に設定したデータベースは削除してください。 ■新規項目を追加している場合 下図のように可変DB側のデータベースで「特殊処理」と言った項目を追加している場合は、 ユーザーDB側にも同じ項目名を設定すれば良いのですが、 選択肢が設定されている場合は、項目をコピーして合体させた方が良いでしょう。 可変DB側の[タイプの内容設定]を押し、コピーしたい項目の番号を確認して、 画面下部で確認した項目の番号を設定し、[をコピー]を押してください。 ユーザーDB側の[タイプの内容設定]を押し、画面下部で「99」を設定して、[に貼り付け]を押してください。 「99」で貼り付けを実行すると、未使用の項目の最後尾に貼り付けられます。 以上で合体作業完了です。 ■既存の項目を改造している場合 今回は可変DB側の項目[4]の選択肢に、新たな選択項目が追加されている状態を想定して、 可変DB側の項目[4]をコピーして、ユーザーDB側の項目[4]に貼り付ける作業手順を紹介します。 可変DB側の[タイプの内容設定]を押し、コピーしたい項目の番号を確認して、 画面下部で確認した項目の番号を設定し、[をコピー]を押してください。 ユーザーDB側の[タイプの内容設定]を押し、画面下部で「4」を設定して、[に貼り付け]を押してください。 以上で合体作業完了です。 ■注意点:項目の追加は最後尾が望ましい 新規項目を追加する場合は、未使用の項目ID(最後尾)に追加した方が良いです。 既存の項目と項目の間に挿入する形で追加すると、データベースによっては不具合が発生します。 例えば可変DB[0:主人公ステータス]で、項目[17]と項目[18]の間に新たな項目を挿入して…
コモンイベント[048:X[共]基本システム自動初期化]の処理で…
このような問題が発生する可能性があるため、 新規項目を追加する時には、未使用の項目ID(最後尾)に追加した方が良いです。 ■注意点:項目IDを指定して処理している場合 コモン素材を作った制作者によっては、データベースの情報を呼び出す時に、 「項目名」ではなく「項目ID」で呼び出している事があります。 例えば2つのコモン素材で、ユーザーDB[0:技能]にそれぞれ1つずつ項目を追加する場合…
もしもユーザーDB[0:技能]に項目を追加した時に…
一方、項目IDを指定して情報を呼び出している場合は…
このような場合は、項目IDを正しい項目IDに修正するか、項目名で呼び出すようにするか、 いずれかの修正が必要になります。 また…
コモン素材の作り手によっては「変数呼び出し値」を使って…
このような問題が発生する事があるため、2つのコモン素材で同じ改造したデータベースを使っている場合は、 それぞれのコモンイベントでどのように処理しているのかを確認しておく必要があります。 ▲トップへ戻る▲ ◎関連ページ ◆バックアップの残し方 ◆「基本システム」って何? ┣◆コモンイベントの一覧と補足説明 ┣◆基本システムで使用しているピクチャ番号 ┣◆メニュー画面の処理構造 ┗◆戦闘処理の処理構造 |