WOLF RPGエディター(ウディタ)[3.175]/イベントコマンド【サイトトップへ戻る】
■変数操作
(更新:2023/04/24)


イベントコマンド【変数操作】について解説します。



ショートカット
■イベントコマンド【変数操作】とは?
■「X番の変数呼出」とは?
■設定画面の説明:代入先の指定
■設定画面の説明:代入演算子
■設定画面の説明:[結果を±999999に収める]
■設定画面の説明:[実数計算(小数切り捨て)]
■設定画面の説明:右辺
■設定画面の説明:変数名の設定
■補足

「変数」に関する基本説明は、別ページに記載しています。
【変数の説明を開く】


  
■イベントコマンド【変数操作】とは?

【変数操作】は数値タイプの変数の値を変える時に使います。

▼セルフ変数[0]に「2」を代入
■変数操作: このEvのセルフ変数0 = 2 + 0

▼セルフ変数[0]にセルフ変数[1]の値を代入
■変数操作: このEvのセルフ変数0 = このEvのセルフ変数1 + 0

▼セルフ変数[0]に[0〜100]の乱数を代入
■変数操作: このEvのセルフ変数0 = 0 〜 100



似たようなイベントコマンドに【変数操作+】があります。

【変数操作】は「変数÷2」や「変数+変数」のような計算を行う時に使うのに対し、
【変数操作+】は「主人公の現在位置」や「現在のマップ番号」などの特定の情報を取得する時に使います。

【【変数操作+】の説明を開く】



計算処理はまず右辺の計算が先に行われます。

そして「代入先の変数(左辺) 計算方法(演算子) 右辺」と言った形で計算され、
計算結果は「代入先の変数(左辺)」に設定されます。



例えば…
■変数操作: このEvのセルフ変数0 /= 10 - 2
の場合は…
セルフ変数[0]÷(10−2)=セルフ変数[0]に計算結果を設定
と言った計算式になります。



ウディタでは小数点以下の数値を扱う事ができません。

例えばパーセントを計算する場合、「現在の数値÷100%時の数値×100」の計算式に基づいて…
■変数操作: このEvのセルフ変数0 /= 500 + 0
■変数操作: このEvのセルフ変数0 *= 100 + 0
と設定すると、計算結果が「0」か「100の倍数」になってしまいます。

そのため…
■変数操作: このEvのセルフ変数0 *= 100 + 0
■変数操作: このEvのセルフ変数0 /= 500 + 0
と言ったように、先に100倍にしてから「100%時の数値」で割ってください。



変数で扱える数値は「±2,000,000,000(-20億〜20億)」になります。

コモンイベントの【変数操作】の計算では、「±20億」の範囲を超える設定が可能であり、
「2,147,483,648」の限界値を超えると「-2,147,483,647」になってしまう仕様があります。
そのため、「±20億」の範囲を超えないように設定してください。

なお、【変数操作】にあるチェックボックスの設定のどれか1つでもチェックが入っている場合は、
「±20億」の範囲に収まるように処理されます。


▲トップへ戻る▲


  
■「X番の変数呼出」とは?

[X番の変数呼出]と言う項目があります。



[X番の変数を呼出]は「変数呼び出し値」を設定した変数を設定する事で、
その変数呼び出し値で指定した変数の値を操作する事ができます。
【「変数呼び出し値」「X番の変数呼出」の説明を見る】



[X番の変数を呼出]が設定されている場合、イベントコマンドの表示に「V」が付きます。

X番の変数を呼出 設定例
チェックなし ■変数操作: このEvのセルフ変数0 = 100 + 0
チェックあり ■変数操作: V[このEvのセルフ変数0] = 100 + 0



使用例としては、例えば…
■変数操作: このEvのセルフ変数0 = 2000003 + 0
■変数操作: V[このEvのセルフ変数0] = 100 + 0
と言った設定の場合、
セルフ変数0には通常変数[3]の「変数呼び出し値」となる「2000003」を設定しており、
上記設定では「通常変数[3]に「100」を代入」と言った設定になります。

なお「2000003」の数値を設定する時には、「データを呼ばない」にチェックを入れてください。





[X番の変数を呼出]は、変数に設定された「変数呼び出し値」を変える事で、
操作する変数を変える事が出来る他、【変数操作】設定項目が無い変数の値を操作する事もできます。

例えば、コモンイベント[215]のセルフ変数をコモンイベント[215]以外のイベントから操作する場合、
コモンイベントのセルフ変数を呼び出す値「15000000+100×コモンID+セルフ変数」を使えば、
指定したコモンイベントのセルフ変数を操作する事ができます。

▼コモンイベント[215]のセルフ変数[36]に「100」を代入する場合
■変数操作: このEvのセルフ変数0 = 15021536 + 0
■変数操作: V[このEvのセルフ変数0] = 100 + 0

他にも【DB操作】では操作する事が出来ないユーザーDBの設定値を変える事もできます。

▼ユーザーDB[2:アイテム]の[4:復活の薬]の項目[19:販売価格 [0=売れない]]を「150」に変える場合
■変数操作: このEvのセルフ変数0 = 1002000419 + 0
■変数操作: V[このEvのセルフ変数0] = 150 + 0

なお、このユーザーDBの数値変更は一時的なものであり、セーブデータをロードすると初期値に戻ります。



[X番の変数を呼出]は使い方を誤ると、間違った変数の値を変えてしまったり、
999999以下の場所に格納しようとしました」などのエラーが発生する事があります。

使用する際は「変数呼び出し値」をしっかりと設定した上でご利用ください。


▲トップへ戻る▲


   
■設定画面の説明:代入先の指定



どの変数の値を変えるのかを設定します。

ボタン 説明
Self マップイベントの場合は、そのマップ内にあるマップイベントのセルフ変数を設定します。
マップイベントのセルフ変数には名前を付ける事ができません。
もしも何に使っているのかを記録しておきたい場合は、イベントコマンド表示欄の最初に…
▼ セルフ0:ピクチャ表示X
▼ セルフ1:ピクチャ表示Y
▼ セルフ2:ゲージの長さ
と言ったように、イベントコマンド【コメント】を使って書いておくと良いでしょう。
【コメントの設定が書かれた【文章の表示】の説明ページを開く】
コモンイベントの場合は、そのコモンイベントのセルフ変数を設定します。
変数の名前はコモンイベントの画面右上にある[セルフ変数使用状況]で設定できます。
「通常変数」か「予備変数」を設定します。
変数の選択一覧は、[通常変数]→[予備変数1]→[予備変数2]の順で並んでいます。
変数の名前は、システムDB[14〜23]に設定されています。
Sys システム変数を設定します。
【システム変数についての説明を見る】
可変DB 可変DBを設定します。
可変DBの値の設定は、イベントコマンド【DB操作】でも設定できます。
【【DB操作】の説明ページを開く】



右側に付いているチェックボックスにチェックを入れると「〜1個」の設定ができます。


これは複数の変数を一括で処理する時に使います。

例えば、「セルフ変数0 〜 4個」と設定すると…
■変数操作: このEvのセルフ変数0〜このEvのセルフ変数4 = 100 + 0
と言った設定になります。
この場合は、セルフ変数[0〜4]に「100」を設定します。



一括処理+[X番の変数を呼出]の場合は、
代入先の変数になる全ての変数に「変数呼び出し値」を設定する必要があります。


▼設定例
■変数操作: このEvのセルフ変数0 = 2000000 + 0
■変数操作: このEvのセルフ変数1 = 2000001 + 0
■変数操作: このEvのセルフ変数2 = 2000002 + 0
■変数操作: このEvのセルフ変数3 = 2000003 + 0
■変数操作: V[このEvのセルフ変数0〜このEvのセルフ変数3] = 100 + 0



右辺に「乱数」を設定している場合で、代入先の変数が複数ある場合は、
代入先の変数ごとにそれぞれ異なる乱数の値が設定されます。

例えば、以下のようにセルフ変数[0〜1]乱数[0〜100]の値を設定する場合…
■変数操作: このEvのセルフ変数0〜このEvのセルフ変数1 = 0 〜 100
セルフ変数[0]と[1]には、それぞれ異なる値が設定されます。

もしも同じ乱数の値を設定したい時には…
■変数操作: このEvのセルフ変数0 = 0 〜 100
■変数操作: このEvのセルフ変数1 = このEvのセルフ変数0 + 0
と言ったように設定してください。


▲トップへ戻る▲


  
■設定画面の説明:代入演算子



代入先の指定の変数にどのように右辺の値を設定するのかを選択します。

「%=」「角度×10←傾き」「絶対値」など、演算子に関する説明は別ページに記載しています。
【演算子に関するページを開く】


▲トップへ戻る▲


  
■設定画面の説明:[結果を±999999に収める]



変数の値は百万を超える数値を設定する事もできますが、この[結果を±999999に収める]にチェックを入れると、
代入先の変数の値が百万以上になると「999999」に修正され、マイナス百万以下になると「-999999」に修正されます。


▲トップへ戻る▲


  
■設定画面の説明:[実数計算(小数切り捨て)]



右辺の計算処理の中で小数点以下の数値を活かすのか、切り捨てるのかを設定します。



同じ数値の設定で[実数計算(小数切り捨て)]のON/OFFで比較すると以下のようになります。



▼[実数計算(小数切り捨て)]がOFFの場合

■変数操作: このEvのセルフ変数0 = 1000 + 0
■変数操作: このEvのセルフ変数0 *= 50 / 8

この場合、右辺の「50÷8」は「6」になり、
1000×6」の計算で最終的にセルフ変数[0]には「6000」が設定されます。



▼[実数計算(小数切り捨て)]がONの場合

■変数操作: このEvのセルフ変数0 = 1000 + 0
■変数操作: [実] このEvのセルフ変数0 *= 50 / 8

この場合、右辺の「50÷8」は「6.25」になり、
1000×6.25」の計算で最終的にセルフ変数[0]には「6250」が設定されます。

なお、この小数点以下の数値は、この計算処理の中で一時的有効になっているだけであり、例えば…
■変数操作: [実] このEvのセルフ変数0 = 50 / 8
を設定しても、セルフ変数[0]には「6.25」ではなく「6」が設定されます。


▲トップへ戻る▲


  
■設定画面の説明:右辺



計算処理の基となる値を設定します。

「+」「÷」「ビット積」など、演算子に関する説明は別ページに記載しています。
【演算子に関するページを開く】



この右辺では左右それぞれに値を設定する事ができ、「セルフ変数[1] × 2」のような計算を行う事ができます。

▼「セルフ変数1×2」の計算結果をセルフ変数[0]に代入する設定例
■変数操作: このEvのセルフ変数0 = このEvのセルフ変数1 * 2

右辺で設定される変数の値は、値を呼び出すだけの存在であり、
セルフ変数[1] × 2」を設定しても実際にセルフ変数[1]の値が変化する事はありません。



百万を超える値を設定すると、「変数呼び出し値」になります。
【「変数呼び出し値」の説明を見る】

「変数呼び出し値」を設定すると、[Self][変][Sys]以外の変数の値を呼び出す事ができます。

呼び出し内容 呼び出し値 イベントコマンドの表示例
主人公のキャラの高さ 9180004 ■変数操作: V0[] = 主人公の高さ(ピクセル) + 0
文字列変数[12] 3000012 ■変数操作: V0[] = S12[] + 0
コモンイベント[215]
セルフ変数[36]
15021536 ■変数操作: V0[] = コモンEv215セルフ36 + 0
可変DB[4:┣ 状態耐性]
データ[12:ウルファール]
項目[2:<毒>成功率%]
1104001202 ■変数操作: V0[] = 可変DB(4,12,2)[ウルファール <毒>成功率% ] + 0

「変数呼び出し値」ではなく、単に百万以上の値を設定したい時には、
[データを呼ばない]にチェックを付けてください。


▲トップへ戻る▲


  
■設定画面の説明:変数名の設定



システムDB[14〜23]にある「通常変数」と「予備変数」の名前を付けます。



名前を付ける場合は、まず左上をクリックして、名前を付ける変数を選択してください。





下の入力欄に新しく付ける名前を設定して、[名前を付ける]をクリックしてください。





既に設定されている変数名を使用する場合は、[↓コピー]をクリックしてください。





[サイズ+1]をクリックすると、システムDB最大データ数が増えます。

増える対象となる変数は、名前を付ける変数を「通常変数」にしている場合は、通常変数のデータ数が増え、
「予備変数3」にしている場合は、予備変数3のデータ数が増えます。


        



▲トップへ戻る▲


  
■補足

イベントコマンドの設定画面は、前に設定した内容が残った状態で次の設定ができます。

その時に修正するべき点を修正し忘れると、不具合の原因になります。



例えば以下のような設定を行った場合…

■変数操作: V[このEvのセルフ変数0] += このEvのセルフ変数1 * 2



続けて【変数操作】を設定する時には、前に設定した時の設定画面のままになります。



仮に次に設定する内容が…
■変数操作: V[このEvのセルフ変数0] -= このEvのセルフ変数2 + 0
の場合は、以下の部分を修正する必要があります。





もしも設定変更のし忘れると、不具合の原因になります。

例えば以下の場合は「セルフ変数2 × 0」になっており、右辺の値が常に「0」になってしまいます。





状況によっては「クリア」のボタンを押してから設定するのも有効的です。





但し「クリア」のボタンを押すと、右辺の設定右上の代入演算子の設定だけでなく、
「X番の変数呼出」のオプションもOFFになるため、注意が必要です。





イベントコマンドをコピー&貼り付けで設定する時にも、
貼り付け後の修正作業が不十分になると、不具合が発生する可能性があるため、注意が必要です。


▲トップへ戻る▲



◎関連ページ

◆「変数」って何?

◆「イベントコマンド」って何?
┣◆文章の表示
┃┗◆特殊文字
┣◆選択肢
┃┗◆【使用例】選択肢
┣◆変数操作
┃┗◆演算子について
┣◆DB操作
┣◆文字列操作
┃┗◆【使用例】文字列操作
┣◆変数操作+
┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い
┃┣◆【使用例】変数操作+の「キャラ」と「位置」
┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」
┣◆条件(変数)
┣◆条件(文字列)
┣◆キー入力
┃┗◆【使用例】キー入力
┣◆ピクチャ
┃┗◆表示形式(通常・加算・減算・乗算)について
┣◆エフェクト
┃┗◆【使用例】エフェクト
┣◆サウンド
┣◆セーブ・ロード操作
┣◆パーティ画像
┣◆チップ処理
┃┗◆【使用例】チップ処理
┣◆場所移動
┣◆イベント制御
┃┣◆キャラクターの動作指定
┃┗◆【使用例】イベント制御
┣◆コモンイベント
┣◆ダウンロード
┗◆プロ版機能

YADOT-WOLFトップ  気紛れな空間へ戻る  メール