【解決済み】イベントの自律移動でスクリプトを使って乱数を取得し、条件分岐で向きを変えたい
Posted: 2023年4月19日(水) 20:59
閲覧ありがとうございます。
件名の通り、
「イベントの自律移動タイプをカスタムにし、移動ルートでスクリプトを用いて乱数を取得、乱数の値が一定以下の場合向きを変える」
(イメージではGBソフト「ゼルダの伝説 夢をみる島」の店主の動きを簡略化(プレイヤーの位置を反映しない)したものを想定しています)
といったイベントを作成したいと思い、下記のように記述しました。
◇スクリプト(こちらは動作確認済み)
$gameVariables.setValue(20,Math.floor( Math.random()*100 ) )
◇スクリプト
if($gameVariables.value(20) <= 10){
this.character(0).forceMoveRoute({ "list":[{"code":17},{"code":0}],"repeat":false}) } else{
this.character(0).forceMoveRoute({ "list":[{"code":18},{"code":0}],"repeat":false})
}
(自律移動のスクリプトでは改行出来ないので一行にまとめて記述していますが、見やすいように改行しています)
しかしゲームを実行すると、
"TypeError:this.character is not a function"
と表示されてしまいゲームが止まってしまいました。
試しにイベント内容の方で同様の記述をすると「乱数10以下の場合のみ左を向く」が問題なく動作しました。
どのように変えると自律移動の移動ルート上で動作するのか、教えて頂けると幸いです。
スクリプト初心者で拙い質問かもしれませんが、よろしくお願いいたします。
件名の通り、
「イベントの自律移動タイプをカスタムにし、移動ルートでスクリプトを用いて乱数を取得、乱数の値が一定以下の場合向きを変える」
(イメージではGBソフト「ゼルダの伝説 夢をみる島」の店主の動きを簡略化(プレイヤーの位置を反映しない)したものを想定しています)
といったイベントを作成したいと思い、下記のように記述しました。
◇スクリプト(こちらは動作確認済み)
$gameVariables.setValue(20,Math.floor( Math.random()*100 ) )
◇スクリプト
if($gameVariables.value(20) <= 10){
this.character(0).forceMoveRoute({ "list":[{"code":17},{"code":0}],"repeat":false}) } else{
this.character(0).forceMoveRoute({ "list":[{"code":18},{"code":0}],"repeat":false})
}
(自律移動のスクリプトでは改行出来ないので一行にまとめて記述していますが、見やすいように改行しています)
しかしゲームを実行すると、
"TypeError:this.character is not a function"
と表示されてしまいゲームが止まってしまいました。
試しにイベント内容の方で同様の記述をすると「乱数10以下の場合のみ左を向く」が問題なく動作しました。
どのように変えると自律移動の移動ルート上で動作するのか、教えて頂けると幸いです。
スクリプト初心者で拙い質問かもしれませんが、よろしくお願いいたします。