Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


+10
Felix Blayder
Bett0
TuNInHo
vizug@memaster
HugoFreitas
DeaN
Chavesvga
Valentine
JuanCollin
The Suspect
14 participantes

    Kindom Hearts HUD

    The Suspect
    The Suspect
    Ocasional
    Ocasional


    Mensagens : 206
    Créditos : 83

    Kindom Hearts HUD Empty Kindom Hearts HUD

    Mensagem por The Suspect Seg Nov 15, 2010 12:20 pm

    Introduçao

    Esse script produz a HUD do famoso jogo Kingdom Hearts,nele tudo é customizável caso você queira mudar algo,desde as imagens até as fontes.E além disso para fazer funcioná-lo é só copiar e colar.

    SS

    Spoiler:

    Script/Demo

    Clique aqui para abaixa
    O script
    Código:
    #--------------------------------------------------------------------
    # A list of colors that you may use to configure the font and gauge
    # colors in the config section.  Simply replace the last part of each
    # statement, i.e., the part in the brackets <> below:
    #
    #                      Colors::<White>
    #--------------------------------------------------------------------
    # Continue below for the configuration section
    #--------------------------------------------------------------------
    module Colors
     
      AliceBlue = Color.new(240,248,255)
      AntiquaWhite = Color.new(250,235,215)
      Aqua = Color.new(0,255,255)
      Aquamarine = Color.new(127,255,212)
      Azure = Color.new(240,255,255)
      Beige = Color.new(245,245,220)
      Bisque = Color.new(255,228,196)
      Black = Color.new(0,0,0)
      BlanchedAlmond = Color.new(255,255,205)
      Blue = Color.new(0,0,255)
      BlueViolet = Color.new(138,43,226)
      Brown = Color.new(165,42,42)
      BurlyWood = Color.new(222,184,135)
      CadetBlue = Color.new(95,158,160)
      Chartreuse = Color.new(127,255,0)
      Chocolate = Color.new(210,105,30)
      Coral = Color.new(255,127,80)
      CornFlowerBlue = Color.new(100,149,237)
      Cornsilk = Color.new(255,248,220)
      Crimson = Color.new(220,20,60)
      Cyan = Color.new(0,255,255)
      DarkBlue = Color.new(0,0,139)
      DarkCyan = Color.new(0,139,139)
      DarkGoldenrod = Color.new(184,134,11)
      DarkGray = Color.new(169,169,169)
      DarkGreen = Color.new(0,100,0)
      DarkKhaki= Color.new(189,183,107)
      DarkMagenta = Color.new(139,0,139)
      DarkOliveGreen = Color.new(85,107,47)
      DarkOrange = Color.new(255,140,0)
      DarkRed = Color.new(139,0,0)
      DarkSalmon = Color.new(233,150,122)
      DarkSeaGreen = Color.new(143,188,143)
      DarkSlateBlue = Color.new(72,61,139)
      DarkSlateGray = Color.new(40,79,79)
      DarkTurquoise = Color.new(0,206,209)
      DarkViolet = Color.new(148,0,211)
      DeepPink = Color.new(255,20,147)
      DeepSkyBlue = Color.new(0,191,255)
      DimGray = Color.new(105,105,105)
      DodgerBlue = Color.new(30,144,255)
      FireBrick = Color.new(178,34,34)
      FloralWhite = Color.new(255,255,240)
      ForestGreen = Color.new(34,139,34)
      Fuschia = Color.new(255,0,255)
      Gainsboro = Color.new(220,220,220)
      GhostWhite = Color.new(248,248,255)
      Gold = Color.new(255,215,0)
      Goldenrod = Color.new(218,165,32)
      Gray = Color.new(128,128,128)
      Green = Color.new(0,128,0)
      GreenYellow = Color.new(173,255,47)
      Honeydew = Color.new(240,255,240)
      HotPink = Color.new(255,105,180)
      IndianRed = Color.new(205,92,92)
      Indigo = Color.new(75,0,130)
      Ivory = Color.new(255,240,240)
      Khaki = Color.new(240,230,140)
      Lavender = Color.new(230,230,250)
      LavenderBlush = Color.new(255,240,245)
      LawnGreen = Color.new(124,252,0)
      LemonChiffon = Color.new(255,250,205)
      LightBlue = Color.new(173,216,230)
      LightCoral = Color.new(240,128,128)
      LightCyan = Color.new(224,255,255)
      LightGoldenrodYellow = Color.new(250,250,210)
      LightGreen = Color.new(144,238,144)
      LightGray = Color.new(211,211,211)
      LightPink = Color.new(255,182,193)
      LightSalmon = Color.new(255,160,122)
      LightSeaGreen = Color.new(32,178,170)
      LightSkyBlue = Color.new(135,206,250)
      LightSlateGray = Color.new(119,136,153)
      LightSteelBlue = Color.new(176,196,222)
      LightYellow = Color.new(255,255,224)
      Lime = Color.new(0,255,0)
      LimeGreen = Color.new(50,205,50)
      Linen = Color.new(250,240,230)
      Magenta = Color.new(255,0,255)
      Maroon = Color.new(128,0,0)
      MediumAquamarine = Color.new(102,205,170)
      MediumBlue = Color.new(0,0,205)
      MediumOrchid = Color.new(186,85,211)
      MediumPurple = Color.new(147,112,219)
      MediumSeaGreen = Color.new(60,179,113)
      MediumSlateBlue = Color.new(123,104,238)
      MediumSpringGreen = Color.new(0,250,154)
      MediumTurquoise = Color.new(72,209,204)
      MediumVioletRed = Color.new(199,21,112)
      MidnightBlue = Color.new(25,25,112)
      MintCream = Color.new(245,255,250)
      MistyRose = Color.new(255,228,225)
      Moccasin = Color.new(255,228,181)
      NavajoWhite = Color.new(255,222,173)
      Navy = Color.new(0,0,128)
      OldLace = Color.new(253,245,230)
      Olive = Color.new(128,128,0)
      OliveDrab = Color.new(107,142,45)
      Orange = Color.new(255,165,0)
      OrangeRed = Color.new(255,69,0)
      Orchid = Color.new(218,112,214)
      PaleGoldenRod = Color.new(238,232,170)
      PaleGreen = Color.new(152,251,152)
      PaleTurquoise = Color.new(175,238,238)
      PaleVioletRed = Color.new(219,112,147)
      PapayaWhip = Color.new(255,239,213)
      PeachPuff = Color.new(255,218,155)
      Peru = Color.new(205,133,63)
      Pink = Color.new(255,192,203)
      Plum = Color.new(221,160,221)
      PowderBlue = Color.new(176,224,230)
      Purple = Color.new(128,0,128)
      Red = Color.new(255,0,0)
      RosyBrown = Color.new(188,143,143)
      RoyalBlue = Color.new(65,105,225)
      SaddleBrown = Color.new(139,69,19)
      Salmon = Color.new(250,128,114)
      SandyBrown = Color.new(244,164,96)
      SeaGreen = Color.new(46,139,87)
      Seashell = Color.new(255,245,238)
      Sienna = Color.new(160,82,45)
      Silver = Color.new(192,192,192)
      SkyBlue = Color.new(135,206,235)
      SlateBlue = Color.new(106,90,205)
      SlateGray = Color.new(112,128,144)
      Snow = Color.new(255,250,250)
      SpringGreen = Color.new(0,255,127)
      SteelBlue = Color.new(70,130,180)
      Tan = Color.new(210,180,140)
      Teal = Color.new(0,128,128)
      Thistle = Color.new(216,191,216)
      Tomato = Color.new(253,99,71)
      Turquoise = Color.new(64,244,208)
      Violet = Color.new(238,130,238)
      Wheat = Color.new(245,222,179)
      White = Color.new(255,255,255)
      WhiteSmoke = Color.new(245,245,245)
      Yellow = Color.new(255,255,0)
      YellowGreen = Color.new(154,205,50)
     
      GaugeGreen = Color.new(202,241,126)
      GaugeBlue = Color.new(137,222,254)
     
    end

    #--------------------------------------------------------------------
    # do not touch this
    class Point
      attr_reader :x
      attr_reader :y
      def initialize(x, y)
        @x, @y = x, y
      end
      def to_a
        [@x, @y]
      end
    end
    # or this
    class ScrollDirection
      Left = 0
      Right = 1
    end
    #--------------------------------------------------------------------

    #--------------------------------------------------------------------
    # * Configuration Section
    #--------------------------------------------------------------------
    # * Aside from these settings, you can also force the HUD to hide
    #  by using the "Script..." event command with this text:
    #
    #      $scene.hide_hud
    #--------------------------------------------------------------------
    module HudConfig
     
      # The actor id of the main character in your game.
      # This will be the character in the main hud window.
      PLAYER_ID                  = 1
     
      # Name of the player (main character) hud graphic
      PLAYER_HUD_IMAGE_NAME      = 'player_hud'
      # Use the gren and blue mp/hp gauges?
      # You may use your own graphics, but they must
      # adhere to the same format as the originals, i.e.,
      #
      #  hud_bar_hp_000.png
      #
      # Where the '000' part is a multiple of five, from 0-100.
      PLAYER_USE_CUSTOM_GAUGE    = true
     
      # The physical location of the hud sprite.
      # All of the other graphic locations are relative to this one.
      PLAYER_HUD_LOC            = Point.new(0, 0)
      # The relative location of the hud image to the hud sprite.
      PLAYER_HUD_IMAGE_LOCATION  = Point.new(0, 0) 
     
      # The starting location of each peice of the HP gauge.
      PLAYER_HP_GAUGE_LOCATION  = Point.new(0, 0)
      # the starting location of each peice of the MP gauge.
      PLAYER_MP_GAUGE_LOCATION  = Point.new(0, 0)
     
      # The location of the face graphic.
      FACE_LOCATION              = Point.new(35, 0)
     
      # Show all party members? (THESE FEATURES ARE NOT YET IMPLEMENTED)
      USE_MEMBER_WINDOW          = true
      MEMBER_HUD_IMAGE_NAME      = 'member_hud'
      MEMBER_USE_CUSTOM_GAUGE    = false
     
      # Allow the player to hide the HUD by pressing a button?
      ALLOW_HUD_HIDE            = true
      # The button which will trigger a hud move.
      HIDE_HUD_INPUT            = Input::X
      # The speed at which to move the hud.
      HUD_HIDE_SPEED            = 7
      # replace "Left" with "Right" below to change the scroll direction
      HUD_SCROLL_DIRECTION      = ScrollDirection::Left
     
      # Global values which are convenient for setting
      # multiple values to the same thing.
      GLOBAL_FONT_NAME          = ['Magneto', 'Consolas', 'Verdana', 'Ariel', 'Courier New']
      GLOBAL_PLAYER_FONT_SIZE    = 22
      GLOBAL_MEMBER_FONT_SIZE    = 22
     
      # The rest of the settings deal with setting the
      # location and style of the text displayed in the HDU
      PLAYER_NAME_FONT          = GLOBAL_FONT_NAME
      PLAYER_NAME_COLOR          = Colors::Silver
      PLAYER_NAME_USE_ITALICS    = false
      PLAYER_NAME_USE_BOLD      = false
      PLAYER_NAME_USE_SHADOW    = true
      PLAYER_NAME_FONT_SIZE      = 20
      PLAYER_NAME_LOCATION      = Point.new(125,0)
      PLAYER_NAME_WIDTH          = 90
      PLAYER_NAME_HEIGHT        = 22
     
      MEMBER_NAME_FONT          = GLOBAL_FONT_NAME
      MEMBER_NAME_COLOR          = Colors::White
      MEMBER_NAME_FONT_SIZE      = GLOBAL_MEMBER_FONT_SIZE
      MEMBER_NAME_LOCATION      = Point.new(0,0)
     
      USE_HP_TEXT_DISPLAY        = true
      PLAYER_HP_FONT            = ['Consolas', 'Verdana', 'Ariel', 'Courier New']
      PLAYER_FULL_HP_COLOR      = Colors::GaugeGreen
      PLAYER_HP_FONT_USE_ITALICS = false
      PLAYER_HP_FONT_USE_BOLD    = true
      PLAYER_HP_FONT_USE_SHADOW  = true
      PLAYER_HP_FONT_SIZE        = 14
      PLAYER_HP_LOCATION        = Point.new(130,66)
      PLAYER_HP_WIDTH            = 76
      PLAYER_HP_HEIGHT          = 11
     
      MEMBER_HP_FONT            = GLOBAL_FONT_NAME
      MEMBER_HP_FONT_SIZE        = GLOBAL_MEMBER_FONT_SIZE
      MEMBER_HP_LOCATION        = Point.new(0,0)
     
      USE_MP_TEXT_DISPLAY        = USE_HP_TEXT_DISPLAY
      PLAYER_MP_FONT            = PLAYER_HP_FONT
      PLAYER_FULL_MP_COLOR      = Colors::GaugeBlue
      PLAYER_MP_FONT_USE_ITALICS = PLAYER_HP_FONT_USE_ITALICS
      PLAYER_MP_FONT_USE_BOLD    = PLAYER_HP_FONT_USE_BOLD
      PLAYER_MP_FONT_USE_SHADOW  = PLAYER_HP_FONT_USE_SHADOW
      PLAYER_MP_FONT_SIZE        = PLAYER_HP_FONT_SIZE
      PLAYER_MP_LOCATION        = Point.new(PLAYER_HP_LOCATION.x, PLAYER_HP_LOCATION.y + PLAYER_HP_HEIGHT + 1)
      PLAYER_MP_WIDTH            = PLAYER_HP_WIDTH
      PLAYER_MP_HEIGHT          = PLAYER_HP_HEIGHT
     
      MEMBER_MP_FONT            = GLOBAL_FONT_NAME
      MEMBER_MP_FONT_SIZE        = GLOBAL_MEMBER_FONT_SIZE
      MEMBER_MP_LOCATION        = Point.new(0,0)
     
      PLAYER_LEVEL_FONT          = GLOBAL_FONT_NAME
      PLAYER_LEVEL_COLOR        = Colors::Gold
      PLAYER_LEVEL_USE_ITALICS  = false
      PLAYER_LEVEL_USE_BOLD      = false
      PLAYER_LEVEL_USE_SHADOW    = true
      PLAYER_LEVEL_FONT_SIZE    = 18
      PLAYER_LEVEL_LOCATION      = Point.new(136,24)
      PLAYER_LEVEL_WIDTH        = 36
      PLAYER_LEVEL_HEIGHT        = 35
     
      MEMBER_LEVEL_FONT          = GLOBAL_FONT_NAME
      MEMBER_LEVEL_COLOR        = PLAYER_LEVEL_COLOR
      MEMBER_LEVEL_FONT_SIZE    = 10
      MEMBER_LEVEL_LOCATION      = Point.new(0,0)
     
      #-------
      # don't change the values below unless you know what you are doing.
     
      # The text format used for gauage images. 
      HEALTH_GAUGE_FORMAT        = 'hud_bar_%s_%.3d'
     
      # the name of the image file used as a mask for the face graphic
      PLAYER_FACE_MASK_NAME      = 'player_face_mask'
     
    end

    class EventHandler
     
      def initialize
        @client_map = {}
      end
     
      def add_listener(id, func)
        (@client_map[id.hash] ||= []) << func
      end
     
      def remove_listener(id)
        return @client_map.delete(id.hash)
      end
     
      def alert_listeners(*args)
        @client_map.each_value { |v| v.each { |func| func.call(*args) } }
      end
     
      def dispose
        @client_map = nil
      end
     
    end

    class Game_Actor < Game_Battler
     
      attr_accessor :hp_changed
      attr_accessor :mp_changed
      attr_accessor :maxhp_changed
      attr_accessor :maxmp_changed
     
      alias :pre_confhud_ga_init :initialize unless $@
      def initialize(*args)
        @hp_changed = EventHandler.new
        @mp_changed = EventHandler.new
        @maxhp_changed = EventHandler.new
        @maxmp_changed = EventHandler.new
        pre_confhud_ga_init(*args) 
      end
     
      def on_hp_changed(*args) 
        @hp_changed.alert_listeners(*args)
      end
     
      def on_mp_changed(*args) 
        @mp_changed.alert_listeners(*args)
      end
     
      def on_maxhp_changed(*args)
        @maxhp_changed.alert_listeners(*args)
      end
     
      def on_maxmp_changed(*args)
        @maxmp_changed.alert_listeners(*args)
      end
     
      alias :pre_confhud_ga_hpequ :hp= unless $@
      def hp=(*args)
        temp = @hp 
        pre_confhud_ga_hpequ(*args) 
        on_hp_changed(@hp) unless temp == @hp
      end
     
      alias :pre_confhud_ga_maxhpequ :maxhp= unless $@
      def maxhp=(*args)
        temp = self.maxhp
        pre_confhud_ga_maxhpequ(*args)
        cur_max = self.maxhp
        on_maxhp_changed(cur_max) unless temp == cur_max
      end
     
      alias :pre_confhud_ga_mpequ :mp= unless $@
      def mp=(*args)
        temp = @mp
        pre_confhud_ga_mpequ(*args)
        on_mp_changed(@mp) unless temp == @mp
      end
     
      alias :pre_confhud_ga_maxmpequ :maxmp= unless $@
      def maxmp=(*args)
        temp = self.maxmp
        pre_confhud_ga_maxmpequ(*args)
        cur_max = self.maxmp
        on_maxmp_changed(cur_max) unless temp == cur_max
      end
     
      alias :pre_confhud_ga_recover_all :recover_all unless $@
      def recover_all(*args)
        temp_hp, temp_mp = @hp, @mp
        pre_confhud_ga_recover_all(*args)
        on_hp_changed if temp_hp != @hp
        on_mp_changed if temp_mp != @mp
      end
     
    end

    class Window_Base < Window
     
      alias :pre_confhud_wb_hp_color :hp_color unless $@
      def hp_color(actor, for_hud=false)
        return HudConfig::PLAYER_FULL_HP_COLOR if for_hud && actor.hp == actor.maxhp
        return pre_confhud_wb_hp_color(actor)
      end
     
      alias :pre_confhud_wb_mp_color :mp_color unless $@
      def mp_color(actor, for_hud=false)
        return HudConfig::PLAYER_FULL_MP_COLOR if for_hud && actor.mp == actor.maxmp
        return pre_confhud_wb_mp_color(actor)
      end
     
    end

    class MainHud < Sprite_Base
    include HudConfig

      WLH = Window_Base::WLH

      attr_accessor :actor
     
      def initialize(location, viewport=nil, actor=nil)
        super(viewport)
        self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        self.x, self.y = location.x, location.y 
        self.actor = actor 
      end
     
      def image_rect
        ret = hud_image.rect
        ret.x, ret.y = *PLAYER_HUD_LOC.to_a
        return ret
      end
     
      def create_dummy_window
        win = Window_Base.new(0, 0, 64, 64)
        win.visible = false 
        return win
      end
     
      def hp_color
        return (@window ||= create_dummy_window).hp_color(@actor, true)
      end
     
      def mp_color
        return (@window ||= create_dummy_window).mp_color(@actor, true)
      end
     
      def hud_image
        return Cache.picture(PLAYER_HUD_IMAGE_NAME)
      end
     
      def hud_location
        return PLAYER_HUD_IMAGE_LOCATION
      end
     
      def hp_gauge_location
        return PLAYER_HP_GAUGE_LOCATION
      end
     
      def mp_gauge_location
        return PLAYER_MP_GAUGE_LOCATION
      end
     
      def name_draw_rect
        return Rect.new(
                PLAYER_NAME_LOCATION.x,
                PLAYER_NAME_LOCATION.y,
                PLAYER_NAME_WIDTH,
                PLAYER_NAME_HEIGHT
                )
      end
     
      def level_draw_rect 
        return Rect.new(
                PLAYER_LEVEL_LOCATION.x,
                PLAYER_LEVEL_LOCATION.y,
                PLAYER_LEVEL_WIDTH,
                PLAYER_LEVEL_HEIGHT
                )
      end
     
      def hp_draw_rect
        return Rect.new(
                PLAYER_HP_LOCATION.x,
                PLAYER_HP_LOCATION.y,
                PLAYER_HP_WIDTH,
                PLAYER_HP_HEIGHT
                )
      end
     
      def mp_draw_rect
        return Rect.new(
                PLAYER_MP_LOCATION.x,
                PLAYER_MP_LOCATION.y,
                PLAYER_MP_WIDTH,
                PLAYER_MP_HEIGHT
                )
      end
     
      def name_font
        font = Font.new(PLAYER_NAME_FONT, PLAYER_NAME_FONT_SIZE)
        font.color = PLAYER_NAME_COLOR
        font.italic = PLAYER_NAME_USE_ITALICS
        font.bold = PLAYER_NAME_USE_BOLD
        font.shadow = PLAYER_NAME_USE_SHADOW
        return font
      end
     
      def hp_font
        font = Font.new(PLAYER_HP_FONT, PLAYER_HP_FONT_SIZE)
        font.color = hp_color
        font.italic = PLAYER_HP_FONT_USE_ITALICS
        font.bold = PLAYER_HP_FONT_USE_BOLD
        font.shadow = PLAYER_HP_FONT_USE_SHADOW
        return font
      end
     
      def mp_font
        font = Font.new(PLAYER_MP_FONT, PLAYER_MP_FONT_SIZE)
        font.color = mp_color
        font.italic = PLAYER_MP_FONT_USE_ITALICS
        font.bold = PLAYER_MP_FONT_USE_BOLD
        font.shadow = PLAYER_MP_FONT_USE_SHADOW
        return font
      end
     
      def level_font
        font = Font.new(PLAYER_LEVEL_FONT, PLAYER_LEVEL_FONT_SIZE)
        font.color = PLAYER_LEVEL_COLOR
        font.italic = PLAYER_LEVEL_USE_ITALICS
        font.bold = PLAYER_LEVEL_USE_BOLD
        font.shadow = PLAYER_LEVEL_USE_SHADOW
        return font
      end
     
      def player_face_mask_image
        return Cache.picture(PLAYER_FACE_MASK_NAME)
      end
     
      def create_player_face_image(size=96)
        face = Cache.face(@actor.face_name)
        rect = Rect.new(0, 0, 0, 0)
        rect.x = @actor.face_index % 4 * 96 + (96 - size) / 2
        rect.y = @actor.face_index / 4 * 96 + (96 - size) / 2
        rect.width = size
        rect.height = size
        mask = player_face_mask_image
        @face_image = Bitmap.new(rect.width, rect.height)
        @face_image.blt(0, 0, face, rect)
        for y in 0...rect.height
          for x in 0...rect.width
            mask_color = mask.get_pixel(x, y)
            @face_image.set_pixel(x, y, mask_color) if mask_color.alpha == 0
          end
        end
      end
     
      def actor=(value)
        return if @actor == value || value.nil?
        remove_listeners(@actor)
        add_listeners(value)
        @actor = value
        create_player_face_image
        refresh
      end
     
      def add_listeners(actor)
        return if actor.nil?
        actor.hp_changed.add_listener(self, lambda { refresh })
        actor.maxhp_changed.add_listener(self, lambda { refresh })
        actor.mp_changed.add_listener(self, lambda { refresh })
        actor.maxmp_changed.add_listener(self, lambda { refresh })
      end
     
      def remove_listeners(actor)
        return if actor.nil?
        actor.hp_changed.remove_listener(self)
        actor.maxhp_changed.remove_listener(self)
        actor.mp_changed.remove_listener(self)
        actor.maxmp_changed.remove_listener(self)
      end
     
      def draw_hud
        draw_custom_mp_gauge
        draw_custom_hp_gauge 
        image = hud_image
        location = hud_location
        self.bitmap.blt(location.x, location.y, image, image.rect)
      end
       
      def round_to_multiple_of(multiple_of, num)
        leftover = num % multiple_of
        return num if leftover.zero?
        if leftover > multiple_of / 2
          sym = :+
        else
          sym = :-
        end
        ret = num
        loop do
          ret = ret.send sym, 1
          break if ret % multiple_of == 0
        end
        return ret
      end
     
      def check_health_bounds(num, multiple)
        # dont allow the gauge to read 100 or 0 unless
        # the current health actually is 100 or 0.
        next_lower = 100 - multiple
        if num > next_lower && num < 100
          return next_lower
        elsif num < multiple && num > 0
          return multiple
        else
          return num
        end
      end
     
      def draw_gauge(location, stat_name, current, max)
        percent_health = (current / max.to_f) * 100
        multiple = 5 
        percent_health = check_health_bounds(percent_health, multiple)
        percent_health = round_to_multiple_of(multiple, percent_health.round)
        file_name = HEALTH_GAUGE_FORMAT % [stat_name, percent_health] 
        image = Cache.picture(file_name) 
        self.bitmap.blt(location.x, location.y, image, image.rect)
      end
     
      def draw_custom_hp_gauge
        draw_gauge(hp_gauge_location, 'hp', @actor.hp, @actor.maxhp)
      end
     
      def draw_custom_mp_gauge
        draw_gauge(mp_gauge_location, 'mp', @actor.mp, @actor.maxmp)
      end
     
      def draw_face
        self.bitmap.blt(FACE_LOCATION.x, FACE_LOCATION.y, @face_image, @face_image.rect)
      end
     
      def draw_name
        name = @actor.name
        rect = name_draw_rect 
        font = name_font
        temp_font = self.bitmap.font
        self.bitmap.font = font
        self.bitmap.draw_text(rect, name)
        self.bitmap.font = temp_font
      end
     
      def draw_level
        level = @actor.level
        rect = level_draw_rect 
        font = level_font
        temp_font = self.bitmap.font
        self.bitmap.font = font
        self.bitmap.draw_text(rect, level, 1)
        self.bitmap.font = temp_font
      end
     
      def use_custom_gauges?
        return PLAYER_USE_CUSTOM_GAUGE
      end
     
      def health_text(prefix, cur, max)
        return "#{prefix}: #{cur}/#{max}"
      end
     
      def draw_health(rect, font, prefix, cur, max)
        self.bitmap.font = font
        xr = rect.x + rect.width
        health_width = (rect.width * 0.33).round
        spacer_width = (health_width / 2.1).round
        temp_font = self.bitmap.font
        prefixf = prefix + ':'
        # damn this pile of shit, move along, this will just hurt your head
        self.bitmap.draw_text(rect.x, rect.y, self.bitmap.text_size(prefixf).width, rect.height, prefixf)
        self.bitmap.draw_text(xr - spacer_width - health_width * 2 + (health_width * 0.15).round, rect.y, health_width, rect.height, cur, 2)
        self.bitmap.draw_text(xr - spacer_width - health_width, rect.y, spacer_width, rect.height, "/", 2)
        self.bitmap.draw_text(xr - health_width, rect.y, health_width, rect.height, max, 2)
        self.bitmap.font = temp_font
      end
     
      def draw_hp 
        draw_health(hp_draw_rect, hp_font, Vocab.hp_a, @actor.hp, @actor.maxhp) 
      end
     
      def draw_mp
        draw_health(mp_draw_rect, mp_font, Vocab.mp_a, @actor.mp, @actor.maxmp)
      end
     
      def refresh 
        self.bitmap.clear
        draw_face
        draw_hud
        return if actor.nil?
        draw_name
        draw_level
        draw_hp if USE_HP_TEXT_DISPLAY
        draw_mp if USE_MP_TEXT_DISPLAY     
      end
     
      def dispose
        unless @window.nil?
          @window.dispose
          @window = nil
        end
        super 
      end
     
    end

    class SubHud < MainHud
     
     
     
    end

    class Scene_Map < Scene_Base
    include HudConfig
     
      attr_reader :player_hud
     
      # used to keep track of the hud location between
      # setups and teardowns, i.e., if you enter the menu or battle.
      @@last_hud_ox = 0
     
      alias :pre_confhud_sm_start :start unless $@
      def start
        pre_confhud_sm_start
        initialize_hud
      end
     
      def initialize_hud
        @hud_viewport = Viewport.new(0, 0, 544, 416)
        @hud_viewport.z = 9999
        @hud_viewport.ox = @@last_hud_ox 
        @@target_hud_location ||= @hud_viewport.ox
        @player_hud = MainHud.new(PLAYER_HUD_LOC, @hud_viewport, $game_actors[PLAYER_ID])
      end
     
      alias :pre_confhud_sm_update :update unless $@
      def update
        pre_confhud_sm_update
        update_hud
        update_hud_input
        update_hud_transition
      end
     
      alias :pre_confhud_sm_update_basic :update_basic unless $@
      def update_basic(*args)
        pre_confhud_sm_update_basic
        update_hud
      end
     
      def hide_hud
        trigger_scroll(true)
      end
     
      def trigger_scroll(force_hide=false)
        @@hud_moving = true
        if @hud_viewport.ox.zero?
          hud_rect = @player_hud.image_rect   
          left = HUD_SCROLL_DIRECTION  == ScrollDirection::Left     
          offset = left ? hud_rect.width + hud_rect.x : -(Graphics.width - hud_rect.x)
          @@target_hud_location = @hud_viewport.ox + offset
        elsif !force_hide
          @@target_hud_location = 0
        end                   
      end
     
      def update_hud 
        @hud_viewport.update 
      end
     
      def update_hud_input
        trigger_scroll if ALLOW_HUD_HIDE && Input.trigger?(HIDE_HUD_INPUT)             
      end
     
      def update_hud_transition
        @@hud_moving = @hud_viewport.ox != @@target_hud_location
        return unless @@hud_moving 
        incr = @hud_viewport.ox < @@target_hud_location ? HUD_HIDE_SPEED : -HUD_HIDE_SPEED 
        @hud_viewport.ox += [incr, (@hud_viewport.ox - @@target_hud_location).abs].min
      end
     
      alias :pre_confhud_sm_terminate :terminate unless $@
      def terminate
        pre_confhud_sm_terminate
        @player_hud.dispose
        @@last_hud_ox = @hud_viewport.ox
      end
     
    end


    Instruçoes

    Copie e cole o script acima do Main´.Depois ponhas as imagens na pasta Graphics/Picture baixe as imagens AQUI "http://www.4shared.com/file/140325920/b1b93258/HUD_ImagesAndFonts.html
    " e a fonte instae na pasta "Windows/Fonts"

    Creditos

    BigED,criou o script

    Celianna,gráficos
    JuanCollin
    JuanCollin
    Membro de Honra
    Membro de Honra


    Mensagens : 988
    Créditos : 98

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por JuanCollin Seg Nov 15, 2010 2:56 pm

    Nossa muito bom cara, obrigado por disponibilizar...
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : Kindom Hearts HUD ZgLkiRU
    Mensagens : 5345
    Créditos : 1164

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por Valentine Seg Nov 15, 2010 3:02 pm

    hud muito bunita
    + 1 crédito
    The Suspect
    The Suspect
    Ocasional
    Ocasional


    Mensagens : 206
    Créditos : 83

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por The Suspect Seg Nov 15, 2010 3:30 pm

    vlw Wink
    Chavesvga
    Chavesvga
    Semi-Experiente
    Semi-Experiente


    Mensagens : 130
    Créditos : 34

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por Chavesvga Ter Nov 16, 2010 4:08 pm

    essa hud e muito bonita e bem feita +cred por disponibilizar


    _________________
    Visistem meu canal no youtube

    Clique aqui e acesse meu canal

    Kindom Hearts HUD UserBar-AldeiaRPG
    Kindom Hearts HUD Yjpc387
    Kindom Hearts HUD Sign
    Kindom Hearts HUD Userbarchataldeia
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por DeaN Qua Nov 17, 2010 9:39 am

    Muito Maneiro este Hud 1+credito.


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    Kindom Hearts HUD MiB0H
    The Suspect
    The Suspect
    Ocasional
    Ocasional


    Mensagens : 206
    Créditos : 83

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por The Suspect Qua Nov 17, 2010 5:23 pm

    vlw pelos creditos Wink
    HugoFreitas
    HugoFreitas
    Administrador
    Administrador


    Medalhas : Kindom Hearts HUD Medal_55
    Mensagens : 633
    Créditos : 175

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por HugoFreitas Qua Nov 17, 2010 6:16 pm

    Show! +1Cred.


    _________________
    Kindom Hearts HUD Brsnip10
    Kindom Hearts HUD DqtrI
    vizug@memaster
    vizug@memaster
    Novato
    Novato


    Mensagens : 19
    Créditos : 8

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por vizug@memaster Sex Fev 24, 2012 2:11 pm

    Achei a Hud
    Boa para jogos de ação(Tiro,Terror Etc)
    JuanCollin
    JuanCollin
    Membro de Honra
    Membro de Honra


    Mensagens : 988
    Créditos : 98

    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por JuanCollin Sex Fev 24, 2012 2:44 pm

    Cara, você acabou de floodar, espero que ninguem floode aqui abaixo!

    Leia as regras: 13- É proibido ressuscitar tópicos com mais de 60 dias para floodar ou para escrever mensagens desnecessárias. Salvo para mensagens importantes sobre links quebrados, fechar o tópico ou outro motivo que possa ser justificado.


    E olhe o ultimo post nesse tópico: por HugoFreitas em Qua Nov 17, 2010 7:16 pm

    Conteúdo patrocinado


    Kindom Hearts HUD Empty Re: Kindom Hearts HUD

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Nov 21, 2024 8:38 pm