Suporte no desenvolvimento de jogos


    [Script XP e VX] Dragon HUD

    Caio Juan
    Caio Juan
    Colaborador
    Colaborador

    Medalhas : [Script XP e VX] Dragon HUD 94Jxv
    Mensagens : 793
    Créditos : 69
    Cash : 0

    [Script XP e VX] Dragon HUD Empty [Script XP e VX] Dragon HUD

    Mensagem por Caio Juan em Sex Mar 10, 2017 11:00 am

    fonte: http://www.br-lemes.net/2010/09/script-xp-e-vx-dragon-hud.html

    [Script XP e VX] Dragon HUD

    Introdução


    Esta é uma HUD para um só personagem que mostra HP, MP, Exp, equipamentos e itens. É configurável e, apesar de poucas opções, e possível criar efeitos visuais bem diferentes.

    Características



    • Funciona em ambos, RPG Maker XP e VX, sem alterações;

    • Mostra HP, MP, Exp, equipamentos e itens determinados;

    • Pode ligar ou desligar a HUD através de uma switch;

    • Usa uma imagem para o fundo e uma imagem para decoração;

    • A imagem decorativa pode ser ligada ou desligada de ambos os lados independentemente, mas note que a imagem do lado direito é a mesma do lado esquerdo porém invertida; e

    • Opções de configuração para mudar a opacidade das imagens e para mudar a coordenada y das informações (para ajustar caso a imagem de fundo seja maior ou menor).




    Screenshots


    [Script XP e VX] Dragon HUD DHUD_VX
    [Script XP e VX] Dragon HUD DHUD_XP

    Como usar


    Cole em scripts adicionais, acima de Main. Configure o trecho onde diz "CONFIGURAÇÕES: modifique aqui" conforme instruções no próprio script. Você vai precisar destas imagens na pasta System (RPG Maker VX) ou Windowskins (RPG Maker XP) do seu projeto. Você pode trocar por outras, desde que elas tenham o mesmo nome:
    [Script XP e VX] Dragon HUD Dragon
    Versão VX:
    [Script XP e VX] Dragon HUD BackVX
    Versão XP:
    [Script XP e VX] Dragon HUD BackXP

    Demo


    HUD VX: http://www.br-lemes.net/downloads/rpg-maker/DHUD_VX.rar

    HUD XP: http://www.br-lemes.net/downloads/rpg-maker/DHUD_XP.rar


    Script



    Spoiler:

    Código:
    =begin Dragon HUD por br_lemes É permitido, livre de quaisquer ônus, usar, copiar, modificar e/ou distribuir cópias deste script, desde que seja mantido este aviso. NÃO HÁ QUALQUER GARANTIA, USE POR SUA PRÓPRIA CONTA E RISCO. =end

    ################################################################################
    # CONFIGURAÇÕES - modifique a vontade, mas com cuidado
    ################################################################################

    $RMVX = $TEST != nil

    $DHUD_DRAGON1 = true # mostrar dragão 1
    $DHUD_DRAGON2 = true # mostrar dragão 2

    # lista com a ID de 4 (VX) ou 6 (XP) itens a serem mostrados ou 0 para não mostrar
    $DHUD_ITEMS = [1, 4, 7, 9, 12, 13]

    # Estado inicial da HUD
    $DHUD_DEFAULT = true # true é visível, false não é visível
    $DHUD_SWITCH  = 1    # switch que ativa/desativa a HUD

    $DHUD_OPACITY = 215 # opacidade das imagens

    $DHUD_Y = $RMVX ? 382 : 446 # coordenada y de referência

    #--------------------------------------------------------------------------
    # APENAS XP - cores das barras de hp/mp/ex
    # 0 = Vermelho
    # 1 = Azul
    # 2 = Verde
    # 3 = Rosa
    # 4 = Azul Claro
    # 5 = Amarelo
    # 6 = Branco
    #--------------------------------------------------------------------------
    $DHUD_HP_COLOR  = 0
    $DHUD_SP_COLOR  = 1
    $DHUD_EXP_COLOR = 2

    ################################################################################
    # FIM DAS CONFIGURAÇÕES - não modifique apartir daqui
    # A menos que você saiba realmente o que está fazendo
    ################################################################################

    $dhud_eq_needrefresh = true
    $dhud_it_needrefresh = true

    class Game_Actor < Game_Battler
      def now_exp
        return @exp - @exp_list[@level]
      end
      def next_exp
        return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
      end
      if $RMVX
        alias dhud_change_equip change_equip
        def change_equip(equip_type, item, test = false)
          dhud_change_equip(equip_type, item, test)
          $dhud_eq_needrefresh = true
        end
      else
        alias dhud_equip equip
        def equip(equip_type, item)
          dhud_equip(equip_type, item)
          $dhud_eq_needrefresh = true
        end
      end
    end

    class Game_Party
      alias dhud_gain_item gain_item
      def gain_item(item, n, include_equip = false)
        $RMVX ? dhud_gain_item(item, n, include_equip) : dhud_gain_item(item, n)
        $dhud_it_needrefresh = true
      end
    end

    class Scene_Map
      alias dhud_main main
      def main
        if $RMVX then @windowskin = Cache.system("Window") end
        @hud_checkex = -1
        @hud_back = Sprite.new
        @hud_back.z += 1
        @hud_back.opacity = $DHUD_OPACITY
        @hud_dragon1 = Sprite.new
        @hud_dragon1.z += 2
        @hud_dragon1.opacity = $DHUD_OPACITY
        @hud_dragon2 = Sprite.new
        @hud_dragon2.z += 2
        @hud_dragon2.mirror = true
        @hud_dragon2.opacity = $DHUD_OPACITY
        @hud_dragon1.visible = $DHUD_DRAGON1
        @hud_dragon2.visible = $DHUD_DRAGON2
        if $RMVX
          @hud_back.bitmap = Cache.system("backVX")
          @hud_back.y = 416 - @hud_back.height
          @hud_dragon1.bitmap = Cache.system("dragon")
          @hud_dragon1.y = 416 - @hud_dragon1.height
          @hud_dragon2.bitmap = Cache.system("dragon")
          @hud_dragon2.x = 544 - @hud_dragon2.width
          @hud_dragon2.y = 416 - @hud_dragon2.height
        else
          @hud_back.bitmap = RPG::Cache.windowskin("backXP")
          @hud_back.y = 480 - @hud_back.bitmap.height
          @hud_dragon1.bitmap = RPG::Cache.windowskin("dragon")
          @hud_dragon1.y = 480 - @hud_dragon1.bitmap.height
          @hud_dragon2.bitmap = RPG::Cache.windowskin("dragon")
          @hud_dragon2.x = 640 - @hud_dragon2.bitmap.width
          @hud_dragon2.y = 480 - @hud_dragon2.bitmap.height
        end
        @hud_hp = Sprite.new
        @hud_hp.x = 70
        @hud_hp.y = $DHUD_Y + 2
        @hud_hp.z += 2
        @hud_hp.bitmap = Bitmap.new(83, 4)
        @hud_mp = Sprite.new
        @hud_mp.x = 70
        @hud_mp.y = $DHUD_Y + 10
        @hud_mp.z += 2
        @hud_mp.bitmap = Bitmap.new(83, 4)
        @hud_ex = Sprite.new
        @hud_ex.x = 70
        @hud_ex.y = $DHUD_Y + 18
        @hud_ex.z += 2
        @hud_ex.bitmap = Bitmap.new(83, 4)
        @hud_eq = Sprite.new
        @hud_eq.x = 186
        @hud_eq.y = $DHUD_Y
        @hud_eq.z += 2
        @hud_eq.bitmap = Bitmap.new(142, 24)
        @hud_it = Sprite.new
        @hud_it.x = 360
        @hud_it.y = $DHUD_Y
        @hud_it.z += 2
        if $RMVX
          @hud_it.bitmap = Bitmap.new(114, 24)
        else
          @hud_it.bitmap = Bitmap.new(172, 24)
        end
        @hud_it.bitmap.font.size = 14
        $dhud_eq_needrefresh = true
        $dhud_it_needrefresh = true
        refresh
        dhud_main
        @hud_back.dispose
        @hud_dragon1.dispose
        @hud_dragon2.dispose
        @hud_hp.dispose
        @hud_mp.dispose
        @hud_ex.dispose
        @hud_eq.dispose
        @hud_it.dispose
      end
      def refresh
        hudswitch = (($DHUD_DEFAULT && !$game_switches[$DHUD_SWITCH]) or (!$DHUD_DEFAULT && $game_switches[$DHUD_SWITCH]))
        @hud_back.visible = hudswitch
        if hudswitch
          @hud_dragon1.visible = $DHUD_DRAGON1
          @hud_dragon2.visible = $DHUD_DRAGON2
        else
          @hud_dragon1.visible = false
          @hud_dragon2.visible = false
        end
        @hud_hp.visible = hudswitch
        @hud_mp.visible = hudswitch
        @hud_ex.visible = hudswitch
        @hud_eq.visible = hudswitch
        @hud_it.visible = hudswitch
        draw_hp
        draw_mp
        draw_ex
        draw_eq if $dhud_eq_needrefresh
        draw_it if $dhud_it_needrefresh
      end
      if $RMVX
        def text_color(n)
          x = 64 + (n % 8) * 8
          y = 96 + (n / 8) * 8
          return @windowskin.get_pixel(x, y)
        end
      else
        def bar_color(bitmap, x, y, w, color)
          case color
          when 0
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 96, 96, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 0, 0, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 0, 0, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 0, 0, 255))
          when 1
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(96, 96, 255, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 0, 255, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 0, 192, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 0, 128, 255))
          when 2
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(96, 255, 96, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 255, 0, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 192, 0, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 128, 0, 255))
          when 3
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 128, 255, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 0, 255, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 0, 192, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 0, 128, 255))
          when 4
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(128, 255, 255, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(0, 255, 255, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(0, 192, 192, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(0, 128, 128, 255))
          when 5
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 255, 128, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 255, 0, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 192, 0, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 128, 0, 255))
          when 6
            bitmap.fill_rect(x, y + 0, w, 1, Color.new(255, 255, 255, 255))
            bitmap.fill_rect(x, y + 1, w, 1, Color.new(255, 255, 255, 255))
            bitmap.fill_rect(x, y + 2, w, 1, Color.new(192, 192, 192, 255))
            bitmap.fill_rect(x, y + 3, w, 1, Color.new(128, 128, 128, 255))
          end
        end
      end
      def draw_hp
        if $RMVX
          if @hud_checkhp == $game_party.members[0].hp then return end
          @hud_mp.bitmap.clear
          gw = 83 * $game_party.members[0].hp / $game_party.members[0].maxhp
          @hud_hp.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(20), text_color(21))
          @hud_checkhp = $game_party.members[0].hp
        else
          if @hud_checkhp == $game_party.actors[0].hp then return end
          @hud_mp.bitmap.clear
          gw = 83 * $game_party.actors[0].hp / $game_party.actors[0].maxhp
          bar_color(@hud_hp.bitmap, 0, 0, gw, $DHUD_HP_COLOR)
          @hud_checkhp = $game_party.actors[0].hp
        end
      end
      def draw_mp
        if $RMVX
          if @hud_checkmp == $game_party.members[0].mp then return end
          @hud_mp.bitmap.clear
          gw = 83 * $game_party.members[0].mp / $game_party.members[0].maxmp
          @hud_mp.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(22), text_color(23))
          @hud_checkmp = $game_party.members[0].mp
        else
          if @hud_checkmp == $game_party.actors[0].sp then return end
          @hud_mp.bitmap.clear
          gw = 83 * $game_party.actors[0].sp / $game_party.actors[0].maxsp
          bar_color(@hud_mp.bitmap, 0, 0, gw, $DHUD_SP_COLOR)
          @hud_checkmp = $game_party.actors[0].sp
        end
      end
      def draw_ex
        if $RMVX
          if @hud_checkex == $game_party.members[0].next_exp then return end
          @hud_ex.bitmap.clear
          ex = $game_party.members[0].next_exp != 0 ? ex = $game_party.members[0].now_exp : ex = 1
          gw = 83 * ex / [$game_party.members[0].next_exp, 1].max
          @hud_ex.bitmap.gradient_fill_rect(0, 0, gw, 4, text_color(30), text_color(31))
          @hud_checkex = ex
        else
          if @hud_checkex == $game_party.actors[0].next_exp then return end
          @hud_ex.bitmap.clear
          ex = $game_party.actors[0].next_exp != 0 ? ex = $game_party.actors[0].now_exp : ex = 1
          gw = 83 * ex / [$game_party.actors[0].next_exp, 1].max
          bar_color(@hud_ex.bitmap, 0, 0, gw, $DHUD_EXP_COLOR)
          @hud_checkex = ex
        end
      end
      def draw_icon(contents, icon, x, y, enabled = true)
        if $RMVX
          bitmap = Cache.system("Iconset")
          rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
          contents.blt(x, y, bitmap, rect, enabled ? 255 : 128)
        else
          bitmap = RPG::Cache.icon(icon)
          contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), enabled ? 255 : 128)
        end
      end
      def draw_eq
        @hud_eq.bitmap.clear
        if $RMVX
          actor = $game_party.members[0]
          draw_icon(@hud_eq.bitmap, $data_weapons[actor.weapon_id].icon_index, 0, 0, true) if actor.weapon_id != 0
          if actor.armor1_id != 0
            if actor.two_swords_style
              draw_icon(@hud_eq.bitmap, $data_weapons[actor.armor1_id].icon_index, 29, 0, true) if actor.armor1_id != 0
            else
              draw_icon(@hud_eq.bitmap, $data_armors[actor.armor1_id].icon_index, 29, 0, true) if actor.armor1_id != 0
            end
          end
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor2_id].icon_index, 58, 0, true) if actor.armor2_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor3_id].icon_index, 87, 0, true) if actor.armor3_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor4_id].icon_index, 116, 0, true) if actor.armor4_id != 0
        else
          actor = $game_party.actors[0]
          draw_icon(@hud_eq.bitmap, $data_weapons[actor.weapon_id].icon_name, 0, 0, true) if actor.weapon_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor1_id].icon_name, 29, 0, true) if actor.armor1_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor2_id].icon_name, 58, 0, true) if actor.armor2_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor3_id].icon_name, 87, 0, true) if actor.armor3_id != 0
          draw_icon(@hud_eq.bitmap, $data_armors[actor.armor4_id].icon_name, 116, 0, true) if actor.armor4_id != 0
        end
        $dhud_eq_needrefresh = false
      end
      def draw_it
        @hud_it.bitmap.clear
        x = 0
        n = $RMVX ? 3 : 5
        for i in 0..n
          if $DHUD_ITEMS[i] != 0
            item = $data_items[$DHUD_ITEMS[i]]
            if $RMVX
              if item and $game_party.item_number(item) != 0
                draw_icon(@hud_it.bitmap, item.icon_index, x, 0, true)
                @hud_it.bitmap.draw_text(x + 16, 10, 12, 14, $game_party.item_number(item))
              end
            else
              if item and $game_party.item_number($DHUD_ITEMS[i]) != 0
                draw_icon(@hud_it.bitmap, item.icon_name, x, 0, true)
                @hud_it.bitmap.draw_text(x + 16, 10, 12, 14, $game_party.item_number($DHUD_ITEMS[i]).to_s)
              end
            end
          end
          x += 29
        end
        $dhud_it_needrefresh = false
      end
      alias dhud_update update
      def update
        dhud_update
        refresh
        @hud_back.update
        @hud_dragon1.update
        @hud_dragon2.update
        @hud_hp.update
        @hud_mp.update
        @hud_ex.update
        @hud_eq.update
        @hud_it.update
      end
    end

    [/center]


    _________________
    -Não Aceito Mais do que um Mapa Perfeito-
    [Script XP e VX] Dragon HUD VfZx7

    [Script XP e VX] Dragon HUD Arenax
    Aguardem!!!
    avatar
    takub088
    Iniciante
    Iniciante

    Mensagens : 38
    Créditos : 0
    Cash : 0

    [Script XP e VX] Dragon HUD Empty Re: [Script XP e VX] Dragon HUD

    Mensagem por takub088 em Sex Mar 10, 2017 4:00 pm

    wow verygood|!!

      Data/hora atual: Qui Dez 05, 2019 1:00 pm