WOLF RPGエディター(ウディタ)/変数【サイトトップへ戻る】 ■システム変数[77〜120]の説明 (更新:2024/05/06) システム変数[77〜120]について解説します。 「変数」や「システム変数・システム文字列」に関する基本説明は、別ページに記載しています。 ■[Sys77:現在の[年]] ■[Sys78:現在の[月]] ■[Sys79:現在の[日]] ■[Sys80:現在の[時]] ■[Sys81:現在の[分]] ■[Sys82:現在の[秒]] パソコン内で動いている時計から現在の年月日時分秒を取得します。 ▼【使用例】現在の年月日時分秒を表示
▼動作イメージ 上記の設定では「8日」「6分」などと十の位に「0」の表示がありませんが、 「08日」「06分」などと十の位に「0」を表示する場合は、以下のように設定してください。
▼動作イメージ ▼【使用例】時間によって挨拶が変わる 現在の時間に合わせて挨拶を変えます。
応用として、時間によって建物に入れるかどうかが変わったり、 年月日の取得から12月25日などの特定の日には、 何らかの特別なイベントが発生するようなイベントを作る事もできます。 他の使用例として、年月日を指定すると曜日や日数などが分かるイベントを作る事もできます。 ▲トップへ戻る▲ ■[Sys84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)] ゲーム画面のサイズを調べる時に使用しており、ウディタ[2.10]まで使われていました。
ウディタ[2.20]以降では、 システム変数[116:[読]画面サイズX][117:[読]画面サイズY]で画面サイズを調べる形になり、 このシステム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]は使われなくなりました。 ▼古いコモン素材を使う場合の注意点 ウディタ[2.20]が公開される以前(2017年3月22日以前)に作られたコモン素材では、 このシステム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]が使われている事があります。 もしもゲーム画面のサイズが「320×240(倍)」「640×480」「800×600」以外を使っている場合で、 システム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]が使われているコモン素材を使う場合は、 以下の部分を修正する必要があります。 ▼修正前の設定例
▼修正後の設定例
▲トップへ戻る▲ ■[Sys85:描画モード(0=3Dモード,1=ソフトウェア)]
ゲーム画面を表示する描画の処理方法を取得する時に使います。 ソフトウェアモードは、処理速度が遅くなる傾向があるので、 プレイヤーがソフトウェアモードに切り替えてゲームを実行した時には、 処理落ちしやすい演出(エフェクト表示など)を減らすなどの対策を行う事ができます。 モードの設定は、ウディタの画面上の「ゲーム設定 → コンフィグを開く」で設定できます。 また「Config.exe」のファイルを使う事で、プレイヤーがモードを変える事もできます。 ▲トップへ戻る▲ ■[Sys87:仲間1影番号(-1=主人公と同じ)] ■[Sys88:仲間2影番号(-1=主人公と同じ)] ■[Sys89:仲間3影番号(-1=主人公と同じ)] ■[Sys90:仲間4影番号(-1=主人公と同じ)] ■[Sys91:仲間5影番号(-1=主人公と同じ)] 仲間の足元に表示する影番号を設定します。 主人公の影番号はシステム変数[36:主人公の影番号(Sys9)]にて設定します。 システム変数[87〜91]に設定する値はシステムDB[9:キャラ影グラフィック名]のデータIDになります。 初期値は以下のとおりです。
「ゲームの基本設定」にある「キャラクターの影」の設定が「使わない」になっている場合は、 システム変数[87〜91]の値に関係なく、影は表示されません。 ▲トップへ戻る▲ ■[Sys95:再生中BGM音量[%]] ■[Sys96:再生中BGMテンポ/周波数[%]] ■[Sys97:再生中BGS音量[%]] ■[Sys98:再生中BGSテンポ/周波数[%]] 再生中のBGM・BGSの音量やテンポを取得&設定します。 新しいBGM・BGSを読み込みますと、この変数の値が更新されます。 ▲トップへ戻る▲ ■[Sys100:BGM音量補正[%]] ■[Sys101:BGS音量補正[%]] ■[Sys102:SE音量補正[%]] BGM・BGS・SEの音量補正を取得&設定します。 上記のシステム変数[95:再生中BGM音量[%]][97:再生中BGS音量[%]]とは異なり、 BGMやBGSの演奏内容が変わっても、この変数の値は変わりません。 初期値は以下のとおりです。
システム変数[100:BGM音量補正[%]]やシステム変数[101:BGS音量補正[%]]の値を変えると、 リアルタイムでBGMやBGSの音量が変わります。 しかしシステム変数[102:SE音量補正[%]]の場合は、音量補正がSEの演奏開始時のみに作用するため、 SE演奏中にシステム変数[102:SE音量補正[%]]の値を変えても、演奏中のSEの音量は変わりません。 システム変数[100:BGM音量補正[%]]はピクチャで表示する動画の音量にも作用します。 動画の音量は【ピクチャ表示】を実行した時のシステム変数[100:BGM音量補正[%]]の値の合わせて音量が変わります。 BGMとは異なり、動画再生中にシステム変数[100:BGM音量補正[%]]の値を変えても、動画の音量は変わりません。 動画再生中の音量を変えたい場合は【ピクチャエフェクト】にある動画ピクチャ用の設定を使ってください。 ▼【使用例】音量ON/OFF [A]キーを押す事でBGM・BGS・SEのミュート状態のON/OFFを切り替えます。
▲トップへ戻る▲ ■[Sys104:Xスクロール値] ■[Sys105:Yスクロール値] マップの左上からどれくらいスクロールしているのかをピクセル単位で取得&設定します。 以下は、サンプルゲームのスタート位置のスクロール値です。 サンプルゲームの初期設定の画面サイズは[320×240]なので、 カラーの部分が実際のゲーム画面(プレイヤーが見ている部分)になります。 このシステム変数[104:Xスクロール値][105:Yスクロール値]の値を変えると、 画面の表示位置を変える事ができます。 ▼システム変数[104:Xスクロール値]を「加算100」にした場合 画面のスクロールはイベントコマンド【エフェクト】にある「画面スクロール」でも可能です。 【エフェクト】の方では、徐々にスクロールさせる設定なども可能です。 ▼【使用例】ピクチャがある位置のマス座標を取得 ピクチャの表示位置にシステム変数[104:Xスクロール値][105:Yスクロール値]を加算し、 システム変数[118:[読]タイルサイズ]で除算する事で、ピクチャの表示位置にあるマス座標を算出します。
▼【使用例】マウスポインタがある位置のマス座標を取得 ピクチャの表示位置にシステム変数[104:Xスクロール値][105:Yスクロール値]を加算し、 システム変数[118:[読]タイルサイズ]で除算する事で、マウスポインタがどのマスにあるのかを調べる設定です。
さらにマウスポインタがあるマスを白く表示する場合は以下のように設定。
▼処理結果 ▲トップへ戻る▲ ■[Sys108:[読]現フレーム開始からのコマンド処理数] 「コマンド処理数」は1フレーム内でのイベントコマンドの実行数をカウントしたものであり、 システム変数[Sys108:[読]現フレーム開始からのコマンド処理数]を使用すると、 システム変数[Sys108:[読]現フレーム開始からのコマンド処理数]を実行した時点のコマンド処理数が取得できます。 コマンド処理数はイベントコマンドを処理するとコマンド数が増えます。 例えば以下のような設定を処理した場合、コマンド処理数は「3」増えます。
コマンド処理数は「処理したコマンド数」なので、例えば以下にような条件分岐があって、 条件分岐の中が処理されなかった場合は、条件分岐の中の分のコマンド処理数は増えません。
ループ処理がある場合は、ループした回数だけコマンド処理数が増えます。 例えば以下のようなイベントを実行した場合、コマンド処理数は「41」増えます。
1フレームあたりのコマンド処理数を確認する場合は、 コモンイベントの最も番号の大きいコモンイベントに処理数を調べる並列実行イベントを設定すると良いでしょう。 また処理数を調べる時に…
コマンド処理数の上限は1フレームごとに「500万個未満」と決められており、 1フレームでコマンド処理数が500万個を超えるとエラーが発生します。 なお、500万個を超えなくても毎フレームごとに大量のコマンド処理数を実行するとかなりの処理落ちが発生するため、 並列実行で毎フレームごとに大量コマンドを処理する設定はお勧めできません。 ▲トップへ戻る▲ ■[Sys110:現在の乱数のシード(種)] 乱数の処理にて、例えば乱数[1〜100]を実行した時に、コンピュータが自動的に「35」や「71」などの値を出力しますが、 この時に何の値を出力するのかを決定する時に、このシステム変数[110:現在の乱数のシード(種)]の値を使います。 システム変数[110:現在の乱数のシード(種)]の値を固定値にすると、乱数から出力される値は毎回同じになります。 例えば…
何度実行しても乱数[1〜100]から出力される値は、必ず「22」になります。 システム変数[110:現在の乱数のシード(種)]の値は、ゲーム起動時と乱数を使用した時に変わります。 乱数を1回実行する度にシステム変数[110:現在の乱数のシード(種)]の値が変わるため、 同じ乱数[1〜100]を連続で実行しても、同じ値がずっと出力されるような事はありません。 またシステム変数[110:現在の乱数のシード(種)]の値を「0」にすると、 システム変数[110:現在の乱数のシード(種)]に新たな値が設定されます。 システム変数[110:現在の乱数のシード(種)]の値はセーブデータにセーブされるため、 セーブデータをロードした後に実行される乱数の結果は、同じ値になります。 例えばロード後に乱数[1〜100]を実行した時に「18」だった場合は、 何度ロードしても最初に乱数[1〜100]で出力される値は「18」になります。 もしもロードした時に、異なる値で出力にしたい時には、 コモンイベント[048:X[共]基本システム自動初期化]の0行目に以下の設定を追加してください。
▲トップへ戻る▲ ■[Sys111:[読]画面アクティブ状態(1=アクティブ)]
アクティブ状態とは、パソコンの画面上で現在実行しているウィンドウの事を言います。 例えば下図のように、ゲームを起動している時にエディタ画面をクリックすると、 「エディタ画面=アクティブ状態」「ゲーム画面=非アクティブ状態」となり、ゲーム画面の処理が停止します。 ゲーム画面が非アクティブ状態になるとゲームの処理が停止しますが、 「ゲームの基本設定」の「ウィンドウ非アクティブ時の挙動」の設定を「実行し続ける」にすると、 ゲーム画面が非アクティブ状態になってもゲームの処理が動き続けます。 ▼ ゲームの基本設定の「ウィンドウ非アクティブ時の挙動」の設定欄 この「ウィンドウ非アクティブ時の挙動」を「実行し続ける」にした時に、 ゲーム画面がアクティブ状態なのか、非アクティブ状態なのかを判断する時に、 システム変数[111:[読]画面アクティブ状態(1=アクティブ)]を使います。 なお、「ウィンドウ非アクティブ時の挙動」が「処理を停止」の場合は、 ゲーム画面が非アクティブ状態の時には「システム変数[111]=0」にする処理を動かす事ができないため、 システム変数[111:[読]画面アクティブ状態(1=アクティブ)]は常に「1」になります。 ▲トップへ戻る▲ ■[Sys112:[読]テストプレイ中?(1=YES)]
テストプレイモードでゲームを動かしているかどうかを調べる時に使います。 [Game.exe]でゲームを始めた時には「システム変数[112]=0」になります。 このシステム変数[112:[読]テストプレイ中?(1=YES)]を使う事で、 例えばテストプレイ用のイベントをテストプレイの時だけ実行する事ができます。 万が一テストプレイ用のイベントを残したまま作品を公開しても、 テストプレイ用のイベントが実行される事はありません。 ▼設定例
▼処理結果 ▲トップへ戻る▲ ■[Sys115:[読]Game.exeバージョン(x100)] ゲームを動かしている実行ファイルのバージョンを調べる時に使います。 システム変数[115:[読]Game.exeバージョン(x100)]の値は、バージョンの100倍値(「2.20」→「220」)になります。 ウディタ[3.205]のように小数点以下3桁の場合は、小数点以下2桁までの「320」になります。 「ゲームの基本設定」にある「Game.exe動作バージョン調整」で古いバージョンに設定しても、 このシステム変数[115:[読]Game.exeバージョン(x100)]の値は最新バージョンの値になります。 このシステム変数[115:[読]Game.exeバージョン(x100)]を使う事で、例えばコモン素材を公開する時に、 コモン素材を使用するウディタのバージョンに合わせて、イベント処理を変える設定ができます。 ▲トップへ戻る▲ ■[Sys116:[読]画面サイズX] ■[Sys117:[読]画面サイズY] ゲーム画面の縦と横のサイズをピクセル単位で取得する事ができます。 初期設定は「ゲームの基本設定」で行います。 ※プロ版の場合は「横100〜1920ピクセル」「縦100×1440ピクセル」の間で自由に画面サイズが設定できます。 ▼【使用例】ゲーム画面の下に向かって徐々に暗くする ゲーム画面の下に向かって暗くなるピクチャを表示します。
メニュー画面の背景にも使われています。 画面をうす暗くする方法として、イベントコマンド【色調変更】の設定もあります。 【色調変更】の場合は、画面全体を同じ色でうす暗くしますが、 ピクチャの場合は「画面の下に向かって徐々に暗くする」と言った表示設定が可能です。 画像のサイズ(生成サイズ)は、 システム変数[116:[読]画面サイズX][117:[読]画面サイズY]の変数呼び出し値「9000116」「900117」で設定します。 ファイル名は「<GRADY-799-000>」を設定します。 ▼ピクチャの設定画面
▲トップへ戻る▲ ■[Sys118:[読]タイルサイズ] タイルのサイズ(1マスのサイズ)を取得します。 初期設定は「ゲームの基本設定」で行います。 このシステム変数[118:[読]タイルサイズ]は、ウディタ[2.20]で実装されたシステム変数であり、 ウディタ[2.20]以前のバージョンでは機能しません。 そのため、ウディタ[2.20]以前に作られたコモン素材でタイルのサイズを取得する時には、 システム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]を使っていました。 もしもウディタ[2.20]以前のバージョンで作られたコモン素材を使う場合で、 そのコモン素材がシステム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]を利用していて、 なおかつゲーム画面のサイズとタイルサイズの組み合わせが…
システム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]の設定部分を修正する必要があります。 ▼修正前の設定例
▼修正後の設定例
▼【使用例】主人公がいるマスの中央にピクチャを表示 主人公の画面位置(ピクセル値)を取得した場合、Y位置は主人公の足元の位置になります。 これを主人公がいるマスの中央へ移動させる時に、 システム変数[118:[読]タイルサイズ]を「除算2」にした値を減算して位置を調整します。
▼処理結果
▲トップへ戻る▲ ■[Sys119:[読]基本画面倍率x[1-3]] 「ゲームの基本設定」の「ゲーム画面サイズ」で設定したゲーム画面の倍率を取得します。 下図の設定の場合は「2」を取得します。 プロ版の場合は「x3」の設定も可能であるため、「システム変数[119]=3」になる事もあります。 ▲トップへ戻る▲ ■[Sys120:リセット履歴 0=ナシ/1=F12/2=コマンド]
「ゲーム開始位置」からゲームを始める際、どのような状態でゲームを始めているのかを、 このシステム変数[120:リセット履歴 0=ナシ/1=F12/2=コマンド]で確認する事ができます。 初期値は以下のとおりです。
▼【使用例】[F12]でタイトル画面へ戻り、「スタート」を押すと挨拶が実行されない サンプルゲームのタイトル画面にて[スタート]を選択すると挨拶イベントが実行しますが、 [F12]キーを押してタイトル画面に戻って[スタート]を選択すると挨拶イベントが実行せず、 すぐにゲームが始められるように設定します。 タイトル画面のマップにあるマップイベント「タイトル用イベント」の55行目に以下のイベントを追加してください。
ゲームを起動し、タイトル画面が表示されたら「スタート」を実行してください。 挨拶イベントが終わり、主人公が自由に移動できるようになったら、 キーボードの[F12]を押してタイトル画面へ戻ってください。 そして再び「スタート」を実行すると、今度は挨拶イベントが実行されずにすぐに主人公の移動ができます。
▲トップへ戻る▲ ◎関連ページ ◆「変数」って何? ┣◆「セルフ変数」って何? ┣◆「通常変数」「予備変数」って何? ┣◆「文字列変数」って何? ┣◆「システム変数」「システム文字列」って何? ┃┣◆システム変数[0〜34]の説明 ┃┣◆システム変数[35〜76]の説明 ┃┣◆システム変数[77〜120]の説明 ┃┣◆システム変数[121〜148]の説明 ┃┣◆システム文字列[0〜49]の説明 ┃┗◆システム文字列[50〜76]の説明 ┣◆「変数呼び出し値」「X番の変数呼出」って何? ┃┗◆【使用例】「変数呼び出し値」「X番の変数呼出」 ┣◆「乱数」って何? ┃┗◆乱数で一度出力した値を二重に出力させない ┗◆変数の番号や文字列を別のものに置き換える |