WOLF RPGエディター(ウディタ)/変数【サイトトップへ戻る】 ■システム変数[0〜34]の説明 (更新:2024/05/06) システム変数[0〜34]について解説します。 「変数」や「システム変数・システム文字列」に関する基本説明は、別ページに記載しています。 ■[Sys0:顔グラフィック番号] 文章ウィンドウに顔グラフィックを表示する時に使います。 顔グラフィックを表示する時には、 文章を表示する前にシステム変数[0:顔グラフィック番号]を設定してください。 ▼顔グラフィックの番号[3]を表示する時の設定例
▼動作イメージ 顔グラフィックの番号は、システムDB[24:顔グラフィック名]のデータ番号になります。 データ[0〜1]はウィンドウの表示有無の設定するための設定であるため、 顔グラフィックの設定はデータ[2]以降に設定してください。 顔グラフィックを表示する設定は、文章の表示の中に組み込む設定方法もあります。 1行目に「@+顔グラフィック番号+改行」を設定してください。 ▼顔グラフィック3番を表示する設定例 この「@」を使った設定方法の場合、 「@\v[0]」と言ったような変数の値で顔グラフィックの番号を設定する事はできません。 変数の値で顔グラフィックの番号を設定する場合は、 このシステム変数[0:顔グラフィック番号]を使用してください。 システム変数[0:顔グラフィック番号]の設定は、システム変数[0:顔グラフィック番号]を実行した後に、 最初に表示される【文章の表示】で顔グラフィックが表示されます。 例えば…
【文章の表示】を2つ続けて設定していても、 2つ目の文章の表示にもそのまま同じ顔グラフィックが表示されます。
但し、【文章の表示】と【文章の表示】の間に3フレーム以上のウェイトを入れると、 顔グラフィックの設定が無効となり、2つ目の【文章の表示】には顔グラフィックが表示されません。
途中でウェイトを入れる場合は、 2つ目を表示する前に再度システム変数[0:顔グラフィック番号]を設定してください。
▲トップへ戻る▲ ■[Sys1:メッセージウィンドウ X座標] ■[Sys2:メッセージウィンドウ Y座標] 文章の表示位置をピクセル単位で設定します。 表示位置の基点は、文字の表示を始める位置の左上になります。 X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。 Y位置の設定は、画面の上端からの距離(ピクセル単位)で設定します。 「-1」を設定すると初期位置に戻ります。 ▼画面サイズが[320×240[x2]]の時の表示位置 基本システムを使っている場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の44-47行目の所で、 自動的に表示位置が初期化されます。 もしも表示位置を変える場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の44-47行目にある…
▲トップへ戻る▲ ■[Sys3:選択肢ウィンドウ X座標] ■[Sys4:選択肢ウィンドウ Y座標] 選択肢の表示位置をピクセル単位で設定します。 表示位置の基点は、選択肢ウィンドウの左右中央上部になります。 X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。 Y位置の設定は、画面の上端からの距離(ピクセル単位)で設定します。 「-1」を設定すると初期位置に戻ります。 ▼画面サイズが[320×240[x2]]の時の表示位置 基本システムを使っている場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の48-50行目の所で、 自動的に表示位置が初期化されます。 この47-48行目の初期化設定は【文章の表示】を実行する度に実行されるため、 もしも表示位置を変える場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の48-50行目にある…
▲トップへ戻る▲ ■[Sys5:ポーズカーソルX (Sys1に足した位置)] ■[Sys6:ポーズカーソルY (Sys2に足した位置)] ポーズカーソルの表示位置をピクセル単位で設定します。 表示位置の基点は、ポーズカーソルの左右中央上部になります。 ポーズカーソルは上下に移動しますが、その最も上の位置が基点になります。 X位置の設定は、画面の左端からの距離(ピクセル単位)で設定します。 Y位置の設定は、システム変数[2:メッセージウィンドウ Y座標]の位置からの距離で設定します。 「-1」を設定すると初期位置に戻ります。 ▼画面サイズが[320×240[x2]]の時の表示位置 この場合は…
基本システムを使っている場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の51-52行目の所で、 自動的に表示位置が設定されます。 もしも表示位置を変える場合は、 コモンイベント[063:X[共]メッセージウィンドウ]の51-52行目にある…
▲トップへ戻る▲ ■[Sys7:選択肢次回初期位置(0,1,2...)] 選択肢を表示する前に設定する事で、最初の選択位置を指定する事ができます。 例えば、サンプルゲームのタイトル画面の選択肢では、 セーブデータが無い時には「スタート」を選択し、 セーブデータが有る時には「コンティニュー」を選択します。
これはタイトル画面のマップにあるマップイベントの中の…
選択肢の処理が終了すると、 システム変数[7:選択肢次回初期位置(0,1,2...)]の値は自動的に「0」になります。 ▲トップへ戻る▲ ■[Sys8:基本フォントサイズ] 【文章の表示】【選択肢】【ピクチャ表示】などで文字を表示する時の文字サイズを設定します。 システム変数[8:基本フォントサイズ]に設定されるフォントサイズは、 ゲーム画面のサイズに合わせてフォントサイズが変わります。 ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
初期設定はコモンイベント[048:X[共]基本システム自動初期化]の47-49行目の…
下図はゲーム画面のサイズ[320×240[x2]]の時に…
一時的にフォントサイズを変えたい時には、特殊文字「\f[X]」を使用してください。 ▼設定例
▼処理結果 ▲トップへ戻る▲ ■[Sys9:メッセージ速度( X 文字/秒)] 【文章の表示】で文章を表示する時の文字列の表示速度を設定します。 初期値は以下のとおりです。
初期値はコモンイベント[048:X[共]基本システム自動初期化]の120行目で行っています。 設定する数値は1秒間に何文字表示するのかを設定します。 例えば「10」を設定した場合は1秒間に10文字を表示する速度で文字が表示されます。 実際に…
一時的に表示速度を変えたい時には、特殊文字「\sp[X]」を使用してください。 ▼設定例(1行目はゆっくり、2行目は高速で表示)
▲トップへ戻る▲ ■[Sys10:メッセージ表示ウェイト(X フレーム)] 文章を表示し始める時間をフレーム単位(1フレームは60分の1秒)で設定します。 設定した時間が「30」の場合は、 【文章の表示】を実行して30フレーム後(0.5秒後)に文字を表示し始めます。 初期値はコモンイベント[063:X[共]メッセージウィンドウ]の36行目にある…
この9フレームの待ち時間は、画面下からスクロールして出てくる文章ウィンドウの表示待ち時間です。 ▲トップへ戻る▲ ■[Sys11:ピクチャ文字速度( X 文字/秒)] ピクチャで文字列を表示する時の文字列の表示速度を設定します。 初期値は以下のとおりです。
初期値の設定はゲーム起動時に自動的に設定されるため、 初期値を設定しているコモンイベントの設定はありません。 設定する数値は1秒間に何文字表示するのかを設定します。 例えば「10」を設定した場合は1秒間に10文字を表示する速度で文字が表示されます。 実際に…
一時的に表示速度を変えたい時には、特殊文字「\sp[X]」を使用してください。 ▼設定例
▲トップへ戻る▲ ■[Sys12:メッセージ表示中?(1=ON)]
主に並列実行イベントで、文章を表示している時に一時的に処理を止めたい時に使います。 例えば…
「〜何らかの処理〜」は実行されなくなります。 コモンイベント[063:X[共]メッセージウィンドウ]では、 このシステム変数[12:メッセージ表示中?(1=ON)]が「1」になったら、 文書ウィンドウを表示するイベントが実行されます。 ▲トップへ戻る▲ ■[Sys13:イベント実行中?(1=ON)]
[決定キーで実行][自動実行][プレイヤー接触][イベント接触]など、 並列実行以外でイベントを実行している時には、 システム変数[13:イベント実行中?(1=ON)]の値が「1」になります。 イベント実行中にキャンセルキーを押してもメニュー画面が表示されないのは、 コモンイベント[126:X[移]歩行時_並列キー処理]の20行目にて、 このシステム変数[13:イベント実行中?(1=ON)]が「0」の時しか、 メニュー画面が表示されないようにしているからです。 テストプレー中に[F8]を押し続けると、現在実行中のイベントを確認する事ができます。 ▲トップへ戻る▲ ■[Sys14:選択肢ウィンドウ表示する?(1=ON)]
選択肢のウィンドウを表示するかしないかを設定します。
初期値は以下のとおりです。
初期値の設定はゲーム起動時に自動的に設定されるため、 初期値を設定しているコモンイベントの設定はありません。 ▲トップへ戻る▲ ■[Sys15:方向キーリピート初ウェイト(フレーム数指定)] ■[Sys16:方向キーリピート次ウェイト(フレーム数指定)] 【キー入力】の「キーが押されるまで待つ」や【選択肢】で方向キーを押し続けた時に、 どれくらいの待ち時間でキー処理を行うのかをフレーム単位で設定します。 例えば以下のような選択肢を表示した場合… 下キーを押し続けると…
この時に最初の「1行目→2行目」へ移動した後に、 次の「2行目→3行目」へ移動するまでの時間設定を、 システム変数[15:方向キーリピート初ウェイト(フレーム数指定)]で設定します。 そのため…
次の「2行目→3行目」へ移動するまでの時間が「100フレーム」かかります。 動作イメージは…
またシステム変数[15:方向キーリピート初ウェイト(フレーム数指定)]を、 システム変数[16:方向キーリピート次ウェイト(フレーム数指定)]に変えて…
「1行目→2行目→3行目」まではスムーズに移動しますが、 それ以降のカーソルの移動時間が1回移動する度に「100フレーム」の時間がかかります。 動作イメージは…
なお…
「1行目→2行目→3行目→4行目」と移動するには、方向キーを連打する必要があります。 ゲーム中でもメニュー画面の「システム」→「キーリピート速度」から変更できます。
初期値は「3:通常」になります。 システム変数[15・16]に値を設定しているイベントは、 コモンイベント[115:X[移]キーリピート設定]にあります。 ▲トップへ戻る▲ ■[Sys17:選択肢SE番号:決定(Sys3)] ■[Sys18:選択肢SE番号:選択(Sys3)] ■[Sys19:選択肢SE番号:キャンセル(Sys3)] 選択肢を操作する時に使用するSE(効果音)を設定します。 初期値は以下のとおりです。
初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]の115-117行目で行っています。 変数名にある「(Sys3)」はシステム変数[3]ではなくシステムDB[3:SEリスト]の事を示しており、 システム変数[17][18][19]に設定する値はシステムDB[3:SEリスト]のデータ番号になります。 ▲トップへ戻る▲ ■[Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)] 【選択肢】の実行中に現在選択しているカーソルの位置を取得します。
このシステム変数[20:選択肢カーソル現位置(0,1,2..非選択時:-1]は、 選択肢の選択中のカーソル位置に合わせて、何らかのイベントを実行させたい時に使います。 ▼【使用例】タイトル画面の選択カーソルに合わせて文字を表示 サンプルゲームのタイトル用のマップ内に、以下のマップイベントを新規作成してください。
テストプレイを実行すると、選択肢のカーソル位置に合わせて選択肢の下に補足説明が表示されます。 ▲トップへ戻る▲ ■[Sys21:文字影付ける?(0=OFF,1以上=ON)]
【文章の表示】【選択肢】【ピクチャ表示】にて、 文字の表示時に文字の後ろに影を付けるかどうかを設定します。
初期値は以下のとおりです。
初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]の118行目で行っています。 ▲トップへ戻る▲ ■[Sys22:選択肢カーソル表示モード?(0=通常,1=加算)]
選択肢のカーソル表示にて、表示形式を「通常」にするか「加算」にするかを設定します。 これはピクチャ表示にある表示形式の「通常」「加算」と同じものです。 初期値は以下のとおりです。
初期値の設定はコモンイベント[048:X[共]基本システム自動初期化]の119行目で行っています。 以下の選択肢のウィンドウ画像とカーソル画像を合わせた時の「通常」と「加算」の比較表です。
【通常】は、そのままの色でカーソルが表示されます。 【加算】は、ウィンドウ画像の色にカーソルの色が加算されて表示されます。
▲トップへ戻る▲ ■[Sys23:ルビのフォントサイズ] ルビの文字サイズを設定します。 初期値はコモンイベント[048:X[共]基本システム自動初期化]の52行目で行っており、 ゲーム画面のサイズに合わせてフォントサイズが変わります。 ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
ルビの文字を設定する時には、特殊文字「\r[表示文字,ルビ文字]」を使います。 ▼設定例
▼処理結果(ゲーム画面が[320×240[x2]]の場合) 上図のように文章ウィンドウの枠にルビ文字が重なってしまうようでしたら、 特殊文字「\my[X]」を使って文章の表示位置を下げると良いでしょう。 ▼Y表示位置を8ピクセル下げる設定
▼処理結果(ゲーム画面が[320×240[x2]]の場合) なお、ルビ文字の色はシステムDB[12:文字色]のデータ[13:[Sys]ルビ用文字色]で変えられます。 ▲トップへ戻る▲ ■[Sys24:[読]セーブデータ読込判定(1=成功 0=失敗)]
指定したセーブファイルがあるかどうかを調べる時に使います。 以下はセーブ番号[1]のファイルがあるかどうかを調べる時の設定例です。 ▼変数呼び出し値「9000024」を設定 この場合…
▲トップへ戻る▲ ■[Sys25:現在セーブデータ番号(0〜)] セーブ時やロード時に最後に決定したセーブ番号を記憶します。 最後にセーブしたのが[データ2]である場合は、 セーブ画面やロード画面を開いた時には最初に[データ2]が選択されている状態になります。 ゲームオーバーになった時に自動的に最後のセーブデータがロードされるようにする場合も、 このシステム変数[25:現在セーブデータ番号(0〜)]を使います。
▼対象セーブデータの番号には、変数呼び出し値「9000025」を設定 システム変数[25:現在セーブデータ番号(0〜)]の情報はセーブファイル「System.sav」の通常変数[0]に保存され、 新規でゲームを始めた時にコモンイベント[048:X[共]基本システム自動初期化]にて、 セーブファイル「System.sav」からシステム変数[25:現在セーブデータ番号(0〜)]の値が読み込まれます。 そしてシステム変数[25:現在セーブデータ番号(0〜)]の値が「1以上(セーブデータ有り)」の場合は、 タイトル画面の選択肢にて最初に「コンティニュー」が選択されるようになります。 ▲トップへ戻る▲ ■[Sys26:選択肢ウィンドウ X余白] ■[Sys27:選択肢ウィンドウ Y余白] 選択肢の左右、または上下に余白を設定します。 ゲーム画面のサイズ[320×240[x2]]の初期値は以下のとおりです。
[320×240[x2]]以外の初期値は以下のとおりです。
初期値の設定はゲーム起動時に自動的に設定されるため、 初期値を設定しているコモンイベントの設定はありません。 以下は[320×240[x2]]の時に表示見本です。
「システム変数[26]=20」「システム変数[27]=15」の場合は、 選択肢の文字から左に20、右に20、上に15、下に15の余白をそれぞれ設定します。 なお「システム変数[26]=20」「システム変数[27]=15」の設定例は以下のようになります。
▲トップへ戻る▲ ■[Sys28:経過フレーム数[1000万で一周]] ゲーム開始時からのフレーム数をカウントします。 「1000万フレーム」で「0フレーム」に戻ります。 ウディタ全体の処理が1回処理されるごとに、1フレーム増えます。 そのため、「100フレームの処理」となると…
基本的に「60フレーム=1秒」になっていますが、 実際にはパソコンの処理能力や一度に処理するイベントコマンドの量、 何らかのファイルの読み込みなどを行う事で処理落ちが発生するため、 正確な「60フレーム=1秒」にはなりません。 ▲トップへ戻る▲ ■[Sys29:プレイ時間(1秒単位)] ゲーム開始時からのプレイ時間(1秒単位)をカウントします。 ▼【使用例】時分秒に分けて表示 「1時間36分5秒47」などと「時」「分」「秒」「100分の1秒」に分けて表示する場合は、 それぞれ別々の変数に設定してください。
▼動作イメージ ▲トップへ戻る▲ ■[Sys30:[読]プレイ時間(ミリ秒単位)] システム変数[30:[読]プレイ時間(ミリ秒単位)]は「1000分の1秒単位」で記録します。 システム変数[30:[読]プレイ時間(ミリ秒単位)]は「1000」になると「0」に戻ります。 ▲トップへ戻る▲ ■[Sys31:[読]内部FPS(毎秒変化)] ■[Sys32:[読]描画FPS(毎秒変化)] 1秒ごとのFPS(フレーム毎秒/Frames Per Secondの略)を調べる時に使います。 例えば…
「1秒間に15回ゲーム画面を書き換えている」となります。 内部FPSが「60」と「20」を比べた場合、同じ距離を移動して、 「60」が5秒かかる移動時間が「20」では15秒の移動時間がかかります。 描画FPSが「60」と「20」を比べた場合、 「60」は「表示→表示→表示→表示・・・」と表示される所、 「20」は「表示→停止→停止→表示・・・」となり、カクカクした表示になります。 テストプレイを実行すると、ゲーム画面上部にFPS値が表示されます。 ▲トップへ戻る▲ ■[Sys33:フレームスキップレベル(0〜2)]
表示イメージは…
スキップレベルを上げる事で、ゲーム画面の表示更新回数を減らし、 処理能力の低いパソコンでもスムーズにゲームが出来るようになります。 但し、スキップレベルを上げると、キャラの移動がカクカクした感じになりやすくなります。 初期設定はウディタの画面上の「ゲーム設定 → コンフィグを開く」で設定できます。 またゲーム中に[F5]を押しても、 システム変数[33:フレームスキップレベル(0〜2)]の設定を変更する事ができます。 ▲トップへ戻る▲ ◎関連ページ ◆「変数」って何? ┣◆「セルフ変数」って何? ┣◆「通常変数」「予備変数」って何? ┣◆「文字列変数」って何? ┣◆「システム変数」「システム文字列」って何? ┃┣◆システム変数[0〜34]の説明 ┃┣◆システム変数[35〜76]の説明 ┃┣◆システム変数[77〜120]の説明 ┃┣◆システム変数[121〜148]の説明 ┃┣◆システム文字列[0〜49]の説明 ┃┗◆システム文字列[50〜76]の説明 ┣◆「変数呼び出し値」「X番の変数呼出」って何? ┃┗◆【使用例】「変数呼び出し値」「X番の変数呼出」 ┣◆「乱数」って何? ┃┗◆乱数で一度出力した値を二重に出力させない ┗◆変数の番号や文字列を別のものに置き換える |