faidaさま>
ありがとうございます。意図した動きになりました
同じことをパーティメンバーでやろうとすると、どういうスクリプトにすればよいでしょうか?
エネミーは隊列を決められますがパーティはそうでもないような
ターンの初めか終りにオートで発動するスキル
Re: ターンの初めか終りにオートで発動するスキル
$game_troop.members[n]のところを
$game_actors[n] # IDがnのアクター
にするとうまくいくかなと思います。
※ってこれじゃ自動戦闘以外じゃ行動してくれませんね。
スクリプトを入れたくないならこんな感じでどうでしょう。イベントコマンドにこれを入れるだけで味方の分は足ります。
# ここ の配列にスキルIDを入れてください。
$game_actors[n] # IDがnのアクター
にするとうまくいくかなと思います。
※ってこれじゃ自動戦闘以外じゃ行動してくれませんね。
スクリプトを入れたくないならこんな感じでどうでしょう。
コード: 全て選択
[26, 80].each{|skill_id| # ここスキルID
$game_party.alive_members.each{|actor|
next if !actor.skill_learn?($data_skills[skill_id])
dup = actor.instance_variable_get(:@actions).dup
@params = [1, actor.id, skill_id, -1]
command_339
actor.instance_variable_set(:@actions, dup)
}
}
BattleManager.make_action_orders
# ここ の配列にスキルIDを入れてください。
最後に編集したユーザー faida [ 2017年5月13日(土) 03:34 ], 累計 1 回
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: ターンの初めか終りにオートで発動するスキル
適当で構わないのであればこんな感じですかね?
これでターン終了時にリカバーⅡ(30)を覚えている敵とアクターがリカバーⅡを使います。
これでターン終了時にリカバーⅡ(30)を覚えている敵とアクターがリカバーⅡを使います。
コード: 全て選択
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
def enemy_auto_skill(skill_id)
skill = $data_skills[skill_id]
battlers = BattleManager.instance_variable_get(:@action_battlers).dup
$game_troop.alive_members.each do |enemy|
next unless enemy.enemy.actions.any?{|action|
$data_skills[action.skill_id].equal?(skill)
}
actions = enemy.instance_variable_get(:@actions).dup
enemy.force_action(skill_id,-1)
BattleManager.force_action(enemy)
Fiber.yield while BattleManager.action_forced?
enemy.instance_variable_get(:@actions).replace(actions)
end
BattleManager.instance_variable_get(:@action_battlers).replace(battlers)
end
def actor_auto_skill(skill_id)
skill = $data_skills[skill_id]
battlers = BattleManager.instance_variable_get(:@action_battlers).dup
$game_party.alive_members.each do |actor|
next unless actor.skills.any?{|s|s.equal?(skill)}
actions = actor.instance_variable_get(:@actions).dup
actor.force_action(skill_id,-1)
BattleManager.force_action(actor)
Fiber.yield while BattleManager.action_forced?
actor.instance_variable_get(:@actions).replace(actions)
end
BattleManager.instance_variable_get(:@action_battlers).replace(battlers)
end
end
Re: ターンの初めか終りにオートで発動するスキル
faidaさま>
SBR さま>
お二人ともありがとうございます!意図した動きになりました!
SBR さま>
お二人ともありがとうございます!意図した動きになりました!