【RGSS3】敵が続けて同じ行動をとらないようにしたい
【RGSS3】敵が続けて同じ行動をとらないようにしたい
敵が前のターンと同じ技を発動しないようにしたいです。
Re: 【RGSS3】敵が続けて同じ行動をとらないようにしたい
行動を記憶して次回の候補に入れなければ良いのではないでしょうか?
コード: 全て選択
class Game_Enemy
def action_valid?(action)
conditions_met?(action) && usable?($data_skills[action.skill_id]) &&
action.skill_id != @prev_action_skill_id
end
def make_actions
super
return if @actions.empty?
action_list = enemy.actions.select {|a| action_valid?(a) }
return if action_list.empty?
rating_max = action_list.collect {|a| a.rating }.max
rating_zero = rating_max - 3
action_list.reject! {|a| a.rating <= rating_zero }
@actions.each do |action|
selected_action = select_enemy_action(action_list, rating_zero)
action.set_enemy_action(selected_action)
@prev_action_skill_id = selected_action && selected_action.skill_id
end
end
end
Re: 【RGSS3】敵が続けて同じ行動をとらないようにしたい
action.skill_id != @prev_action_skill_id
の所でエラーが出てしまいました。
の所でエラーが出てしまいました。
Re: 【RGSS3】敵が続けて同じ行動をとらないようにしたい
申し訳ありません。再現しませんでした。
Re: 【RGSS3】敵が続けて同じ行動をとらないようにしたい
もしかしたらCACAOさんのスクリプトがうまくコピー出来てないのかもしれません。
もしくはスクリプトを投稿した時に文字として認識され、それをペーストしてエラーになっている場合もあります。
エラーの出なかったスクリプトをテキストファイルにしてアップロードしてみてはいかがでしょうか?
もしくはスクリプトを投稿した時に文字として認識され、それをペーストしてエラーになっている場合もあります。
エラーの出なかったスクリプトをテキストファイルにしてアップロードしてみてはいかがでしょうか?
最後に編集したユーザー ぐるりんぐ [ 2022年8月04日(木) 00:38 ], 累計 1 回
Re: 【RGSS3】敵が続けて同じ行動をとらないようにしたい
えっと、一応載せときます。
>> スクリプトファイル
>> スクリプトファイル
解決済み【RGSS3】敵が続けて同じ行動をとらないようにしたい
ちゃんと思い通りに動きました!
ありがとうございました!
ありがとうございました!