WOLF RPGエディター(ウディタ)/変数【サイトトップへ戻る】 ■システム変数[77〜]の説明 (更新:2022/04/06) システム変数[77]以降について解説します。
「変数」や「システム変数・システム文字列」に関する基本説明は、別ページに記載しています。 ■[Sys77:現在の[年]] ■[Sys78:現在の[月]] ■[Sys79:現在の[日]] ■[Sys80:現在の[時]] ■[Sys81:現在の[分]] ■[Sys82:現在の[秒]]
パソコン内で動いている時計から現在の年月日時分秒を取得します。 ▼【使用例】現在の年月日時分秒を表示
▼動作イメージ ![]() 上記の設定では「4月」「8分」などと十の位に「0」の表示がありませんが、 「04月」「08分」などと十の位に「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)]にて設定します。 変数名にある「(Sys9)」はシステム変数[9]ではなくシステムDB[9:キャラ影グラフィック名]の事を示しており、 システム変数[87〜91]に設定する値はシステムDB[9:キャラ影グラフィック名]のデータ番号になります。 ![]() 初期値は…
「ゲームの基本設定」にある「キャラクターの影」の設定が「使わない」になっている場合は、 システム変数[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フレームごとに「50万個未満」と決められており、 1フレームでコマンド処理数が50万個を超えるとエラーが発生します。 なお、50万個を超えなくても、毎フレームごとに数十万個のコマンドを処理している場合は、 かなり処理落ちが発生するため、あまりコマンド数を多く処理するイベント設定はお勧めできません。 ★「コマンド処理数」の注意点 コマンド処理数が多ければ多い程、処理負担が大きくなり、処理落ちの原因になります。 そのため、出来る限りコマンド処理数を減らした方が良いでしょう。 但し「コマンド処理数が少ない=処理落ちしない」とは限らず、 例えば新規の読み込みファイルが多い場合は、少ないコマンド処理数でも処理落ちが発生します。 ▲トップへ戻る▲ ■[Sys110:現在の乱数のシード(種)]
乱数を作成する基となる値を設定します。 乱数とは「コンピュータが自動的に数値を決める機能」であり、 例えば乱数[1〜100]を設定した場合、[1〜100]のいずれかの値を出力します。 ランダムであるため、「5 → 33 → 18」となる場合もあれば、 「42 → 42 → 42」と同じ値が連続的に選ばれる事もあります。 ゲームの制作では、ダメージ量や回復量などを「18〜24」と言った変動値にする時や当たり判定(命中率)の処理、 出現する敵グループのランダム化やサイコロを振った時の出目など、様々な場面で乱数を使います。 乱数はコンピュータが勝手に値を決めるので、例えばリプレイ機能を作成した時に、 乱数の値がリプレイの保存時と再生時が異なりますと、正しくリプレイを再生する事ができません。 そのため、このシステム変数[110:現在の乱数のシード(種)]に値を設定する事で、 前と同じ乱数の値にする事ができます。 例えば、「システム変数[110]=1」にして…
乱数の範囲を…
また…
乱数の範囲が「+10([1〜100]+10=[11〜110])」になると、 処理結果も「+10([8]+10=[18])」になります。 システム変数[110:現在の乱数のシード(種)]の値はゲーム起動時と乱数を使用した時に変わります。 システム変数[110:現在の乱数のシード(種)]の値に「0」を設定すると、新たな乱数の基となる値が設定されます。 セーブデータをロードした後に実行される乱数の結果は同じになります。 例えばサイコロを振るゲームの場合、ロードした後のサイコロの出目は、何度ロードし直しても同じになります。 もしもロード後の乱数の結果を毎回変えたい時には、乱数を実行する前に…
▲トップへ戻る▲ ■[Sys111:[読]画面アクティブ状態(1=アクティブ)]
ゲームを起動し、ゲーム画面が表示された後にゲーム画面以外をクリックすると、 ゲーム画面が「非アクティブ状態」になります。 ▼デバッグウィンドウをクリックした時の状態です。 ゲーム画面は停止し、ゲーム画面上部の文字は薄い色の文字になります。 ![]() 初期設定では、ゲーム画面が非アクティブ状態になると、ゲームの処理が停止しますが、 「ゲームの基本設定」にある「ウィンドウ非アクティブ時の挙動」の設定を「実行し続ける」に変えた場合は、 ゲーム画面以外をクリックしてゲーム画面を非アクティブ状態にしても、ゲームの処理はそのまま動き続けます。 ![]() そして「ウィンドウ非アクティブ時の挙動=実行し続ける」にした上でゲームを起動し、 ゲーム画面以外をクリックした時のみ「システム変数[111]=0」になります。 「システム変数[111]=0」の時は、例えばゲーム画面の上に違うウィンドウが表示されているような状態です。 以下は、ウディタのゲーム画面の上に、インターネットを見るウィンドウを乗せている状態です。 このような時に違うウィンドウをアクティブ状態にしている時に「システム変数[111]=0」になります。 ![]() ▲トップへ戻る▲ ■[Sys112:[読]テストプレイ中?(1=YES)]
テストプレイモードでゲームを動かしているかどうかを調べる時に使います。 [Game.exe]でゲームを始めた時には「システム変数[112]=0」になります。 ![]() このシステム変数[112:[読]テストプレイ中?(1=YES)]を使う事で、 例えばテストプレイ用のイベントをテストプレイの時だけ実行する事ができます。 万が一テストプレイ用のイベントを残したまま作品を公開しても、 テストプレイ用のイベントが実行される事はありません。 ▼設定例
▼処理結果 ![]() ▲トップへ戻る▲ ■[Sys115:[読]Game.exeバージョン(x100)]
ゲームを動かしている実行ファイルのバージョンを調べる時に使います。 システム変数[115:[読]Game.exeバージョン(x100)]の値は、 バージョンは100倍値(「2.20」の場合は「220」)になります。 ウディタ[2.20]から実装されたシステム変数であるため、[2.20]以前のバージョンでは対応しておらず、 [2.10]などで調べてもシステム変数[115:[読]Game.exeバージョン(x100)]の値は「0」になります。 「ゲームの基本設定」にある「Game.exe動作バージョン調整」で古いバージョンに設定しても、 このシステム変数[115:[読]Game.exeバージョン(x100)]の値は最新バージョンの値になります。 ![]() このシステム変数[115:[読]Game.exeバージョン(x100)]を使う事で、例えばコモン素材を公開する際に、 コモン素材を使用するウディタのバージョンに合わせた調整を行う事ができます。 ▲トップへ戻る▲ ■[Sys116:[読]画面サイズX] ■[Sys117:[読]画面サイズY]
ゲーム画面の縦と横のサイズをピクセル単位で取得する事ができます。 初期設定は「ゲームの基本設定」で行います。 ![]() このシステム変数[116:[読]画面サイズX][117:[読]画面サイズY]は、 ウディタ[2.20]で実装されたシステム変数であり、ウディタ[2.20]以前のバージョンでは機能しません。 そのため、ウディタ[2.20]以前に作られたコモン素材でゲーム画面のサイズを取得する時には、 システム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]を使っていました。 もしもウディタ[2.20]以前のバージョンで作られたコモン素材を使う場合で、 そのコモン素材がシステム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]を利用していて、 なおかつゲーム画面のサイズが「320×240」「640×480」「800×600」以外である場合は、 システム変数[84:画面サイズ(0=320x240,1=640x480 2=800x600 他=-1)]の設定部分を修正する必要があります。 ▼修正前の設定例
▼修正後の設定例
▼【使用例】ゲーム画面の下に向かって徐々に暗くする ゲーム画面の下に向かって暗くなるピクチャを表示します。
メニュー画面の背景にも似たような表示があります。 ![]() 画面をうす暗くする方法として、イベントコマンド【色調変更】の設定があります。 ![]() 【色調変更】の場合は、画面全体を同じ色でうす暗くしますが、 ピクチャの場合は画像で表示する事ができるため、 「画面の下に向かって徐々に暗くする」と言った表示も可能になります。 画像のサイズ(生成サイズ)はシステム変数[116:[読]画面サイズX][117:[読]画面サイズY]の 変数呼び出し値「9000116」「900117」を設定します。 ファイル名は「<GRADY-888-111>」を設定します。 ▼ピクチャの設定画面(黄色の所が変更箇所) ![]()
▲トップへ戻る▲ ■[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」にした値を減算して位置を調整します。
▼処理結果
▲トップへ戻る▲ ■[Sys120:リセット履歴 0=ナシ/1=F12/2=コマンド]
「ゲーム開始位置」からゲームを始める際、どのような状態でゲームを始めているのかを、 このシステム変数[120:リセット履歴 0=ナシ/1=F12/2=コマンド]で確認する事ができます。 初期値は…
このシステム変数[120:リセット履歴 0=ナシ/1=F12/2=コマンド]の値はセーブされませんので、 変数の値が「1」の状態でセーブしても、ロード時は「0」になります。 使用例としては、例えばタイトル画面で「スタート」を実行した場合、 ゲームオーバーなどで再びゲームをやり直す時に、オープニングを省略するような設定ができます。 ▼【使用例】[F12]でタイトル画面へ戻り、「スタート」を押すと挨拶が実行されない サンプルゲームのタイトル画面にて[スタート]を実行すると、通常は挨拶が実行されますが、 [F12]キーを押してタイトル画面に戻って来た時に[スタート]を実行すると、 挨拶の部分が実行されず、すぐにゲームが始められるように設定します。 タイトル画面のマップにあるマップイベント内の【場所移動】の設定の下に、以下のイベントを追加してください。
ゲームを起動し、タイトル画面が表示されたら「スタート」を実行してください。 場所移動が実行され、挨拶イベントが終わり、主人公が自由に移動できるようになったら、 キーボードの[F12]を押してタイトル画面へ戻ってください。 そして再び「スタート」を実行すると、今度は挨拶イベントが実行されず、 すぐに主人公の移動が可能になります。
▲トップへ戻る▲ ■[Sys134:POVキーで方向入力オン?[1=ON]]
ゲームパッドの十字キーで操作ができるようにする場合は「1」を設定します。 初期値は…
▲トップへ戻る▲ ■[Sys135:左スティックで方向入力オン?[1=ON]]
ゲームパッドの左ステックで操作ができるようにする場合は「1」を設定します。 初期値は…
▲トップへ戻る▲ ◎関連ページ ◆「変数」って何? ┣◆「セルフ変数」って何? ┣◆「通常変数」「予備変数」って何? ┣◆「文字列変数」って何? ┣◆「システム変数」「システム文字列」って何? ┃┣◆システム変数[0〜34]の説明 ┃┣◆システム変数[35〜76]の説明 ┃┣◆システム変数[77〜]の説明 ┃┗◆システム文字列の説明 ┣◆「変数呼び出し値」「X番の変数呼出」って何? ┃┗◆【使用例】「変数呼び出し値」「X番の変数呼出」 ┗◆変数番号を別の変数番号に置き換える |