Project1

标题: 关于连续攻击脚本 [打印本页]

作者: 515875677    时间: 2012-1-31 18:47
标题: 关于连续攻击脚本
表示有个搜到的脚本不会用
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
class Sprite < ::Sprite
   def effect?
     @_whiten_duration > 0 or
     @_appear_duration > 0 or
     @_escape_duration > 0 or
     @_animation_duration > 0
   end
   def damage_effect?
     @_damage_duration > 0 or
     @_collapse_duration > 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
   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 = 3
   end
end
end

另外新人不会弄那个啥啥版? - -dsu_plus_rewardpost_czw
作者: 2719358    时间: 2012-1-31 19:10
技能名字后面输上 一个 , 然后输入连击次数
作者: 515875677    时间: 2012-1-31 19:15
2719358 发表于 2012-1-31 19:10
技能名字后面输上 一个 , 然后输入连击次数

英语渣渣看不懂= =  假设名字叫做 火焰1  那么应该加在哪里呢?
作者: 2719358    时间: 2012-1-31 19:19
515875677 发表于 2012-1-31 19:15
英语渣渣看不懂= =  假设名字叫做 火焰1  那么应该加在哪里呢?

数据库,技能那里改

比如火焰 1连击3次
那么就把火焰1的名字改成  火焰1,3
作者: 515875677    时间: 2012-1-31 19:25
2719358 发表于 2012-1-31 19:19
数据库,技能那里改

比如火焰 1连击3次

好吧改了名字显示会出现“,3”部分么
作者: 2719358    时间: 2012-1-31 19:29
515875677 发表于 2012-1-31 19:25
好吧改了名字显示会出现“,3”部分么

是英文逗号吗
===================
原来是少了个括号
  1. module RPG
  2. class Skill
  3.    def name
  4.      name = @name.split(/,/)[0]
  5.      return name != nil ? name : ""
  6.    end
  7.    def hit_count
  8.      name = @name.split(/,/)[1]
  9.      return name != nil ? name.to_i.abs : 0
  10.    end
  11. end
  12. class Sprite < ::Sprite
  13.    def effect?
  14.      @_whiten_duration > 0 or
  15.      @_appear_duration > 0 or
  16.      @_escape_duration > 0 or
  17.      @_animation_duration > 0
  18.    end
  19.    def damage_effect?
  20.      @_damage_duration > 0 or
  21.      @_collapse_duration > 0
  22.    end
  23. end
  24. end
  25. class Spriteset_Battle
  26. def damage_effect?
  27.    for sprite in @enemy_sprites + @actor_sprites
  28.      return true if sprite.damage_effect?
  29.    end
  30.    return false
  31. end
  32. end  
  33. class Scene_Battle
  34. alias sailcat_update_phase4_step1 update_phase4_step1
  35. alias sailcat_make_skill_action_result make_skill_action_result
  36. alias sailcat_update_phase4_step5 update_phase4_step5
  37. def update_phase4_step1
  38.    @hit_count = 0
  39.    sailcat_update_phase4_step1
  40. end
  41. def make_skill_action_result
  42.    sailcat_make_skill_action_result
  43.    @hit_count = @skill.hit_count
  44. end
  45. def update_phase4_step5
  46.    sailcat_update_phase4_step5
  47.    if @hit_count > 0
  48.      for target in @target_battlers.clone
  49.        if target.dead?
  50.          if @target_battlers.size > 1
  51.            @target_battlers.delete(target)
  52.          else
  53.            @target_battlers.delete(target)
  54.            if target.is_a?(Game_Enemy)
  55.              target = $game_troop.smooth_target_enemy(target.index)
  56.            else
  57.              target = $game_party.smooth_target_actor(target.index)
  58.            end
  59.            if target.is_a?(Game_Battler)
  60.              @target_battlers.push(target)
  61.            end
  62.          end
  63.        end
  64.      end
  65.      if @target_battlers.size == 0
  66.        return
  67.      end
  68.      for target in @target_battlers
  69.        if target.damage != nil
  70.          @phase4_step = 5
  71.          return
  72.        end
  73.        target.skill_effect(@active_battler, @skill)
  74.      end
  75.      # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
  76.      # if @common_event_id > 0
  77.      #   common_event = $data_common_events[@common_event_id]
  78.      #   $game_system.battle_interpreter.setup(common_event.list, 0)
  79.      # end
  80.      @hit_count -= 1
  81.      @phase4_step = 3
  82.    end
  83. end
  84. end
复制代码

作者: 515875677    时间: 2012-1-31 19:33
2719358 发表于 2012-1-31 19:29
是英文逗号吗
===================
原来是少了个括号

怎么加上了“,3”还是只攻击一次呀= =
作者: 2719358    时间: 2012-1-31 19:34
裁个图我看看你加的
作者: 515875677    时间: 2012-1-31 19:52
2719358 发表于 2012-1-31 19:34
裁个图我看看你加的

貌似是原来的脚本留下的bug,现在可以用了~
我QQ515875677  可以加我一起交流一下哦~
作者: 幻耶    时间: 2012-1-31 21:34
火焰1,3  应该是攻击4次吧




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