查看: 72|回复: 0

[转载发布] [XAS][强化]COMBO插件增强版--阶段连击(紧急修正.)

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月四日(秋) | 显示全部楼层 |阅读模式





    如图,实现上述的分阶段连击,达到一阶段增加提示音。
    (默认是6个阶段:20 40 60 80 100 120 的连击数,可以按照需要改动)
    总之不是很难啦,很简单的东西。
    如果需要,咩还可以修改其他的连击脚本=.=


    发现BUG了,打开关闭菜单时...图片会还原掉,现在已经修复,原来的几位..重新用新版本吧


    [code]#==============================================================================## MOG_XAS 动画连击V 2.49ws.                                                        ##==============================================================================#                                            ##==============================================================================##                                   描述                                       ##==============================================================================## 显示对一个怪物的造成的连击数和总伤害。                                       ## 如果想用特定的TOOL来显示的话,检查SKILL表格中的HIT项目。                     ##==============================================================================##                                                                              ## 需要的图片:                                                                  ##                                                                              ## Combo_Damage                                                                 ## Combo_Hud   # Combo_Hud1~6# Combo_Number    # Combo_Number1~6#               $game_temp.xascombo调用数                                                               ## 所有图片请务必放在Windowskins文件夹中.                                       ##  20130611.Ws.sheep # 修正了一个BUG,打开关闭菜单等操作时,会被还原为原图片。                                                                    ##==============================================================================##==============================================================================#module MOG# 信息在屏幕上显示的时间.................................................[秒数]  XASCOMBO_TIME = 7# 连击显示窗口的位置 [X, Y]......................................[动态窗口位置]  CSTRIKE_POSITION = [590, 90]     #修改BY WS.sheep 对应等级的COMBO提示音和数量(=.= 顺序可不能反唉)    C6_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE06_AMAZING", 100, 100)    COC_6 = 120   C5_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE05_EXCELLENT", 100, 100)   COC_5 = 100   C4_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE04_CLAZY", 100, 100)   COC_4 = 80   C3_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE03_GREAT", 100, 100)   COC_3 = 60   C2_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE02_COOL", 100, 100)   COC_2 = 40   C1_SE = RPG::AudioFile.new("[SYSTEM]_COMBO_SE01_NICE", 100, 100)   COC_1 = 20  end #==============================================================================# Game_Temp#==============================================================================class Game_Temp    attr_accessor :xascombo        attr_accessor :xascombotime    attr_accessor :xascombotime2    attr_accessor :xascombowin_x    attr_accessor :xascombowin_y    attr_accessor :xascomboopa    attr_accessor :xas_hit    attr_accessor :xas_max_damage    attr_accessor :xashitwin_x    attr_accessor :xashitwin_y    attr_accessor :xashitwin_opa    attr_accessor :xashitwin_zoom_x    attr_accessor :xashitwin_zoom_y    attr_accessor :xasdamwin_x    attr_accessor :xasdamwin_y    attr_accessor :xasdamwin_opa    attr_accessor :xasdamwin_zoom_x    attr_accessor :xasdamwin_zoom_y       attr_accessor :xashudwin_x    attr_accessor :xashudwin_y    attr_accessor :xashudwin_opa    #--------------------------------------------------------------------------# 初始化#--------------------------------------------------------------------------  alias mog_xascombo_initialize initialize  def initialize      mog_xascombo_initialize      @xascombo = 0      @xascombotime = 0      @xascombotime2 = 0      @xascombowin_x = -200      @xascombowin_y = 0      @xascomboopa = 0      @xas_hit = 0      $xas_comse = 0 # #修改BY WS.sheep      @xas_max_damage = 0      @xashitwin_x = 0      @xashitwin_y = 0      @xashitwin_opa = 0      @xashitwin_zoom_x = 1      @xashitwin_zoom_y = 1      @xashudwin_x = 0      @xashudwin_y = 0      @xashudwin_opa = 0      @xasdamwin_x = 0      @xasdamwin_y = 0      @xasdamwin_opa = 0      @xasdamwin_zoom_x = 1      @xasdamwin_zoom_y = 1          end  end  #==============================================================================# Game_Battler#==============================================================================class Game_Battler  #--------------------------------------------------------------------------# 技能效果#--------------------------------------------------------------------------  alias mog_xascombo_skill_effect skill_effect    def skill_effect(user, skill)      mog_xascombo_skill_effect(user, skill)      if skill.element_set.include?($data_system.elements.index("HIT")) and         user.is_a?(Game_Actor) and self.is_a?(Game_Enemy) and         self.damage.to_i > 0           unless  XAS_BA_ENEMY::ITEM_ENEMY.include?(self.id)              $game_temp.xascombo += 1            $game_temp.xascombotime = 3            $game_temp.xascombotime2 = 40 * MOG::XASCOMBO_TIME          end              end    end end#===============================================================================# XRXS_BattlerAttachment#===============================================================================module XRXS_BattlerAttachment#--------------------------------------------------------------------------# 动作效果#--------------------------------------------------------------------------  alias mog_xas_max_damage_action_effect action_effect    def action_effect(bullet, action_id)    mog_xas_max_damage_action_effect(bullet, action_id)      user = bullet.action.user      if self.battler.is_a?(Game_Enemy) and user.battler.is_a?(Game_Actor) and          self.battler.damage.to_i > 0 and not         XAS_BA_ENEMY::ITEM_ENEMY.include?(self.battler.id)          $game_temp.xas_max_damage += self.battler.damage      end    end    end  #===============================================================================# Combo_Sprite_Hud#===============================================================================class Combo_Sprite_Hud < Sprite  include MOG  #--------------------------------------------------------------------------# 初始化#--------------------------------------------------------------------------  def initialize     @viewport = Viewport.new(0, 0, 640, 480)     @viewport.z = 9999          super(@viewport)     @combo_hit = $game_temp.xascombo     @combo_image = RPG::Cache.windowskin("Combo_Number")     @combo_bitmap = Bitmap.new(@combo_image.width,@combo_image.height)     @combo = Sprite.new     @combo.bitmap = @combo_bitmap     @combo_im_cw = @combo_image.width / 10     @combo_im_ch = @combo_image.height          @combo_number_text = @combo_hit.abs.to_s.split(//)     for r in 0..@combo_number_text.size - 1       @combo_number_abs = @combo_number_text[r].to_i        @combo_src_rect = Rect.new(@combo_im_cw * @combo_number_abs, 0, @combo_im_cw, @combo_im_ch)       @combo_bitmap.blt(100 + ((@combo_im_cw - 12) *  r), 0, @combo_image, @combo_src_rect)             end           @combo.z = 5009     @combo.ox = $game_temp.xashitwin_x     @combo.oy = $game_temp.xashitwin_y     @combo.zoom_x = $game_temp.xashitwin_zoom_x     @combo.zoom_y = $game_temp.xashitwin_zoom_y     @combo.opacity = $game_temp.xashitwin_opa       @total_image = RPG::Cache.windowskin("Combo_damage")     @total_bitmap = Bitmap.new(@combo_image.width,@combo_image.height)     @total = Sprite.new     @total.bitmap = @total_bitmap     @total_im_cw = @total_image.width / 10     @total_im_ch = @total_image.height          @total_number_text = $game_temp.xas_max_damage.abs.to_s.split(//)     for r in 0..@total_number_text.size - 1       @total_number_abs = @total_number_text[r].to_i        @total_src_rect = Rect.new(@total_im_cw * @total_number_abs, 0, @total_im_cw, @total_im_ch)       @total_bitmap.blt(100 + ((@total_im_cw - 12) *  r), 0, @total_image, @total_src_rect)             end           @total.z = 5009     @total.ox = $game_temp.xasdamwin_x      @total.oy = $game_temp.xasdamwin_y      @total.zoom_x = $game_temp.xasdamwin_zoom_x     @total.zoom_y = $game_temp.xasdamwin_zoom_y     @total.opacity = $game_temp.xasdamwin_opa           @hud = Sprite.new    @hud.bitmap = RPG::Cache.windowskin("Combo_HUD")     @hud.z = 5008     @hud.ox = $game_temp.xashudwin_x     @hud.oy = $game_temp.xashudwin_y     @hud.opacity = $game_temp.xashudwin_opa             if  $xas_comse  ==6          @hud.bitmap = RPG::Cache.windowskin("Combo_HUD6")              @combo_image = RPG::Cache.windowskin("Combo_Number6")          elsif  $xas_comse ==5            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD5")                @combo_image = RPG::Cache.windowskin("Combo_Number5")          elsif  $xas_comse ==4            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD4")                @combo_image = RPG::Cache.windowskin("Combo_Number4")          elsif  $xas_comse ==3            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD3")                @combo_image = RPG::Cache.windowskin("Combo_Number3")          elsif  $xas_comse ==2            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD2")                @combo_image = RPG::Cache.windowskin("Combo_Number2")          elsif $xas_comse ==1            @combo_image = RPG::Cache.windowskin("Combo_Number1")            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD1")             elsif $game_temp.xascombo == 0 and $xas_comse ==0               @hud.bitmap = RPG::Cache.windowskin("Combo_HUD")               @combo_image = RPG::Cache.windowskin("Combo_Number")            end     if @combo_hit = COC_6 and $xas_comse  ==5          $game_system.se_play(MOG::C6_SE)          @hud.bitmap = RPG::Cache.windowskin("Combo_HUD6")              @combo_image = RPG::Cache.windowskin("Combo_Number6")                      $xas_comse +=1          elsif $game_temp.xascombo >= COC_5 and $xas_comse ==4            $game_system.se_play(MOG::C5_SE)            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD5")                @combo_image = RPG::Cache.windowskin("Combo_Number5")                       $xas_comse +=1          elsif $game_temp.xascombo >= COC_4 and $xas_comse ==3            $game_system.se_play(MOG::C4_SE)            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD4")                @combo_image = RPG::Cache.windowskin("Combo_Number4")                       $xas_comse +=1          elsif $game_temp.xascombo >= COC_3 and $xas_comse ==2            $game_system.se_play(MOG::C3_SE)            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD3")                @combo_image = RPG::Cache.windowskin("Combo_Number3")                        $xas_comse +=1          elsif $game_temp.xascombo >= COC_2 and $xas_comse ==1            $game_system.se_play(MOG::C2_SE)            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD2")                @combo_image = RPG::Cache.windowskin("Combo_Number2")                        $xas_comse +=1          elsif $game_temp.xascombo >= COC_1 and $xas_comse ==0            $game_system.se_play(MOG::C1_SE)            @combo_image = RPG::Cache.windowskin("Combo_Number1")            @hud.bitmap = RPG::Cache.windowskin("Combo_HUD1")               $xas_comse +=1             elsif $game_temp.xascombo == 0 and $xas_comse ==0               @hud.bitmap = RPG::Cache.windowskin("Combo_HUD")               @combo_image = RPG::Cache.windowskin("Combo_Number")            end            ######################################    if $game_temp.xascombotime > 0 and        $game_temp.xascombo > 0             if $game_temp.xasdamwin_x < -65         $game_temp.xasdamwin_x += 1        $game_temp.xasdamwin_opa += 8             elsif $game_temp.xasdamwin_x  0.1          $game_temp.xashitwin_zoom_x -= 0.05        $game_temp.xashitwin_zoom_y -= 0.05               $game_temp.xashitwin_opa += 8     elsif $game_temp.xascombotime  0        $game_temp.xashitwin_zoom_x = 1        $game_temp.xashitwin_zoom_y = 1         $game_temp.xashitwin_opa= 255        $game_temp.xashitwin_x = 10        $game_temp.xashitwin_y= -115     end                if $game_temp.xashitwin_x > 25         $game_temp.xashitwin_x -= 5     end          if $game_temp.xashitwin_y > -105        $game_temp.xashitwin_y -= 5     end                elsif @combo.visible == true and       $game_temp.xascombotime2 < 80       $game_temp.xashitwin_x -= 5       $game_temp.xashitwin_opa -= 10       $game_temp.xasdamwin_x -= 3       $game_temp.xasdamwin_opa -= 10       $game_temp.xashudwin_x += 5       $game_temp.xashudwin_opa -= 10            $game_temp.xascombo = 0       $game_temp.xas_max_damage = 0        @combo_hit = $game_temp.xascombo     end      end  #--------------------------------------------------------------------------# 刷新#--------------------------------------------------------------------------  def update   if @combo.opacity

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-13 23:41 , Processed in 0.052651 second(s), 45 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表