标题: [应求脚本]连击效果 [打印本页] 作者: SailCat 时间: 2005-11-1 13:58 标题: [应求脚本]连击效果 # ===================================================================
# 连击效果 v1.0 by SailCat
# ===================================================================
# 数据库设定(特技):
# 名称:技能名称,连击次数(要用半角逗号)
# 例如:超究舞神霸斩,11
# 狮子心,16
# 陨石,9
# 注意这是连击次数,实际攻击的回数是这个回数+1回。
# 省略逗号连同后面的参数的话,连击次数默认为零。
# 连击次数是负数的话,将取绝对值处理。
# 视觉效果是发动动画只放1回,击中动画放N回,伤害值显示N次,
# 所以,如使用了齐时战斗的话,要修改倒数第四行,该行内容为:
# @phase4_step = 4
# 改为@phase4_step = 3
# 其他:RTAB不适用
# ===================================================================
module RPG
class Skill
def name
name = @name.split(/,/)[0]
return name != nil ? name : ""
end
def hit_count
name = @name.split(/,/)[1]
return name != nil ? name.to_i.abs : 0
end
end
end
class Scene_Battle
alias sailcat_update_phase4_step1 update_phase4_step1
alias sailcat_make_skill_action_result make_skill_action_result
alias sailcat_update_phase4_step5 update_phase4_step5
def update_phase4_step1
@hit_count = 0
sailcat_update_phase4_step1
end
def make_skill_action_result
sailcat_make_skill_action_result
@hit_count = @skill.hit_count
end
def update_phase4_step5
sailcat_update_phase4_step5
if @hit_count > 0
for target in @target_battlers.clone
if target.dead?
if @target_battlers.size > 1
@target_battlers.delete(target)
else
@target_battlers.delete(target)
if target.is_a?(Game_Enemy)
target = $game_troop.smooth_target_enemy(target.index)
else
target = $game_party.smooth_target_actor(target.index)
end
if target.is_a?(Game_Battler)
@target_battlers.push(target)
end
end
end
end
if @target_battlers.size == 0
return
end
for target in @target_battlers
if target.damage != nil
@phase4_step = 5
return
end
target.skill_effect(@active_battler, @skill)
end
# 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
# if @common_event_id > 0
# common_event = $data_common_events[@common_event_id]
# $game_system.battle_interpreter.setup(common_event.list, 0)
# end
@hit_count -= 1
@phase4_step = 4
end
end
end作者: SailCat 时间: 2005-11-1 13:58 标题: [应求脚本]连击效果 # ===================================================================
# 连击效果 v1.0 by SailCat
# ===================================================================
# 数据库设定(特技):
# 名称:技能名称,连击次数(要用半角逗号)
# 例如:超究舞神霸斩,11
# 狮子心,16
# 陨石,9
# 注意这是连击次数,实际攻击的回数是这个回数+1回。
# 省略逗号连同后面的参数的话,连击次数默认为零。
# 连击次数是负数的话,将取绝对值处理。
# 视觉效果是发动动画只放1回,击中动画放N回,伤害值显示N次,
# 所以,如使用了齐时战斗的话,要修改倒数第四行,该行内容为:
# @phase4_step = 4
# 改为@phase4_step = 3
# 其他:RTAB不适用
# ===================================================================
module RPG
class Skill
def name
name = @name.split(/,/)[0]
return name != nil ? name : ""
end
def hit_count
name = @name.split(/,/)[1]
return name != nil ? name.to_i.abs : 0
end
end
end
class Scene_Battle
alias sailcat_update_phase4_step1 update_phase4_step1
alias sailcat_make_skill_action_result make_skill_action_result
alias sailcat_update_phase4_step5 update_phase4_step5
def update_phase4_step1
@hit_count = 0
sailcat_update_phase4_step1
end
def make_skill_action_result
sailcat_make_skill_action_result
@hit_count = @skill.hit_count
end
def update_phase4_step5
sailcat_update_phase4_step5
if @hit_count > 0
for target in @target_battlers.clone
if target.dead?
if @target_battlers.size > 1
@target_battlers.delete(target)
else
@target_battlers.delete(target)
if target.is_a?(Game_Enemy)
target = $game_troop.smooth_target_enemy(target.index)
else
target = $game_party.smooth_target_actor(target.index)
end
if target.is_a?(Game_Battler)
@target_battlers.push(target)
end
end
end
end
if @target_battlers.size == 0
return
end
for target in @target_battlers
if target.damage != nil
@phase4_step = 5
return
end
target.skill_effect(@active_battler, @skill)
end
# 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
# if @common_event_id > 0
# common_event = $data_common_events[@common_event_id]
# $game_system.battle_interpreter.setup(common_event.list, 0)
# end
@hit_count -= 1
@phase4_step = 4
end
end
end作者: ikki 时间: 2005-11-1 22:51
可以修改一个乱射效果和打死敌人后次数没用完接着打其他敌人的吗?作者: SailCat 时间: 2005-11-1 23:11
乱射效果 -> 应用23种战斗特效的公共事件 那个"对象随机"的事件