标题: 单技能连击脚本 物理技能攻击无效!怎么设置 [打印本页] 作者: qq6221373 时间: 2019-6-6 19:27 标题: 单技能连击脚本 物理技能攻击无效!怎么设置 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
def attack_count
name = @name.split(/,/)[2]
return name != nil ? name.to_i.abs : 0
end
end
end
class Spriteset_Battle
def damage_effect?
for sprite in @enemy_sprites + @actor_sprites
return true if sprite.damage_effect?
end
return false
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
@attack_count = 0
sailcat_update_phase4_step1
end
def make_skill_action_result
sailcat_make_skill_action_result
@attack_count = @skill.attack_count
@hit_count = @skill.hit_count
#规定可以法术连击的技能id
can_use_skill = [133,72,308,309,339,382,390,335]
#检测法术连击技能
if can_use_skill.include?(@skill.id)
if @active_battler.skill_learn?(93)
if rand(100) < 80
@hit_count = 6
end
elsif @active_battler.skill_learn?(92)
if rand(100) < 80
@hit_count = 2
end
elsif @active_battler.states.include?(73)
if rand(100) < 80
@hit_count = 1
end
end
end
end
def update_phase4_step5
sailcat_update_phase4_step5
if @common_event_id > 0
common_event = $data_common_events[@common_event_id]
$game_system.battle_interpreter.setup(common_event.list, 0)
end
if @attack_count > 0
for target in @target_battlers
if target.damage != nil
@phase4_step = 5
target.damage = nil
return
end
target.errorDead = true
for i in 0...@attack_count
target.errorDead = true
target.skill_effect(@active_battler, @skill)
end
end
@attack_count = 0
end
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 and false
@phase4_step = 5
return
end
target.skill_effect(@active_battler, @skill)
end
@hit_count -= 1
@phase4_step = 3
end
end
end作者: qq6221373 时间: 2019-6-6 19:28
物理技能连击效果 无效 只有人物施法动画。没有人物攻击动画作者: miantouchi 时间: 2019-6-8 11:36
可否把范例工程上传一份共同参详下,你发这个代码不知所云啊。