Ryugo Administrador
Mensagens : 285 Data de inscrição : 30/07/2011 Idade : 25 Localização : São José dos Campos
| Assunto: Combo Display VX 1.2 MogHunter Seg Ago 15, 2011 10:25 am | |
| Combo Display VX 1.2Introdução:Apresenta a quantidade de acertos e dano maximo. Instruções:É preciso ter as seguintes imagens. Imagens NecessáriasGrave as imagens na pasta Graphics/SystemsScreenShot- ScreenShot:
Demo:VX_Combo_Display.rar Script:- Spoiler:
- Código:
-
#============================================================================== # MOG VX - Combo Display V1.2 #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ # # ■ Apresenta a quantidade de acertos no alvo e o dano maximo. # --------------------------------------------------------------------------- # É necessário ter os arquivos imagens na pasta Graphics/Systems. # Combo_Damage.png # Combo_Hud.png # Combo_Number.png # --------------------------------------------------------------------------- module MOG #Ativar tempo para fazer combo. TIME_COUNT = true # Tempo para fazer um combo. (60 = 1s) COMBO_TIME = 120 # Cancelar a contagem de Combo caso o inimigo acertar o herói. ENEMY_CANCEL_COMBO = true # Posição geral das imagens. X Y COMBO_POSITION = [10,80] # Posição do número de HITS. X Y HIT_POSITION = [15,20] # Posição do número de dano. X Y TOTAL_POSITION = [60,-20] end #=============================================================================== # ■ Game_Temp #=============================================================================== class Game_Temp attr_accessor :combo_hit attr_accessor :max_damage attr_accessor :combo_time #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- alias mog_combo_display_initialize initialize def initialize @combo_hit = 0 @max_damage = 0 @combo_time = 0 mog_combo_display_initialize end end #=============================================================================== # ■ Game_Battler #=============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● execute_damage #-------------------------------------------------------------------------- alias mog_combo_display_execute_damage execute_damage def execute_damage(user) mog_combo_display_execute_damage(user) if @hp_damage > 0 if user.is_a?(Game_Actor) $game_temp.combo_hit += 1 $game_temp.max_damage += @hp_damage $game_temp.combo_time = MOG::COMBO_TIME else $game_temp.combo_time = 0 if MOG::ENEMY_CANCEL_COMBO == true end end end end #=============================================================================== # Combo_Sprite_Hud #=============================================================================== class Combo_Sprite_Hud < Sprite attr_accessor :combo_wait include MOG #-------------------------------------------------------------------------- # Initialize #-------------------------------------------------------------------------- def initialize super @combo_wait = false $game_temp.combo_time = 0 $game_temp.combo_hit = 0 $game_temp.max_damage = 0 @combo_hit_old = 0 @animation_speed = 0 @pos_x = COMBO_POSITION[0] @pos_x_fix = 0 @pos_y = COMBO_POSITION[1] create_combo_sprite create_total_damage_sprite create_hud_sprite end #-------------------------------------------------------------------------- # create_hud_sprite #-------------------------------------------------------------------------- def create_hud_sprite @hud = Sprite.new @hud.bitmap = Cache.system("Combo_HUD") @hud.z = 108 @hud.x = COMBO_POSITION[0] @hud.y = COMBO_POSITION[1] @hud.opacity = 250 @hud.visible = false end #-------------------------------------------------------------------------- # create_total_damage_sprite #-------------------------------------------------------------------------- def create_total_damage_sprite @total_image = Cache.system("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.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(40 + ((@total_im_cw - 12) * r), 0, @total_image, @total_src_rect) end @total.z = 109 @total_orig_x = COMBO_POSITION[0] + TOTAL_POSITION[0] @total_orig_y = COMBO_POSITION[1] + TOTAL_POSITION[1] @total.x = @total_orig_x @total.y = @total_orig_y @total.zoom_x = 1.00 @total.zoom_y = 1.00 @total.opacity = 250 @total.visible = false end #-------------------------------------------------------------------------- # create_combo_number #-------------------------------------------------------------------------- def create_combo_sprite @combo_image = Cache.system("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 = $game_temp.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(40 + ((@combo_im_cw - 12) * r), 0, @combo_image, @combo_src_rect) end @combo.z = 109 @combo_orig_x = COMBO_POSITION[0] + HIT_POSITION[0] @combo_orig_y = COMBO_POSITION[1] + HIT_POSITION[1] @pos_x_fix = (@combo_im_cw / 2 * @combo_number_text.size) @combo.x = @combo_orig_x - @pos_x_fix @combo.y = @combo_orig_y @combo.zoom_x = 1.00 @combo.zoom_y = 1.00 @combo.opacity = 250 @combo.visible = false end #-------------------------------------------------------------------------- # Dispose #-------------------------------------------------------------------------- def dispose @combo_bitmap.dispose @combo.bitmap.dispose @combo.dispose @hud.bitmap.dispose @hud.dispose @total_bitmap.dispose @total.bitmap.dispose @total.dispose super end #-------------------------------------------------------------------------- # Refresh #-------------------------------------------------------------------------- def refresh @combo_hit_old = $game_temp.combo_hit @combo.bitmap.clear @total.bitmap.clear @combo_number_text = $game_temp.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(40 + ((@combo_im_cw - 12) * r), 0, @combo_image, @combo_src_rect) end @total_number_text = $game_temp.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(40 + ((@total_im_cw - 12) * r), 20, @total_image, @total_src_rect) end #Combo Position @pos_x_fix = (@combo_im_cw / 2 * @combo_number_text.size) @combo.x = @combo_orig_x - @pos_x_fix @combo.y = @combo_orig_y @combo.zoom_x = 2 @combo.zoom_y = 2 @combo.opacity = 70 @combo.visible = true #Total Position @total.x = @total_orig_x + 20 @total.y = @total_orig_y @total.opacity = 100 @total.visible = true #Hud Position @hud.x = COMBO_POSITION[0] @hud.y = COMBO_POSITION[1] @hud.opacity = 255 @hud.visible = true end #-------------------------------------------------------------------------- # Slide Update #-------------------------------------------------------------------------- def slide_update return if @combo.visible == false if $game_temp.combo_time > 0 and @combo_wait == false $game_temp.combo_time -= 1 if TIME_COUNT == true end if $game_temp.combo_time > 0 and $game_temp.combo_hit > 0 #Total Damage if @total.x > @total_orig_x @total.x -= 1 @total.opacity += 8 else @total.x = @total_orig_x @total.opacity = 255 end #Combo if @combo.zoom_x > 1.00 @combo.zoom_x -= 0.05 @combo.zoom_y -= 0.05 @combo.opacity += 8 else @combo.zoom_x = 1 @combo.zoom_y = 1 @combo.opacity = 255 @combo.x = @combo_orig_x - @pos_x_fix @combo.y = @combo_orig_y end elsif $game_temp.combo_time == 0 and @combo.visible == true @combo.x -= 5 @combo.opacity -= 10 @total.x -= 3 @total.opacity -= 10 @hud.x += 5 @hud.opacity -= 10 $game_temp.combo_hit = 0 @combo_hit_old = $game_temp.combo_hit $game_temp.max_damage = 0 if @combo.opacity <= 0 @combo.visible = false @total.visible = false @hud.visible = false end end end #-------------------------------------------------------------------------- # Cancel #-------------------------------------------------------------------------- def cancel $game_temp.combo_hit = 0 $game_temp.max_damage = 0 $game_temp.combo_time = 0 @combo_hit_old = $game_temp.combo_hit end #-------------------------------------------------------------------------- # Clear #-------------------------------------------------------------------------- def clear $game_temp.combo_time = 0 end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update super refresh if $game_temp.combo_hit != @combo_hit_old slide_update end end
#=============================================================================== # Scene_Battle #=============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● start #-------------------------------------------------------------------------- alias mog_combo_start start def start create_cb_sprite mog_combo_start end #-------------------------------------------------------------------------- # ● create_cb_sprite #-------------------------------------------------------------------------- def create_cb_sprite @combo_sprite = Combo_Sprite_Hud.new end #-------------------------------------------------------------------------- # ● dispose_info_viewport #-------------------------------------------------------------------------- alias mog_combo_dispose_info_viewport dispose_info_viewport def dispose_info_viewport mog_combo_dispose_info_viewport @combo_sprite.dispose end #-------------------------------------------------------------------------- # ● update_basic #-------------------------------------------------------------------------- alias mog_combo_update_basic update_basic def update_basic(main = false) mog_combo_update_basic(main) @combo_sprite.update end #-------------------------------------------------------------------------- # ● wait_for_animation #-------------------------------------------------------------------------- alias mog_combo_wait_for_animation wait_for_animation def wait_for_animation mog_combo_wait_for_animation while @spriteset.animation? @combo_sprite.combo_wait = true end @combo_sprite.combo_wait = false end #-------------------------------------------------------------------------- # ● mog_combo_process_victory #-------------------------------------------------------------------------- alias mog_combo_process_victory process_victory def process_victory @combo_sprite.clear mog_combo_process_victory end end
$mog_rgssvx_combo_display = true Créditos:MogHunter por criar o script. Eu: por disponibilizar aqui. | |
|
Zendion Cordenador
Mensagens : 372 Data de inscrição : 31/07/2011 Idade : 27 Localização : Leme
| Assunto: Legal Qua Ago 17, 2011 5:09 pm | |
| Belo script Ryugo Gostei msm FUI | |
|