지정한 적이 한턴에 여러번 행동하는 스크립트 입니다
보스몹등에 사용하면 좋겠죠???????????
#----------------여기서부터
#
# 敵の複数回行動(Ver2.00)
# (C)2005 TYPE74RX-T
#
# ★変数を初期化
$enemy_act_times = []
# ★指定エネミーID(ここでは例として2番・バジリスクを設定)の攻撃回数を設定(3回)
$enemy_act_times[1] = 3 #여기서 설정 하실 수 있습니다
$enemy_act_times[2] = 3 # ←이건 2번 적 3번행동
$enemy_act_times[4] = 3 # 계속 만드셔두됩니다
class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :maxacttimes # ★1ターン中に行動できる最大回数
attr_accessor :acttimes # ★1ターン中に行動できる回数
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias rx_t_rgssb1gb_initialize initialize
def initialize
rx_t_rgssb1gb_initialize
@maxacttimes = 1 # ★1ターン中に行動できる最大回数を設定
@acttimes = 1 # ★1ターン中に行動できる回数を設定
end
end
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# troop_id : トループ ID
# member_index : トループメンバーのインデックス
#--------------------------------------------------------------------------
alias rx_t_rgssb1ge_initialize initialize
def initialize(troop_id, member_index)
rx_t_rgssb1ge_initialize(troop_id, member_index)
# ★2回以上行動できるエネミーの場合は@acttimesに攻撃回数を設定
if $enemy_act_times[@enemy_id] != nil
@maxacttimes = $enemy_act_times[@enemy_id]
@acttimes = $enemy_act_times[@enemy_id]
else
# ★ノーマルタイプの敵には攻撃回数を1に設定
@maxacttimes = 1
@acttimes = 1
end
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ● 基本アクション 結果作成
#--------------------------------------------------------------------------
alias rx_t_rgssb1sb_make_basic_action_result make_basic_action_result
def make_basic_action_result
# 防御の場合
if @active_battler.current_action.basic == 1
# ヘルプウィンドウに "防御" を表示
@help_window.set_text($data_system.words.guard, 1)
# ★アニメーション ID を設定(前回の行動アニメ発動防止)
@animation1_id = 0
@animation2_id = 0
return
end
rx_t_rgssb1sb_make_basic_action_result
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
#--------------------------------------------------------------------------
alias rx_t_rgssb1sb_update_phase4_step6 update_phase4_step6
def update_phase4_step6
rx_t_rgssb1sb_update_phase4_step6
# ★ もし何かの間違いで@active_battler.acttimesがnilだったら強引に1を代入
@active_battler.acttimes = 1 if @active_battler.acttimes == nil
# ★行動回数を減算
@active_battler.acttimes -= 1 if @active_battler.acttimes > 0
# ★まだ行動回数が残っているならフェーズ4のstep2に移行
if @active_battler.acttimes > 0
# ★敵の行動を決める
if @active_battler.is_a?(Game_Enemy)
@active_battler.make_action
end
@phase4_step = 2
else
# ★行動回数を初期化
@active_battler.acttimes = @active_battler.maxacttimes
# ステップ 1 に移行
@phase4_step = 1
end
end
end
#------------------끝
사용법 아주 쉽습니다
스크립트 10번째 줄에 가보면
$enemy_act_times[1] = 3 이런식으로 있는데
뜻이 1번 적이 한턴에 3번행동 입니다
출처는 type74 입니다
보스몹등에 사용하면 좋겠죠???????????
#----------------여기서부터
#
# 敵の複数回行動(Ver2.00)
# (C)2005 TYPE74RX-T
#
# ★変数を初期化
$enemy_act_times = []
# ★指定エネミーID(ここでは例として2番・バジリスクを設定)の攻撃回数を設定(3回)
$enemy_act_times[1] = 3 #여기서 설정 하실 수 있습니다
$enemy_act_times[2] = 3 # ←이건 2번 적 3번행동
$enemy_act_times[4] = 3 # 계속 만드셔두됩니다
class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :maxacttimes # ★1ターン中に行動できる最大回数
attr_accessor :acttimes # ★1ターン中に行動できる回数
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias rx_t_rgssb1gb_initialize initialize
def initialize
rx_t_rgssb1gb_initialize
@maxacttimes = 1 # ★1ターン中に行動できる最大回数を設定
@acttimes = 1 # ★1ターン中に行動できる回数を設定
end
end
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# troop_id : トループ ID
# member_index : トループメンバーのインデックス
#--------------------------------------------------------------------------
alias rx_t_rgssb1ge_initialize initialize
def initialize(troop_id, member_index)
rx_t_rgssb1ge_initialize(troop_id, member_index)
# ★2回以上行動できるエネミーの場合は@acttimesに攻撃回数を設定
if $enemy_act_times[@enemy_id] != nil
@maxacttimes = $enemy_act_times[@enemy_id]
@acttimes = $enemy_act_times[@enemy_id]
else
# ★ノーマルタイプの敵には攻撃回数を1に設定
@maxacttimes = 1
@acttimes = 1
end
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ● 基本アクション 結果作成
#--------------------------------------------------------------------------
alias rx_t_rgssb1sb_make_basic_action_result make_basic_action_result
def make_basic_action_result
# 防御の場合
if @active_battler.current_action.basic == 1
# ヘルプウィンドウに "防御" を表示
@help_window.set_text($data_system.words.guard, 1)
# ★アニメーション ID を設定(前回の行動アニメ発動防止)
@animation1_id = 0
@animation2_id = 0
return
end
rx_t_rgssb1sb_make_basic_action_result
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
#--------------------------------------------------------------------------
alias rx_t_rgssb1sb_update_phase4_step6 update_phase4_step6
def update_phase4_step6
rx_t_rgssb1sb_update_phase4_step6
# ★ もし何かの間違いで@active_battler.acttimesがnilだったら強引に1を代入
@active_battler.acttimes = 1 if @active_battler.acttimes == nil
# ★行動回数を減算
@active_battler.acttimes -= 1 if @active_battler.acttimes > 0
# ★まだ行動回数が残っているならフェーズ4のstep2に移行
if @active_battler.acttimes > 0
# ★敵の行動を決める
if @active_battler.is_a?(Game_Enemy)
@active_battler.make_action
end
@phase4_step = 2
else
# ★行動回数を初期化
@active_battler.acttimes = @active_battler.maxacttimes
# ステップ 1 に移行
@phase4_step = 1
end
end
end
#------------------끝
사용법 아주 쉽습니다
스크립트 10번째 줄에 가보면
$enemy_act_times[1] = 3 이런식으로 있는데
뜻이 1번 적이 한턴에 3번행동 입니다
출처는 type74 입니다