本帖最后由 RyanBern 于 2016-5-4 08:44 编辑
聪妖 发表于 2016-5-2 01:05
是这样的,因为这个技能敌我双方都会用到,但是我会在这个技能带入公共事件
为发动这个技能的角色或者敌人 ...
可以,改成这样:
@phase4_act_continuation = [57, 58, 59].include?(@active_battler.current_action.skill_id) ? 1 : 0
@phase4_act_continuation = [57, 58, 59].include?(@active_battler.current_action.skill_id) ? 1 : 0
或者指定范围:
@phase4_act_continuation = (57..60).include?(@active_battler.current_action.skill_id) ? 1 : 0
@phase4_act_continuation = (57..60).include?(@active_battler.current_action.skill_id) ? 1 : 0
脚本469~511行
def update_phase4_step2 # 強制アクションでなければ unless @active_battler.current_action.forcing # 制約が [敵を通常攻撃する] か [味方を通常攻撃する] の場合 if @active_battler.restriction == 2 or @active_battler.restriction == 3 # アクションに攻撃を設定 @active_battler.current_action.kind = 0 @active_battler.current_action.basic = 0 end # 制約が [行動できない] の場合 if @active_battler.restriction == 4 # アクション強制対象のバトラーをクリア $game_temp.forcing_battler = nil if @phase4_act_continuation == 0 and @active_battler.cp >= 65535 # ステート自然解除 @active_battler.remove_states_auto # CP消費 @active_battler.cp -= 65535 # ステータスウィンドウをリフレッシュ @status_window.refresh end # ステップ 1 に移行 @phase4_step = 1 return end end # 在这里写哪些状态不消耗 CP(注意,该状态必须能自行解除,否则会有无限行动的BUG),例如,身上有17,18,19号状态之一时,行动不消耗 CP @phase4_act_continuation += 1 if [17, 18, 19].any?{|id| @active_battler.state?(id)} # アクションの種別で分岐 case @active_battler.current_action.kind when 0 # 攻撃?防御?逃げる?何もしない時の共通消費CP @active_battler.cp -= CP_COST_BASIC_ACTIONS if @phase4_act_continuation == 0 when 1 # 在这里写哪些特技不消耗 CP @phase4_act_continuation += 1 if [57, 58, 59].include?(@active_battler.current_action.skill_id) # スキル使用時の消費CP @active_battler.cp -= CP_COST_SKILL_ACTION if @phase4_act_continuation == 0 when 2 # 在这里写哪些物品不消耗 CP @phase4_act_continuation += 1 if [57, 58, 59].include?(@active_battler.current_action.item_id) # アイテム使用時の消費CP @active_battler.cp -= CP_COST_ITEM_ACTION if @phase4_act_continuation == 0 end # ステート自然解除 @active_battler.remove_states_auto # 呼び戻す xrxs_bp1_update_phase4_step2 end
def update_phase4_step2
# 強制アクションでなければ
unless @active_battler.current_action.forcing
# 制約が [敵を通常攻撃する] か [味方を通常攻撃する] の場合
if @active_battler.restriction == 2 or @active_battler.restriction == 3
# アクションに攻撃を設定
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
# 制約が [行動できない] の場合
if @active_battler.restriction == 4
# アクション強制対象のバトラーをクリア
$game_temp.forcing_battler = nil
if @phase4_act_continuation == 0 and @active_battler.cp >= 65535
# ステート自然解除
@active_battler.remove_states_auto
# CP消費
@active_battler.cp -= 65535
# ステータスウィンドウをリフレッシュ
@status_window.refresh
end
# ステップ 1 に移行
@phase4_step = 1
return
end
end
# 在这里写哪些状态不消耗 CP(注意,该状态必须能自行解除,否则会有无限行动的BUG),例如,身上有17,18,19号状态之一时,行动不消耗 CP
@phase4_act_continuation += 1 if [17, 18, 19].any?{|id| @active_battler.state?(id)}
# アクションの種別で分岐
case @active_battler.current_action.kind
when 0
# 攻撃?防御?逃げる?何もしない時の共通消費CP
@active_battler.cp -= CP_COST_BASIC_ACTIONS if @phase4_act_continuation == 0
when 1
# 在这里写哪些特技不消耗 CP
@phase4_act_continuation += 1 if [57, 58, 59].include?(@active_battler.current_action.skill_id)
# スキル使用時の消費CP
@active_battler.cp -= CP_COST_SKILL_ACTION if @phase4_act_continuation == 0
when 2
# 在这里写哪些物品不消耗 CP
@phase4_act_continuation += 1 if [57, 58, 59].include?(@active_battler.current_action.item_id)
# アイテム使用時の消費CP
@active_battler.cp -= CP_COST_ITEM_ACTION if @phase4_act_continuation == 0
end
# ステート自然解除
@active_battler.remove_states_auto
# 呼び戻す
xrxs_bp1_update_phase4_step2
end
|