Project1

标题: 怎么做出技能连击 [打印本页]

作者: 没有马甲    时间: 2010-11-7 07:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 白宇七    时间: 2010-11-7 07:53
像梦群连击那样,有连击脚本
作者: jklpgh    时间: 2010-11-7 09:05
  1. class Skill
  2.    def name
  3.      name = @name.split(/,/)[0]
  4.      return name != nil ? name : ""
  5.    end
  6.    def hit_count
  7.      name = @name.split(/,/)[1]
  8.      return name != nil ? name.to_i.abs : 0
  9.    end
  10. end
  11. #class Sprite < ::Sprite
  12.   # def effect?
  13.    #  @_whiten_duration > 0 or
  14.     # @_appear_duration > 0 or
  15.     # @_escape_duration > 0 or
  16.     # @_animation_duration > 0
  17.    #end
  18.    #def damage_effect?
  19.     # @_damage_duration > 0 or
  20.     # @_collapse_duration > 0
  21.    #end
  22. #end
  23. end
  24. class Spriteset_Battle
  25. def damage_effect?
  26.    for sprite in @enemy_sprites + @actor_sprites
  27.      return true if sprite.damage_effect?
  28.    end
  29.    return false
  30. end
  31. end  
  32. class Scene_Battle
  33. alias sailcat_update_phase4_step1 update_phase4_step1
  34. alias sailcat_make_skill_action_result make_skill_action_result
  35. alias sailcat_update_phase4_step5 update_phase4_step5
  36. def update_phase4_step1
  37.    @hit_count = 0
  38.    sailcat_update_phase4_step1
  39. end
  40. def make_skill_action_result
  41.    sailcat_make_skill_action_result
  42.    @hit_count = @skill.hit_count
  43. end
  44. def update_phase4_step5
  45.    sailcat_update_phase4_step5
  46.    if @hit_count > 0
  47.      for target in @target_battlers.clone
  48.        if target.dead?
  49.          if @target_battlers.size > 1
  50.            @target_battlers.delete(target)
  51.          else
  52.            @target_battlers.delete(target)
  53.            if target.is_a?(Game_Enemy)
  54.              target = $game_troop.smooth_target_enemy(target.index)
  55.            else
  56.              target = $game_party.smooth_target_actor(target.index)
  57.            end
  58.            if target.is_a?(Game_Battler)
  59.              @target_battlers.push(target)
  60.            end
  61.          end
  62.        end
  63.      end
  64.      if @target_battlers.size == 0
  65.        return
  66.      end
  67.      for target in @target_battlers
  68.        if target.damage != nil
  69.          @phase4_step = 5
  70.          return
  71.        end
  72.        target.skill_effect(@active_battler, @skill)
  73.      end
  74.      # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
  75.      # if @common_event_id > 0
  76.      #   common_event = $data_common_events[@common_event_id]
  77.      #   $game_system.battle_interpreter.setup(common_event.list, 0)
  78.      # end
  79.      @hit_count -= 1
  80.      @phase4_step = 3
  81.    end
  82. end
  83. end
复制代码
在技能后面用“,数字”表示要连击的数
作者: kukurui00    时间: 2010-11-7 09:29
用事件  强制行动
作者: azdet54639    时间: 2010-11-7 10:13
或者可以用RTAB1.16在动画库里面设置(X,100,0,0)的闪烁来实现连击
缺点是脚本冲突太多




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