ツクールMV:プラグインコマンドをスクリプトから実行するやり方違うぞ とトリアコンタンさんに教えてもらったので記事にしてみる
久しぶりにツクール
2月22日から、スロースペースながらもツクールを再開。
しかしいきなりエラーで躓く。
@BITORCHARD convertEscapeCharacters でエラー出てるから、書き方やっぱり
— BIT/O (@BITORCHARD) 2017年2月23日
違うのか・・・半日前まで動いていたのに・・・・
convertEscapeCharactersと、書かれていたので下記の記述の部分が怪しい。
エラー例 1.
var args = new Array("auto","name",1,0,6,1,1,3,2,2); this.pluginCommand("SupponCTI", args);
エラー例 2.
var args = new Array( "auto", "name", 1, 0, 6, 1, 1, $gameMap.mapId(), myChara.x, myChara.y ); this.pluginCommand("SupponCTI", args);
引数の数が違うのか、
変数の値が未定義になっているのか
とかを疑いつつも睡魔に襲われそのまま就寝。
翌日
@BITORCHARD プラグインコマンドをスクリプトから呼ぶときの引数は数値であっても文字列で指定した(シングルクオートで囲む)方がいいかもです。実際のプラグインコマンドの挙動がそうなので……
— トリアコンタン (@triacontane) 2017年2月23日
“いいかもです”を試した結果
エラー改修例 1.
var args = new Array("auto","name",1,0,6,1,1,3,2,2); this.pluginCommand("SupponCTI", args);
↓
var args = new Array("auto","name",'1','0','6','1','1','3','2','2'); this.pluginCommand("SupponCTI", args);
エラー改修例 2.
var args = new Array( "auto", "name", 1, 0, 6, 1, 1, $gameMap.mapId(), myChara.x, myChara.y ); this.pluginCommand("SupponCTI", args);
↓
var args = new Array( "auto", "name", '1', '0', '6', '1', '1', String($gameMap.mapId()), String(myChara.x), String(myChara.y) ); this.pluginCommand("SupponCTI", args);
直りましたっ・・・(゚∀゚)!!
いつか誰かの役に立つことを願ってここに記す(反省)。