搜索附件  
同能RPG制作大师 附件中心 同能RM技术讨论区 RPG Maker XP 讨论区 [XAS][强化]COMBO插件增强版--阶段连击(紧急修正.): Windowskins.zip

[XAS][强化]COMBO插件增强版--阶段连击(紧急修正.): Windowskins.zip

 

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





如图,实现上述的分阶段连击,达到一阶段增加提示音。
(默认是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

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

GMT+8, 2024-11-11 07:00 , Processed in 0.043380 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部