Project1

标题: 单技能连击脚本 物理技能攻击无效!怎么设置 [打印本页]

作者: 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
可否把范例工程上传一份共同参详下,你发这个代码不知所云啊。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1