Project1

标题: 技能连击脚本报错的问题 [打印本页]

作者: jiushiainilip19    时间: 2016-11-13 15:49
标题: 技能连击脚本报错的问题
有时候有出这个错误 有时候又不出这个错误,到底那里出了错呢? 晕啊{:2_264:}


RUBY 代码复制
  1. # ===================================================================
  2. # 连击效果(完美版) v1.2 by SailCat
  3. # ===================================================================
  4. # 数据库设定(特技):
  5. #   名称:技能名称,连击次数(要用半角逗号)
  6. #   例如:超究舞神霸斩,11
  7. #         狮子心,16
  8. #         陨石,9
  9. # 注意这是连击次数,实际攻击的回数是这个回数+1回。
  10. # 省略逗号连同后面的参数的话,连击次数默认为零。
  11. # 连击次数是负数的话,将取绝对值处理。
  12. # 视觉效果是发动动画只放1回,击中动画放N回,伤害值显示N次,
  13. # 所以,如使用了齐时战斗的话,要修改倒数第四行,该行内容为:
  14. #     @phase4_step = 4
  15. # 改为@phase4_step = 3
  16. # 其他:RTAB不适用
  17. # ===================================================================
  18. module RPG
  19. class Skill
  20.    def name
  21.      name = @name.split(/,/)[0]
  22.      return name != nil ? name : ""
  23.    end
  24.    def hit_count
  25.      name = @name.split(/,/)[1]
  26.      return name != nil ? name.to_i.abs : 0
  27.    end
  28. end
  29. class Sprite < ::Sprite
  30.    def effect?
  31.      @_whiten_duration > 0 or
  32.      @_appear_duration > 0 or
  33.      @_escape_duration > 0 or
  34.      @_animation_duration > 0
  35.    end
  36.    def damage_effect?
  37.      @_damage_duration > 0 or
  38.      @_collapse_duration > 0
  39.    end
  40. end
  41. end
  42. class Spriteset_Battle
  43. def damage_effect?
  44.    for sprite in @enemy_sprites + @actor_sprites
  45.      return true if sprite.damage_effect?
  46.    end
  47.    return false
  48. end
  49. end   
  50. class Scene_Battle
  51. alias sailcat_update_phase4_step1 update_phase4_step1
  52. alias sailcat_make_skill_action_result make_skill_action_result
  53. alias sailcat_update_phase4_step5 update_phase4_step5
  54. def update_phase4_step1
  55.    @hit_count = 0
  56.    #$game_variables[3618] = 0
  57.    $game_variables[51] = 0
  58.    $game_variables[3589] = 0
  59.    $game_variables[3387]=0
  60.    $game_variables[3622]=0
  61.    $game_variables[3370]=0
  62.    $game_variables[3368]=0
  63.    $game_variables[3357]=0
  64.    $game_variables[3366]=0
  65.    sailcat_update_phase4_step1
  66. end
  67. def make_skill_action_result
  68.    sailcat_make_skill_action_result
  69.     @hit_count = @skill.hit_count
  70.  
  71.     if @skill.id==977 or @skill.id==923 or @skill.id==893
  72.       @hit_count+=$game_variables[3387]
  73.     end
  74.     if @skill.id==922
  75.       @hit_count+=$game_variables[3622]
  76.     end
  77.     if @skill.id==127
  78.       @hit_count+=$game_variables[3589]
  79.     end
  80.  
  81.     if @skill.id==260 #葵花宝典
  82.       @hit_count+=$game_variables[3370]
  83.     end
  84.     if @skill.id==261
  85.       @hit_count+=$game_variables[3368]
  86.     end
  87.     if @skill.id==265
  88.       @hit_count+=$game_variables[3357]
  89.     end
  90.  
  91.      if @skill.id == 262
  92.        @hit_count+=$game_variables[3366]
  93.      end
  94.  
  95.    end
  96.  
  97. =begin
  98.  def update_phase4_step5
  99.    sailcat_update_phase4_step5
  100.    if @hit_count > 0
  101.      $game_variables[51] += 1
  102.      for target in @target_battlers.clone
  103.        if @active_battler.dead?
  104.          return
  105.        end
  106.        if target.dead?
  107.          if @target_battlers.size > 1
  108.            @target_battlers.delete(target)
  109.          else
  110.            @target_battlers.delete(target)
  111.            if target.is_a?(Game_Enemy)
  112.              target = $game_troop.smooth_target_enemy(target.index)
  113.            else
  114.              target = $game_party.smooth_target_actor(target.index)
  115.            end
  116.            if target.is_a?(Game_Battler)
  117.              @target_battlers.push(target)
  118.            end
  119.          end
  120.        else
  121.          
  122.          
  123.          
  124.          
  125.          
  126.     
  127.        end
  128.      end
  129.    
  130. =end
  131. #=begin
  132. def update_phase4_step5
  133.    sailcat_update_phase4_step5
  134.    #添加防止角色阵亡时候会继续连击的BUG!
  135.   if @active_battler.is_a?(Game_Actor)
  136.    case @active_battler.id
  137.     when 0..27
  138.      if @active_battler.hp == 0
  139.        @hit_count=0
  140.      end
  141.     when 29
  142.      if @active_battler.hp == 0
  143.        @hit_count=0
  144.      end
  145.   end;end
  146.  
  147.    if @hit_count > 0
  148.      $game_variables[51]+= 1
  149.      for target in @target_battlers.clone
  150.        #if target.dead?#羞射了
  151.  
  152.          if @target_battlers.size > 1
  153.            @target_battlers.delete(target)
  154.          else
  155.            @target_battlers.delete(target)
  156.            if @skill.element_set.include?(50)#($data_system.elements.index("随机"))
  157.              if target.is_a?(Game_Enemy)
  158.                 target = $game_troop.random_target_enemy
  159.              else
  160.                target = $game_party.random_target_actor
  161.              end
  162.            else  
  163.              if target.is_a?(Game_Enemy)
  164.                 target = $game_troop.smooth_target_enemy(target.index)
  165.              else
  166.                target = $game_party.smooth_target_actor(target.index)
  167.              end
  168.            end
  169.            if target.is_a?(Game_Battler)
  170.              @target_battlers.push(target)
  171.            end
  172.         #  end
  173.        end
  174.      end
  175. #=end
  176.  
  177.      if @target_battlers.size == 0
  178.        return
  179.      end
  180.  
  181.  
  182.      for target in @target_battlers
  183.        if target.damage != nil
  184.          @phase4_step = 5
  185.          return
  186.        end
  187.        target.skill_effect(@active_battler, @skill)
  188.      end
  189.      # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
  190.      if @common_event_id > 0
  191.  
  192.     common_event = $data_common_events[@common_event_id]
  193.        $game_system.battle_interpreter.setup(common_event.list, 0)
  194.       end
  195.      @hit_count -= 1
  196.      $game_temp.enemy_hpsp_refresh = false
  197.      @phase4_step = 4
  198.    end
  199. end
  200. end

QQ截图20161113154654.png (8.57 KB, 下载次数: 2)

QQ截图20161113154654.png

作者: 夜狠简单    时间: 2016-11-13 15:57
@hit_count = @skill.hit_count  rescue
试下能不能忽略掉




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