WOLF RPGエディター(ウディタ)/変数【サイトトップへ戻る】
■「変数呼び出し値」「X番の変数呼出」って何?
(更新:2024/03/18)


「変数呼び出し値」「X番の変数呼出」について解説します。


ショートカット
■「変数呼び出し値」とは?
■変数呼び出し値の一覧
■「X番の変数呼出」とは?
■使用例
┣◆【使用例】ループ回数を変数の値で設定
┣◆【使用例】オリジナルのマウスポインタを表示
┗◆【使用例】マップイベントの高さを変える
■文字列変数の数字を数値変数へ代入

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


  
■「変数呼び出し値」とは?

変数呼び出し値」は、指定した変数の値を呼び出す時に使います。



例えばピクチャの設定画面では、様々な数値を設定する場所があります。

▼黄色の部分が数値で設定する所


これらの数値設定を変数の値で設定したい時に「変数呼び出し値」を使います。



指定したコモンイベントのセルフ変数なども「変数呼び出し値」で設定する事ができます。

▼コモンイベント[123]のセルフ変数[15]の値を呼び出す設定




コモンイベント内の変数の検索でも「変数呼び出し」を使います。

▼コモンイベントのセルフ変数[0](1600000)を検索する時の設定



▲トップへ戻る▲


  
■変数呼び出し値の一覧

以下は変数呼び出し値の一覧です。

変数呼び出し値 説明
1000000+10*Y+X マップイベントのセルフ変数を呼び出す時に使います。
以下の3つの数値を足した物が変数呼び出し値になります。
+1000000
+マップイベントID×10
+セルフ変数(0〜9)
マップイベント[3]セルフ変数[5]の変数呼び出し値は…
+1000000
+30(マップイベントID[3]×10)
+5
の設定によって「1000035」になります。
セルフ変数の対象は現在表示されているマップにあるマップイベントになります。
他のマップにあるマップイベントのセルフ変数は呼び出す事ができません。
1100000+X 実行中のマップイベントのセルフ変数を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+1100000
+セルフ変数(0〜9)
マップイベントのセルフ変数[8]の変数呼び出し値は…
+1100000
+8
の設定によって「1100008」になります。
マップイベントからコモンイベントを呼び出した場合、
そのコモンイベントで「1100000+X」を使うと、
呼び出し元のマップイベントのセルフ変数を呼び出す事ができます。
マップイベントから呼び出していないコモンイベントの中で、
例えば「1100005」を実行すると「999995」の値が設定されます。
15000000+100*Y+X 指定したコモンイベントのセルフ変数を呼び出す時に使います。
以下の3つの数値を足した物が変数呼び出し値になります。
+15000000
+コモンイベントID×100
+セルフ変数(0〜99)
コモンイベント[013]セルフ変数[20]の変数呼び出し値は…
+15000000
+1300(コモンイベントID[13]×100)
+20
の設定によって「15001320」になります。
1600000+X 実行中のコモンイベントのセルフ変数を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+1600000
+セルフ変数(0〜99)
コモンイベントのセルフ変数[75]の変数呼び出し値は…
+1600000
+75
の設定によって「1600075」になります。
2000000+X システムDB[14:通常変数名]の値を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+2000000
+変数番号(0〜9999)
通常変数[43]の変数呼び出し値は…
+2000000
+43
の設定によって「2000043」になります。
2000000+100000*Y+X システムDB[15:予備変数1]〜[23:予備変数9]の値を呼び出す時に使います。
以下の3つの数値を足した物が変数呼び出し値になります。
+2000000
+予備変数番号×100000
+変数番号(0〜9999)
予備変数[3]変数[45]の変数呼び出し値は…
+2000000
+300000(予備変数番号[3]×100000)
+45
の設定によって「2300045」になります。
3000000+X システムDB[4:文字列変数名]の文字列を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+3000000
+変数番号(0〜9999)
文字列変数[18]の変数呼び出し値は…
+3000000
+18
の設定によって「3000018」になります。
8000000+X 乱数を使う時に使います。
この乱数を利用すると、
指定した値の範囲内でコンピュータが自動的に値を決定します。
以下の2つの数値を足した物が変数呼び出し値になります。
+8000000
+乱数の範囲(0〜999999)
乱数[0〜99]の範囲の変数呼び出し値は…
+8000000
+99
の設定によって「8000099」となり、「0〜99」のいずれかの値を呼び出します。
「10〜20」の範囲にする場合は…
■変数操作: このEvのSelf0 = 乱数[0〜10] + 10
と言ったように設定する必要があります。

なお、【変数操作】には乱数の設定があり…
■変数操作: このEvのSelf0 = 10 〜 20
と言った設定でも「10〜20」の乱数の設定ができます。
通常はこちらの設定方法で乱数を設定するので、
8000000+X」で設定するのは、かなり稀なケースと言えます。
9000000+X システムDB[6:システム変数名]の変数を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+9000000
+変数番号(0〜124)
システム変数[108]の、変数呼び出し値は、
+9000000
+108
の設定によって「9000108」になります。
9900000+X システムDB[5:システム文字列]の変数を呼び出す時に使います。
以下の2つの数値を足した物が変数呼び出し値になります。
+9900000
+変数番号(0〜54)
システム文字列[25]の変数呼び出し値は、
+9900000
+25
の設定によって「9900025」になります。
9180000+10*Y+X

9100000+10*Y+X

9190000+X
主人公やマップイベントに関する設定を取得or入力する時に使います。
対象とするキャラによって、変数呼び出し値が異なります。
対象 呼び出し値の設定方法
主人公 +9180000
+処理内容(0〜9)
仲間1〜5 +9180000
+仲間番号×10
+処理内容(0〜9)
指定したマップイベント +9100000
+マップイベントID×10
+処理内容(0〜9)
呼び出し値を実行したマップイベント +9190000
+処理内容(0〜9)
一の位 処理名 取得 or 設定の内容
0 マップX座標(通常) 通常の1マス単位のX座標
値を設定した場合は設定座標まですり抜け移動
1 マップY座標(通常) 通常の1マス単位のY座標
値を設定した場合は設定座標まですり抜け移動
2 マップX座標(精密) 通常の1マスの1/2単位のX座標
値を設定した場合は設定座標まですり抜け移動
3 マップY座標(精密) 通常の1マスの1/2単位のY座標
値を設定した場合は設定座標まですり抜け移動
4 キャラの高さ 値が増えると画面上部へと浮く(ピクセル単位)
5 キャラの影番号 システムDB[9:キャラ影グラフィック名]のデータID
6 キャラの方向
7:左上 8:上 9:右上
4:左 5:下 6:右
1:左下 2:下 3:右下
7 ピクセル補正値X ピクセル単位でX表示位置を補正
8 ピクセル補正値Y ピクセル単位でY表示位置を補正
9 キャラのチップ画像 画像ファイルのアドレス(文字列)



▼マップX座標・マップY座標の移動時の補足

設定した座標まですり抜けで移動します。

移動時に足踏みアニメはありません。

主人公を対象にした【動作指定】を実行していても、強制的に移動します。

先頭の主人公を操作した場合、後続の仲間は付いて来ません。



▼ピクセル補正値X・ピクセル補正値Yの補足

設定した補正位置まで瞬間的に移動します。

移動しても後続の仲間は付いてきません。



▼キャラのチップ画像の補足

マップイベントにタイルセットの画像を設定している場合は、
何も文字列は取得されません。

なお、【文字列操作】隠し機能「<<GET_MAPEV_FILENAME>>」を使うと、
マップイベントに設定した画像アドレスだけでなく、
タイルセットの画像(タイルID)も取得する事ができます。
【【文字列操作】の隠し機能「<<GET_MAPEV_FILENAME>>」を見る】
マップイベント[4]のキャラチップ画像を呼び出す変数呼び出し値は…
+9100000
+40(マップイベントID[4]×10)
+9
の設定によって「9100049」になります。
■変数操作: このEvのSelf0 = 9100049 + 0
■文字列操作:V[このEvのSelf0] = "CharaChip/[Animal]Cat_pochi.png"
などの設定でマップイベントの画像を変更しても、
別のマップへ移動して戻ってくると元の画像に戻ります。
マップイベントから呼び出したコモンイベントの中で
9190000(このイベント)」の情報を取得すると、
呼び出し元のマップイベントの情報を取得します。
マップイベントから呼び出していないコモンイベントの中で
9190000(このイベント)」の情報を取得すると、
数値系は「-1」、文字列は「<<ERROR>>」になります。
1000000000(10AABBBBCC) ユーザーDBの変数を呼び出す時に使います。
以下の4つの数値を足した物が変数呼び出し値になります。
+1000000000
+タイプID×1000000
+データID×100
+項目ID(0〜99)
ユーザーDB[タイプ2:アイテム][データ4:復活の薬]
[項目19:販売価格 [0=売れない]]の変数呼び出し値は…
+1000000000
+2000000 (タイプID[2]×1000000)
+400 (データID[4]×100)
+19 (項目ID[19])
の設定によって「1002000419」になります。
なお、この呼び出し値を使ってユーザーDBの情報を書き換える事ができますが、
書き換えた情報はセーブされませんので、セーブデータをロードすると、
元の設定に戻ります。
1100000000(11AABBBBCC) 可変DBの変数を呼び出す時に使います。
以下の4つの数値を足した物が変数呼び出し値になります。
+1100000000
+タイプID×1000000
+データID×100
+項目ID(0〜99)
可変DB[18:基本システム用変数]
データ[90:[Lvup]習得技能[文字列]][項目1:文字列]の変数呼び出し値は…
+1100000000
+18000000 (タイプID[18]×1000000)
+9000 (データID[90]×100)
+1 (項目ID[1])
の設定によって「1118009001」になります。
1300000000(13AABBBBCC) システムDBの変数を呼び出す時に使います。
以下の4つの数値を足した物が変数呼び出し値になります。
+1300000000
+タイプID×1000000
+データID×100
+項目ID(0〜99)
システムDB[タイプ7:位置設定リスト]
データ[8]項目[2:Y座標(マップ位置)]の変数呼び出し値は…
+1300000000
+7000000 (タイプID[7]×1000000)
+800 (データID[8]×100)
+2 (項目ID[2])
の設定によって「1307000802」になります。
通常変数、予備変数、文字列変数、システム変数、システム文字列などは、
それぞれ専用の変数呼び出し値を利用してください。


▲トップへ戻る▲


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

X番の変数呼出」は、変数の値に「変数呼び出し値」を設定して使います。



X番の変数呼出」を使用する場合は、設定画面にある「X番の変数呼出」にチェックを入れます。





【文字列操作】にある「代入先を変数で指定」も「X番の変数呼出」と同じ処理になります。





X番の変数呼出」の使用例は、
例えば主人公がいるマスにあるマップイベントのセルフ変数[9]の値を呼び出す時には、以下のような設定します。

▼水色の所に「X番の変数呼出」が設定されています
【イベントコード表示】

■変数操作+: CSelf10[X] = 主人公 の X座標(標準)
■変数操作+: CSelf11[Y] = 主人公 の Y座標(標準)
■変数操作+: CSelf12[イベントID] = X:CSelf10[X] Y:CSelf11[Y]のイベントID
■条件分岐(変数): 【1】 CSelf10[X] が -1 と同じ
-◇分岐: 【1】 [ CSelf10[X] が -1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: CSelf13[変数呼び出し値] = CSelf12[イベントID] * 10
■変数操作: CSelf13[変数呼び出し値] += 1000009 + 0
■変数操作: CSelf14[出力値] = V[CSelf13[変数呼び出し値]] + 0
■文章:イベントID[\cself[12]]のセルフ変数[9]は「\cself[14]」です。

この場合、コモンセルフ変数[13:変数呼び出し値]の値に、
マップイベントのセルフ変数[9]を呼び出すための変数呼び出し値「1000000+10*Y+X」を設定し、
コモンセルフ変数[13:変数呼び出し値]を「X番の変数呼出」で実行すると、
指定したマップイベントのセルフ変数の値を呼び出す事ができます。



「X番の変数呼出」を設定すると、イベントコマンドの表記に「」が付きます。

「X番の変数呼出」にチェックあり ■変数操作: V[このEvのSelf0] = 123 + 0
「X番の変数呼出」にチェックなし ■変数操作: このEvのSelf0 = 123 + 0



数値設定が百万以上になると「変数呼び出し値」になります。

例えば…

と言った設定を行った場合は…
■変数操作: このEvのSelf0 = V3[] + 0
と言ったように、「通常変数[3]の値を呼び出す設定」になります。

もしも「変数呼び出し値」を設定する時や百万以上の値を普通に設定したい時には、
データを呼び出さない」にチェックを入れて設定してください。




▲トップへ戻る▲


  
■使用例

「変数呼び出し値」を使うと様々な数値設定が変数の値で設定する事ができます。

なお、別ページにも使用例があります。

【「変数呼び出し値」「X番の変数呼出」の使用例を見る】


  
▼【使用例】ループ回数を変数の値で設定

イベントコマンド【回数付きループ】のループ回数を変数の値で設定する事ができます。

▼通常変数[2]の値で回数を設定


【イベントコード表示】

■回数付きループ [ V2[] ]回
|■
◇ループここまで◇◇


  
▼【使用例】オリジナルのマウスポインタを表示

マウスポインタの位置にピクチャを表示し、オリジナルのマウスポインタを表示します。



ピクチャの表示位置の設定には、
システム変数[71:マウスX位置][72:マウスY位置]の変数呼び出し値を設定します。
これにより、マウスポインタの位置にピクチャが表示されます。



【イベントコード表示】

起動条件:並列実行

■変数操作: Sys74:マウスポインタ表示する?(1=ON) = 0 + 0
■ピクチャ表示:1 [中心]文字列[+] X:Sys71:マウスX位置 Y:Sys72:マウスY位置 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]


  
▼【使用例】マップイベントの高さを変える

以下の設定を行って実行すると、
マップイベントを決定キーで実行した時にマップイベントの高さが変わります。

【イベントコード表示】

■変数操作: このEvのSelf0 = 9190004 + 0
■変数操作: V[このEvのSelf0] = 20 + 0

※当たり判定は影がある位置になります。


▲トップへ戻る▲


  
■文字列変数の数字を数値変数へ代入

イベントコマンド【変数操作】では、通常は「文字列変数 → 数値変数」の設定ができませんが、
文字列変数を呼び出す値「3000000」を設定すれば、文字列変数にある文字列の数値を設定する事ができます。

▼設定例


コモンイベントのセルフ変数[5〜9]の文字列変数や、データベースにある文字列変数も設定可能です。



文字列の内容によって、代入できる数値が変わります。
基本的に文字列の文頭から半角数字が続く所までを「数値」として読み取ります。

文字列の内容 文字列の設定例 設定される数値 補足
全て半角数字 123456 123456 そのまま設定されます。
全て全角文字 ABC 0 「0」になります。
半角数字+全角 123ABC 123 文頭から続く半角数字のみが設定されます。
半角数字+全角+半角数字 123ABC456 123 文頭から続く半角数字のみが設定されます。
マイナス+半角数字 -123 -123 そのまま設定されます。
半角数字の途中にマイナス 123-456 123 文頭から続く半角数字のみが設定されます。


▲トップへ戻る▲



◎関連ページ

◆「変数」って何?
┣◆「セルフ変数」って何?
┣◆「通常変数」「予備変数」って何?
┣◆「文字列変数」って何?
┣◆「システム変数」「システム文字列」って何?
┃┣◆システム変数[0〜34]の説明
┃┣◆システム変数[35〜76]の説明
┃┣◆システム変数[77〜120]の説明
┃┣◆システム変数[121〜148]の説明
┃┣◆システム文字列[0〜49]の説明
┃┗◆システム文字列[50〜76]の説明
┣◆「変数呼び出し値」「X番の変数呼出」って何?
┃┗◆【使用例】「変数呼び出し値」「X番の変数呼出」
┣◆「乱数」って何?
┃┗◆乱数で一度出力した値を二重に出力させない
┗◆変数の番号や文字列を別のものに置き換える

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