WOLF RPGエディター(ウディタ)[3.612]/イベントコマンド【サイトトップへ戻る】
■隠しコード
(更新:2025/05/27)


イベントコマンド【文字列操作】の「隠しコード実行(<<から始まる)」で使用できる隠しコードを紹介します。



ショートカット
■【ファイル系】フォルダーの存在有無を取得
■【ファイル系】ファイルの存在有無を取得
■【ファイル系】wolfx暗号化ファイルの読込可能を取得
■【文字列系】文字列の文字の長さを取得
■【文字列系】指定した文字の長さで文字列を取得
■【文字列系】指定したバイト数で文字列を取得
■【文字列系】文字列のバイト数を取得
■【文字列系】指定した行のみを残す
■【文字列系】指定した幅で自動改行する
■【イベント系】マップイベントの名前からイベントIDを取得
■【イベント系】マップイベントIDからマップイベントの名前を取得
■【イベント系】コモンイベントの名前からコモンイベントIDを取得
■【イベント系】マップイベントIDからマップイベントの画像アドレスを取得
■【イベント系】空のマップイベントを生成する
■【イベント系】空のマップイベントを削除する
■【イベント系】マップイベントの名前を変更する
■【イベント系】コモンイベントIDから名前を取得
■【画像系】タイルセットIDから画像アドレスを取得
■【画像系】ピクチャIDから画像アドレス(表示文字列)を取得
■【画像系】画像内の指定した位置の不透明度とRGB値を取得
■【画像系】画像のサイズを取得
■【画像系】4つのXY配列に画像のARGB値を読み込む
■【画像系】4つのXY配列に保存されたARGB値で画像を出力
■【サウンド系】音声ファイルの再生時間を取得
■【合成音声系】Windowsの合成音声で読み上げさせる
■【合成音声系】使用可能な合成音声名を取得
■【合成音声系】合成音声が再生中かどうかを取得
■【経路探索系】経路を探索する
■【システム系】ゲーム名のメインや追記を取得
■【システム系】指定したデータベースの項目の種類を取得
■【システム系】セーブデータのキャッシュをメモリから全解放

【文字列操作】の基本説明は別ページに記載しています。
【文字列操作の基本説明を開く】


  
■【ファイル系】フォルダーの存在有無を取得

<<GET_DIRECTORY_EXIST>>フォルダーアドレス

指定したフォルダーが存在するかどうかを確認する時に使います。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_DIRECTORY_EXIST>>Data/Picture"
この場合は、フォルダー「Picture」があった場合は「1」、無かった場合は「0」を取得します。



アドレスの最後は「Data/Picture」のスラッシュ無しでも、
Data/Picture/」のスラッシュありでも、どちらでも正常に処理されます。


▲トップへ戻る▲


  
■【ファイル系】ファイルの存在有無を取得

<<GET_FILE_EXIST>>ファイルアドレス

指定したファイルが存在するかどうかを確認する時に使います。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_FILE_EXIST>>Data/何らかの画像.png"
この場合は、ファイル「何らかの画像.png」があった場合は「1」、無かった場合は「0」を取得します。


▲トップへ戻る▲


  
■【ファイル系】wolfx暗号化ファイルの読込可能を取得

<<LOAD_CHECK_WOLFX_FILE>>ファイルアドレス

プロ版で利用できる「[Pro]ファイル個別暗号化」で作成されたファイル「.wolfx」が、
正常に読み込みできる状態であるかどうかを調べる時に使います。

設定したファイルアドレスに「.wolfx」を付けずに設定した場合は、
自動的に「.wolfx」を付けて処理されます。



正常に読み込める場合は「1 <<OK>>」を取得します。

暗号化を解凍するキーが正しくない場合は「<<Failed>>」を取得し、
「.wolfx」のファイルが無かった場合は「<<NotFound>>」を取得します。


▲トップへ戻る▲


  
■【文字列系】文字列の文字の長さを取得

<<GET_STRING_WIDTH_COUNT>>文字列

文字列の長さを「半角=1「全角=2」で取得します。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_STRING_WIDTH_COUNT>>abdceあいうえお"
上記の場合は、「abcde」が「半角5文字×1=5」、「あいうえお」が「全角5文字×2=10」となり、
文字列の長さは「15」が取得されます。



改行や特殊文字の文字数はカウントされないので…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_STRING_WIDTH_COUNT>>あい\n\c[2]えお"
の場合は「あいうえお」の文字列の長さのみ(全角5文字×2=10)が取得されます。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_STRING_WIDTH_COUNT>>\s[0]"
のように、特殊文字で文字列変数を呼び出している場合は、
その文字列変数に保存されている文字列の長さをカウントします。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_STRING_WIDTH_COUNT>>\r[あいうえお,アイウエオ]"
上記のようなルビを表示する設定があった場合は、ルビで表示する「アイウエオ」の文字数はカウントされず、
「あいうえお」の文字数のみがカウントされるため、「全角5文字×2=10」となります。


▲トップへ戻る▲


  
■【文字列系】指定した文字の長さで文字列を取得

<<CUT_STRING_WIDTH_COUNT=文字の長さ>>文字列

指定した文字の長さで文字列を取得します。

文字の長さは「半角=1「全角=2」で設定します。

例えば「aあbいcう」の文字列を取得する場合は、
設定する文字の長さによって、取得される文字列が以下のように異なります。

文字の長さ 1 2 3 4 5 6 7 8 9
取得する文字 a a aあ aあb aあb aあbい aあbいc aあbいc aあbいcう



改行や特殊文字の文字数は無視されるので…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<CUT_STRING_WIDTH_COUNT=10>>あい\n\c[2]えお"
の場合は「文字の長さ=10(全角5文字分)」になるため、
途中にある特殊文字を含め「あい\nう\c[2]えお」が取得されます。



半角の「\」を表示する時に使う特殊文字「\\」は、半角1文字の「\」として処理されるため、
例えば「あい\\うえお」の場合は「あい\うえお」として処理され、文字の長さは「11」になります。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<CUT_STRING_WIDTH_COUNT=8>>\s[0]"
のように、特殊文字で文字列変数を呼び出している場合は、
その文字列変数に保存されている文字列が取得されます。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<CUT_STRING_WIDTH_COUNT=10>>\r[あいうえお,アイウエオ]"
上記のようなルビを表示する設定があった場合は、
ルビの設定は取得されず、「あいうえお」の文字列のみが取得されます。


▲トップへ戻る▲


  
■【文字列系】指定したバイト数で文字列を取得

<<CUT_STRING_開始バイト数_終了バイト数>>文字列

指定したバイト数で文字列を取得します。

バイト数は半角文字は「1」ですが、全角文字は「3〜4」と変動があります。



開始バイト数は、仮に「123456789」の文字列で「開始バイト数=6」を設定した場合は、
「123456」の次の文字「7」から取得開始になります。

終了バイト数は、仮に「123456789」の文字列で「終了バイト数=8」を設定した場合は、
「8」の文字までが取得対象になります。

なお、バイト数が全角文字の途中で終わった場合は、次の文字の区切りまでが対象になります。
例えば「あいう」の全角文字で、開始バイト数を「1」にした場合は、
「あ」の終わりになるバイト数「3」が開始バイト数になります。



改行や特殊文字の文字も含まれた状態で処理されるため…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<CUT_STRING_6_8>>\c[2]123456789"
の場合は、単に「123456789」だけの文字列の場合は「78」を取得しますが、
\c[2]123456789」の場合は最初の「\c[2]」のバイト数もカウントされるため、
取得される文字は「23」になります。


▲トップへ戻る▲


  
■【文字列系】文字列のバイト数を取得

<<GET_STRING_BYTE_COUNT>>文字列

文字列のバイト数を取得します。

バイト数は半角文字は「1」ですが、全角文字は「3〜4」と変動があります。


▲トップへ戻る▲


  
■【文字列系】指定した行のみを残す

<<CUT_LINE_STRING_開始行_終了行>>文字列

指定した範囲の行だけを文字列に残します。



あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
上記の文字列を文字列変数[1]に保存し…
■文字列操作:S1[]=<隠しコード実行>"<<CUT_LINE_STRING_1_3>>\s[1]"
と言ったように「開始行=1」「終了行=3」で実行した場合は…
かきくけこ
さしすせそ
たちつてと
の文字列が残ります。


▲トップへ戻る▲


  
■【文字列系】指定した幅で自動改行する

<<AUTO_RETURN_STRING_WIDTH_COUNT=範囲数>>文字列

指定した範囲で改行を設定します。

範囲数は「半角文字=1」「全角文字=2」で設定してください。


▲トップへ戻る▲


  
■【イベント系】マップイベントの名前からイベントIDを取得

<<GET_MAPEVENT_ID_FROM_NAME>>マップイベント名

指定した名前のマップイベントのイベントIDを取得します。



指定した名前のマップイベントが存在する場合は、文字列変数にはイベントIDが設定されます。

例えば…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_MAPEVENT_ID_FROM_NAME>>リンゴ"
の設定をサンプルゲームのマップ「サンプルマップA」で実行すると「15」が取得されます。

なお、指定した名前のマップイベントが存在しない場合は「-1」を取得します。



同じ名前のマップイベントが複数ある場合は、その中で最も大きいイベントIDを取得します。

例えばマップイベントの設定が…
00:町の人A
01:宝箱
02:町の人B
03:宝箱
04:宝箱
05:町の人C
の時に「<<GET_MAPEVENT_ID_FROM_NAME>>宝箱」を実行すると「4」が取得されます。



名前の設定は空白スペースの全角/半角なども含めて、正確に設定する必要があります。

例えば以下の3つの名前は全て異なる名前として処理されます。

【場所移動 Bへ】 途中のスペースを半角で設定
【場所移動 Bへ】 途中のスペースを全角で設定
【場所移動 Bへ】 Bを全角文字で設定


▲トップへ戻る▲


  
■【イベント系】マップイベントIDからマップイベントの名前を取得

<<GET_MAPEVENT_NAME_FROM_ID>>マップイベントID

指定したマップイベントIDに設定されているマップイベントの名前を取得します。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_MAPEVENT_ID_FROM_NAME>>15"
この設定をサンプルゲームのマップ「サンプルマップA」で実行すると「リンゴ」が取得されます。

なお、指定したマップイベントIDがマップ上に存在しない場合は「<<NotFound>>」を取得します。


▲トップへ戻る▲


  
■【イベント系】コモンイベントの名前からコモンイベントIDを取得

<<GET_COMMONEVENT_ID_FROM_NAME>>コモンイベント名

指定した名前のコモンイベントが存在するかどうかを調べる時に使います。



指定した名前のコモンイベントが存在する場合は、文字列変数にはコモンイベントIDが設定されます。

例えば…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_COMMONEVENT_ID_FROM_NAME>>相談コマンド"
を実行すると「212」が取得されます。

なお、指定した名前のコモンイベントが存在しない場合は「-1」を取得します。



同じ名前のコモンイベントが複数ある場合は、その中で最も大きいイベントIDを取得します。


▲トップへ戻る▲


  
■【イベント系】マップイベントIDからマップイベントの画像アドレスを取得

<<GET_MAPEV_FILENAME>>マップイベントID

指定したマップイベントIDに設定されている画像アドレスを取得します。

マップイベントに複数のページがある場合は、現在表示されているページの画像アドレスを取得します。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_MAPEV_FILENAME>>7"
この設定をサンプルゲームのマップ「サンプルマップA」で実行すると、
マップイベント[07:ハカセ]の画像アドレス「CharaChip/[Chara]Doctor.png」を取得します。

指定したマップイベントIDがマップ上に存在しない場合は「<<NotFound>>」を取得します。



タイルセットの画像を設定している場合は「<TILE>タイルID」が取得されます。

例えば…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_MAPEV_FILENAME>>15"
の設定をサンプルゲームのマップ「サンプルマップA」で実行すると、
マップイベント[15:リンゴ]の画像アドレスが取得されますが、
この画像はタイルセットの画像であるため、「<TILE>1013」を取得します。


▲トップへ戻る▲


  
■【イベント系】空のマップイベントを生成する

<<MAKE_EVENT_X=座標位置/Y=座標位置>>ファイルアドレス(またはタイルID)
※ファイルアドレスの頭に「Data/」の設定は不要です。

指定した座標位置に新しいマップイベントを生成します。

文字列変数には生成したマップイベントのイベントIDを設定されますが、
うまく生成できなかった場合は、エラー文(生成できない理由)が文字列変数に設定されます。



ファイルアドレスの所に「<TILE>32」などを設定する事で、タイルセットの画像を設定する事ができます。

なお、オートタイルの画像は設定する事ができません。
「0〜31」で設定すると「<<Error>> <TILE> must be >= 32」のエラー文が文字列変数に返されます。



マップイベントは10000個まで設定する事ができます。

10000個ある状態でマップイベントの生成を行うと、
<<Error>> Events Limit 10000」のエラー文が文字列変数に返されます。



生成されるマップイベントの表示優先順位は、イベントIDに関係なく、後から作った方が上になります。



<< >>」内に文字列を追加する事で、起動条件などを設定する事ができます。

▼設定例
■文字列操作:S1[]=<隠しコード実行>"<<MAKE_EVENT_X=14/Y=11/HALF>>CharaChip/Animal_Chicken.png"

追加文字列 設定内容
/HALF 設置する座標位置を0.5マス単位で設定。
/COPY=設定値 設定値にイベントIDを設定すると、
そのイベントIDのマップイベントをコピーします。
コピーすると画像以外の起動条件などの設定が全てコピー元と同じになり、
イベントコマンドの設定もコピーされます。
なお、以下のオプション設定(起動条件の設定など)を行った場合は、
オプション設定の方が優先されます。
この設定で生成した場合は、
隠しコード「<<DELETE_EVENT_ID>>」で削除できなくなります。
/TR=設定値 起動条件を設定。
1=決定キーで実行
2=プレイヤーから接触
3=イベントと接触
/EXTEND=横幅,縦幅 接触範囲拡張を設定。
/SHADE=影番号 影番号を設定。
影番号を「0〜255」以外にすると、
<<Error>> SHADE Limit 0-255」が返されます。
/ID=イベントID 指定したイベントIDでマップイベントを生成します。
指定したイベントIDが既に使われている場合は、
<<ERROR>> Invalid ID」が返され、マップイベントは生成されません。
/1X1SIZE 当たり判定を1×1マスで設定します。
(マップイベントの「当タリ判定■」の設定)


▲トップへ戻る▲


  
■【イベント系】空のマップイベントを削除する

<DELETE_EVENT_ID>>イベントID

以下の条件を満たしているマップイベントを削除する事ができます。
●隠しコード(MAKE_EVENT)で生成されたマップイベントで「/COPY」のオプションを使っていない。
●起動条件が「決定キーで実行」「プレイヤーから接触」「イベントと接触」のいずれか。
●1ページしかない。
●イベントコマンドの設定が無い。




うまく削除できなかった場合は、エラー文(削除できない理由)が文字列変数に設定されます。

エラー文 削除できない理由
<<CanNotDelete>> Not <<MAKE_EVENT..>> Event 隠しコード(MAKE_EVENT)で生成された
マップイベントではないため。
<<CanNotDelete>> Multiple pages exist 複数のページが存在するため。
<<CanNotDelete>> Event contains commands イベントコマンドの設定があるため。
<<CanNotDelete>> Invalid trigger 起動条件が「並列実行」か「自動実行」であるため。


▲トップへ戻る▲


  
■【イベント系】マップイベントの名前を変更する

<<SET_EVENT_NAME_ID=イベントID>>新しい名前

マップイベントの名前を変更する時に使います。

名前の変更が成功すると「1 <<OK>>」が文字列変数に設定されます。

指定したイベントIDが存在しなかった場合は、「<<NotFound>>」が文字列変数に設定されます。


▲トップへ戻る▲


  
■【イベント系】コモンイベントIDから名前を取得

<<GET_COMMONEVENT_NAME_FROM_ID>>コモンイベントID

指定したコモンイベントIDに設定されている名前を取得します。

指定したコモンイベントIDが存在しなかった場合は、「<<NotFound>>」を取得します。


▲トップへ戻る▲


  
■【画像系】タイルセットIDから画像アドレスを取得

<<GET_TILE_FILENAME>>タイルセットID

タイルセットIDを設定すると、そのタイルセットの画像アドレスを取得します。

0 基本タイルセット
1〜31 オートタイルセット





例えばサンプルゲームのマップ「サンプルマップA」で…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_TILE_FILENAME>>1"
を実行すると「MapChip/Auto_Grass1-Dirt1_pipo.png」が取得されます。



指定したタイルセットIDにファイルアドレスが設定されてない場合は、何も文字列は取得されません。


▲トップへ戻る▲


  
■【画像系】ピクチャIDから画像アドレス(表示文字列)を取得

<<GET_FILENAME_FROM_PICTURE>>ピクチャID

指定したピクチャIDに設定されている画像アドレスを取得します。



例えばサンプルゲームのマップ「サンプルマップB」にあるエンカウントで敵が出現するイベントにて、
戦闘が開始した後に…
■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_FILENAME_FROM_PICTURE>>10700"
を実行すると、敵キャラの画像アドレス「EnemyGraphic/GD_Goblin(Red).png」を取得します。

なお、ピクチャが存在しない場合は「<<NotFound>>」を取得します。



ピクチャで文字列を表示している場合は、その文字列を取得します。

「お気軽ウィンドウ」で「<GRADY-779-000>」などを設定している場合は、
その「<GRADY-779-000>」の文字列を取得します。

また「\E」などの特殊文字も取得します。



\cself[10]」などの変数の値を呼び出す設定があった場合は、
ピクチャを表示した時の変数の値が取得されます。

例えば…
■変数操作: CSelf10 = 100 + 0
■ピクチャ表示:1 [左上]文字列[\cself[10]] X:0 Y:0 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作: CSelf10 = 50 + 0
■文字列操作:CSelf5 =<ファイル内容読込> [UTF-8] "<<GET_FILENAME_FROM_PICTURE>>1"
の場合は、ピクチャ[1]に保存された文字列は「\cself[10]」ではなく「100」になるため、
セルフ変数[5]に保存されるピクチャ[1]の文字列は「100」になります。


▲トップへ戻る▲


  
■【画像系】画像内の指定した位置の不透明度とRGB値を取得

<<GET_IMAGE_ARGB_X=ピクセル位置/Y=ピクセル位置>>ファイルアドレス
※ファイルアドレスの頭に「Data/」の設定は不要です。


▼設定例
■文字列操作:S1[]=<隠しコード実行>"<<GET_IMAGE_ARGB_X=10/Y=10>>CharaChip/Special_Wolfarl.png"

画像内の指定した位置の不透明度、RGB値を取得します。

画像ファイルが存在しなかった場合は「<<NotFound>>」を取得します。

指定した位置が画像サイズの範囲外だった場合は、
<<X_Y_Over>> maxX=横ピクセル数 maxY=縦ピクセル数」を取得されます。



不透明度、RGB値は「0〜255」の値で取得され…
1行目=不透明度
2行目=R値
3行目=G値
4行目=b値
と4行に分けて文字列変数に設定されます。


▲トップへ戻る▲


  
■【画像系】画像のサイズを取得

<<GET_IMAGE_SIZE>>ファイルアドレス
※ファイルアドレスの頭に「Data/」の設定は不要です。

▼設定例
■文字列操作:S1[]=<隠しコード実行>"<<GET_IMAGE_SIZE>>CharaChip/Special_Wolfarl.png"

画像ファイルの画像サイズを取得します。

画像ファイルが存在しなかった場合は「<<NotFound>>」を取得します。



画像サイズは…
1行目=横サイズ
2行目=縦サイズ
と2行に分けて文字列変数に設定されます。


▲トップへ戻る▲


  
■【画像系】4つのXY配列に画像のARGB値を読み込む

▼配列番号で設定
<<LOAD_IMAGE_TO_XY/A=番号/R=番号/G=番号/B=番号>>ファイルアドレス

▼配列名で設定
<<LOAD_IMAGE_TO_XYN/A=名前/R=名前/G=名前/B=名前>>ファイルアドレス

※ファイルアドレスの頭に「Data/」の設定は不要です。

▼設定例
■文字列操作:S1[]=<隠しコード実行>"<<LOAD_IMAGE_TO_XY/A=1/R=2/G=3/B=4>>CharaChip/Special_Wolfarl.png"

不透明度とRGB値を「0〜255」の値で、4つのXY配列に取得します。

取得が成功した場合は文字列変数に「1」が設定され、
画像ファイルが存在しなかった場合は「<<NotFound>>」が設定されます。



読み込んだ画像は「X列=横」「Y列=縦」で保存されます。

そのため「画像の[X160][Y120]の数値を変える」と言った場合は、
「X列=160」「Y列=120」の設定で数値を変えてください。

なお、XY配列をCSV形式のファイルで保存した場合は、下図右側の画像の形で保存されるため、
XY配列を保存したCSV形式のファイルを編集する時には、注意が必要です。

元の画像 CSV出力時の場合


▲トップへ戻る▲


  
■【画像系】4つのXY配列に保存されたARGB値で画像を出力

▼配列番号で設定
<<SAVE_PNG_FROM_XY/A=番号/R=番号/G=番号/B=番号/XSIZE=横サイズ/YSIZE=縦サイズ>>ファイルアドレス

▼配列名で設定
<<SAVE_PNG_FROM_XYN/A=名前/R=名前/G=名前/B=名前/XSIZE=横サイズ/YSIZE=縦サイズ>>ファイルアドレス

▼設定例
■文字列操作:S1[]=<隠しコード実行>"<<SAVE_PNG_FROM_XY/A=1/R=2/G=3/B=4/XSIZE=84/YSIZE=80>>画像.png"

4つのXY配列に保存された不透明度とRGB値(全て[0〜255]の値)を使って、PNG形式の画像で出力します。

出力が成功した場合は文字列変数に「1」が設定され、
出力できなかった場合は「<<NotFound>>」が設定されます。



サイズを指定せず…
■文字列操作:S1[]=<隠しコード実行>"<<SAVE_PNG_FROM_XY/A=1/R=2/G=3/B=4>>画像.png"
と設定する事もできます。

この場合は、XY配列の設定状況によって、出力されるサイズが変化します。



セーブファイルを保存するフォルダー[Save]の中に画像を出力する場合は、
../Save/画像.png」などと設定してください。



暗号化されたフォルダー内には出力できません。


▲トップへ戻る▲


  
■【サウンド系】音声ファイルの再生時間を取得

<<GET_SOUNDTIME>>ファイルアドレス

音声ファイルの再生時間をミリ秒(1000ミリ秒=1秒)で取得します。



■文字列操作:S1[] =<ファイル内容読込> [UTF-8] "<<GET_SOUNDTIME>>Data/SE/Action_Cheer1_Komori.ogg"
この場合は「2280」が取得されます。
つまりファイル「Action_Cheer1_Komori.ogg」の演奏時間は「2.280秒」になります。



MIDIファイル(拡張子「.mid」)では使用できません。


▲トップへ戻る▲


  
■【合成音声系】Windowsの合成音声で読み上げさせる

<<MS_VOICE_PLAY/SPEED速度/VOL=音量/VOICE=合成音声名>>文字列

合成音声で指定した文字列を読み上げます。



パラメータ無しの設定の可能です。

<<MS_VOICE_PLAY>>文字列



合成音声を再生している途中で新たな合成音声を再生した場合は、
前の合成音声は強制終了し、新たな合成音声のみが再生されます。



設定した文字列変数には「1」が設定されます。


▲トップへ戻る▲


  
■【合成音声系】使用可能な合成音声名を取得

<<GET_MS_VOICE_LIST>>

使用可能な合成音声名の1行ずつリスト化して取得します。


▲トップへ戻る▲


  
■【合成音声系】合成音声が再生中かどうかを取得

<<GET_MS_VOICE_PLAYING>>

合成音声が再生中の場合は「1」を取得します。


▲トップへ戻る▲


  
■【経路探索系】経路を探索する

<<FIND_PATH_DIR移動可能方向_SX=開始X/SY=開始Y/EX=終了X/EY=終了Y>>

スタートのマス座標(開始X開始Y)とゴールのマス座標(終了X終了Y)を設定する事で、
スタート地点からゴール地点までの移動ルートを取得します。

DIR移動可能方向には、4方向移動なら「DIR4」、8方向移動なら「DIR8」を設定してください。



取得される情報は、ゴール地点までの1歩ごとの移動方向になります。

例えば「88666622/END」の場合は「上上右右右右下下」と移動するとゴール地点に到着します。

▼赤い中心にキャラクターがいる場合の次の移動方向
 



この経路探索は1×1マス以上の道のみを認識します。半マスの隙間は認識しません。

この経路探索は高速な探索処理の反面、確実に最短ルートを算出するものではありません。
大きく遠回りするルートが最短ルートでも、それが最短ルートにならない事があります。



<< >>」内に文字列を追加する事で、ゴールまでの歩数などを文字列変数に取得する事ができます。

▼追加の設定例
■文字列操作:S1[]=<隠しコード実行>"<<FIND_PATH_DIR4_SX=10/SY=10/EX=12/EY=12/POS>>"

追加文字列 設定内容
/POS 取得する文字列がマス座標になります。
11,10/11,11/11,12/12,12/END
/TIME ミリ秒の処理時間(TIME=)、処理数(EXE=)、歩数(STEP)の3つが、
経路情報の文字列の次の行に設定されます。
6226/END
TIME=0ms/EXE=26/STEP=4
/STEP 1行目に歩数を設定し、2行目に経路情報の文字列を設定します。
4(=STEP)
6226/END
/LEN=歩数 設定した歩数の分だけ文字列を設定します。
▼「/LEN=3」(3歩まで)の場合
622
文字数を減らすと、文字列変数を操作する処理落ちが軽減しますが、
経路探索の処理はゴールまでの処理を行っているため、
経路探索の処理落ちは改善されません。
/EXE=処理数 処理数は初期値が「5000」であり、100〜200マス程度の探索ができます。
探索できない場合は処理数を「10000〜20000」などに増やしてください。
なお、処理数の限界値は「20000」になります。
/MOVE_EV=番号 経路探索で動かしたいマップイベントのイベントIDを設定する事で、
それ以外のキャラクターの通行不能を考慮した経路探索になります。
この「/MOVE_EV」を設定しなかった場合は、マップイベントの通行不能は無視して、
地形の通行不能のみで経路探索を行います。
/MOVE_EV=-1」を設定すると、
経路探索を実行したマップイベントが通行不能の除外対象になります。
/MOVE_EV=-2」を設定すると、主人公が通行不能の除外対象になります。
/XY=配列番号 指定した番号のXY配列に経路を保存します。
XY配列の保存は、X列は「0=1歩目」「1=2歩目」となっており、
Y列は「Y列[0]=X増減量」「Y列[1]=Y増減量」となっています。

▼方向ごとのY列の増減値
Y列[0]=-1
Y列[1]=-1
Y列[0]=0
Y列[1]=-1
Y列[0]=1
Y列[1]=-1
Y列[0]=-1
Y列[1]=0
  Y列[0]=1
Y列[1]=0
Y列[0]=-1
Y列[1]=1
Y列[0]=0
Y列[1]=1
Y列[0]=1
Y列[1]=1

▼XY配列の設定例
移動方向 X列 Y列[0] Y列[1]
0 1 0
1 0 -1
2 1 0
3 1 0
4 0 1
/POS」が設定されている場合は、
Y列の設定値が「Y列[0]=X座標」「Y列[1]=Y座標」になります。
▼スタート地点がX座標[10]、Y座標[10]の時のXY配列の設定例
移動方向 X列 Y列[0] Y列[1]
0 11 10
1 11 9
2 12 9
3 13 9
4 13 10
/XYN=配列名 指定した名前のXY配列に経路を保存します。(仕様は上記と同じ)



うまく探索できなかった場合は、エラー文が文字列変数に設定されます。

エラー文 探索できない理由
<<NoPath>> 経路が塞がって辿り着けない時に、このエラーが発生します。
<<NoPath/TooFar>> ゴールが遠すぎるなどで処理数が足りなくなると、このエラーが発生します。



この経路探索の場合、実際にゴールまでキャラクターが移動する処理を自作する必要があります。

自作が難しい場合は、キャラクターの動作指定にある「座標指定:自動移動」をお使いください。

【キャラクターの動作指定の「座標指定:自動移動」の説明を見る】


▲トップへ戻る▲


   
■【システム系】ゲーム名のメインや追記を取得

▼ゲーム名の「メイン」を取得
<<GET_TITLE>>

▼ゲーム名の「追記」を取得
<<GET_TITLE_PLUS>>

ゲームの基本設定ゲーム名で設定したゲームタイトルの文字列を取得します。




▲トップへ戻る▲


  
■【システム系】指定したデータベースの項目の種類を取得

<<GET_ISNUMBER_(C/U/S)DB_ITEM/TYPE=タイプ番号/ITEM=項目番号>>

指定したデータベースの種類、指定したタイプ番号、指定した項目番号にある項目が、
文字列タイプなのか数値タイプなのかを取得します。

文字列タイプの項目の場合は「0」、
数値タイプの項目の場合は「1」を取得します。

(C/U/S)DBの部分は、可変DBなら「CDB」、ユーザーDBなら「UDB」、システムDBなら「SDB」を設定してください。



▼設定例:ユーザーDB[3:武器]の項目[1:武器の説明[2行まで可]](文字列タイプ)
■文字列操作:S1[]=<隠しコード実行>"<<GET_ISNUMBER_UDB_ITEM/TYPE=3/ITEM=1>>"

この場合は「0」になります。



▼設定例:可変DB[0:主人公ステータス]の項目[4:レベル](数値タイプ)
■文字列操作:S1[]=<隠しコード実行>"<<GET_ISNUMBER_CDB_ITEM/TYPE=0/ITEM=4>>"

この場合は「1」になります。


▲トップへ戻る▲


  
■【システム系】セーブデータのキャッシュをメモリから全解放

<<DELETE_SAVE_CACHE>>

一度読み込んだセーブデータは、メモリ上に残る仕様になっていますが、
この隠しコードを実行すると、メモリ上にあるセーブデータを消去し、残りメモリを増やす事ができます。

全解放後に再びセーブデータを読み込んだ場合は、HDDなどの記憶媒体からの読み直しになります。

ウディタでは残りメモリが不足すると、この全解放と同じ処理が自動的に実行されるため、
殆どのウディタ利用者は、この隠しコードを使う必要はありません。

この隠しコードが必要な方は、
セーブデータに巨大なデータ(1000列×1000列のXY配列など)を保存している場合に限られます。


▲トップへ戻る▲



◎関連ページ

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

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