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


2 participantes

    [Pedido] Sistema de Status

    Bender
    Bender
    Ocasional
    Ocasional


    Medalhas : [Pedido] Sistema de Status Trophy11
    Mensagens : 172
    Créditos : 52

    [Pedido] Sistema de Status Empty [Pedido] Sistema de Status

    Mensagem por Bender Sáb Ago 04, 2012 9:15 pm

    Alguém teria um sistema em que aparecesse os icones de Status em algum canto da tela?
    Como nesta imagem:
    [Pedido] Sistema de Status Scaled.php?server=845&filename=pergunta

    See ya
    Bender


    _________________
    ... . - . -.. .. .- ...
    heyitily
    heyitily
    Experiente
    Experiente


    Mensagens : 421
    Créditos : 12

    [Pedido] Sistema de Status Empty Re: [Pedido] Sistema de Status

    Mensagem por heyitily Sáb Ago 04, 2012 10:51 pm

    é só modificar o Script Passa pra mim o script da Icones Status e passe as cordenadas


    _________________
    [Pedido] Sistema de Status SICBb4n
    Bender
    Bender
    Ocasional
    Ocasional


    Medalhas : [Pedido] Sistema de Status Trophy11
    Mensagens : 172
    Créditos : 52

    [Pedido] Sistema de Status Empty Re: [Pedido] Sistema de Status

    Mensagem por Bender Dom Ago 05, 2012 8:52 am

    Aqui está o Script:
    Código:
    #==============================================================================#
    # MOG - Active Hud 2.0                                                        #
    #==============================================================================#
    # By Moghunter                                                                #
    # http://www.atelier-rgss.com                                                  #
    #==============================================================================#
    # Translated by Calvin624                                                      #
    # http://www.xasabs.wordpress.com                                              #
    #==============================================================================#
    ###############################-DESCRIPTION-####################################
    #==============================================================================#
    # HUD stands for Heads-Up Display. It is a method used in most games to        #
    # visually converse with the player.                                          #
    #==============================================================================#
    # Animated HUD System, featuring faces that change according to the action    #
    # of the hero.                                                                #
    #==============================================================================#
    #                                                                              #
    # Graphics required:                                                          #
    #                                                                              #
    # Hud_Exp_Meter.png                                                            #
    # Hud_Exp_Number                                                              #
    # Hud_Face                                                                    #
    # Hud_HP_Meter                                                                #
    # Hud_HP_Number                                                                #
    # Hud_Layout                                                                  #
    # Hud_SP_Meter                                                                #
    # Hud_SP_Number                                                                #
    #                                                                              #
    # All images must be in the Windowskin folder.                                #
    #                                                                              #
    #==============================================================================#
    # FACES ANIMATIONS INFO:                                                      #
    # It takes a picture with the name "Hud_Face.png" and splits it into 5.        #
    # Displayed in the following order:                                            #
    #  1 - Normal 2 - Happy 3 - Sad 4 - Action 5 - Tired.                        #
    #==============================================================================#
    module MOG_ACTIVE_HUD
    # Position of the HUD on the X and Y axis......................[HUD_POSITIONING] 
      HUD_POS = [5,410]
    # Position of the HP meter on the X and Y axis.................[HUD_POSITIONING]
      HP_METER_POS = [68,32]
    # Position of the HP number on the X and Y axis................[HUD_POSITIONING]
      HP_NUMBER_POS = [90,20]
    # Position of the SP meter on the X and Y axis.................[HUD_POSITIONING]
      SP_METER_POS = [28,54]
    # Position of the SP number on the X and Y axis................[HUD_POSITIONING]
      SP_NUMBER_POS = [50,43]
    # Position of the EXP meter on the X and Y axis................[HUD_POSITIONING]
      EXP_METER_POS = [55,16]
    # Position of the LV number on the X and Y axis................[HUD_POSITIONING]
      EXP_NUMBER_POS = [55,-5]
    # Position of the Face Graphic on the X  and Y axis............[HUD_POSITIONING]
      FACE_POS = [0,0]
    # Position of Conditions on the X and Y axis...................[HUD_POSITIONING]
      STATES_POS = [145,40]
    # Fade Effect.......................................................[TRUE/FALSE]
      HUD_FADE = true 
    # Size of the Active HUD. This influences when the FADE mechanic is turned on.
      HUD_SIZE = [180,100]
    # Enable position of states in relation to character?...............[TRUE/FALSE]
      STATES_POS_CHARACTER = false
    # Display the states with the levitation effect?....................[TRUE/FALSE]
      FLOAT_STATES = true
    # Percentage at which your HP is deemed low.............................[DAMAGE]
      LOWHP = 30
    # Switch ID to disable the HUD..........................................[SWITCH]
      DISABLE_HUD_SWITCH = 5
      # Priority of Hud. (Z) 
      HUD_Z_PRIORITY = 5000 
    end

    #==============================================================================
    # ** Game_Actor
    #==============================================================================
    class Game_Actor < Game_Battler
     
    #--------------------------------------------------------------------------
    # * Now Exp
    #--------------------------------------------------------------------------
    def now_exp
        return @exp - @exp_list[@level]
    end
     
    #--------------------------------------------------------------------------
    # * Next Exp
    #--------------------------------------------------------------------------
    def next_exp
        return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
        end
    end
    #==============================================================================
    # ** Game_Temp
    #==============================================================================
    class Game_Temp
      attr_accessor :hud_face_type
      attr_accessor :hud_face_time
      attr_accessor :hud_face_time2
      attr_accessor :hud_face_refresh
     
    #--------------------------------------------------------------------------
    # * Initialize
    #--------------------------------------------------------------------------
      alias active_hud_initialize initialize
      def initialize
        active_hud_initialize
        @hud_face_type = 0
        @hud_face_time = 0
        @hud_face_time2 = 0
        @hud_face_refresh = false
      end   
    end

    #==============================================================================
    # ** Active_Hud
    #==============================================================================
    class Active_Hud < Sprite 
      include MOG_ACTIVE_HUD
      #--------------------------------------------------------------------------
      # * Initialize
      #--------------------------------------------------------------------------
      def initialize(viewport)
          super(viewport)
          @actor = $game_party.actors[0]
          return if @actor == nil
          setup 
          create_layout
          create_face
          create_state 
          create_hp_number
          create_hp_meter
          create_sp_number
          create_sp_meter
          create_level_number
          create_level_meter
          update_visible
      end
     
      #--------------------------------------------------------------------------
      # * Setup
      #--------------------------------------------------------------------------       
      def setup
          @low_sp = LOWHP
          @low_hp = LOWHP
          @hp = @actor.hp
          @sp = @actor.sp
          @exp = @actor.exp
          @level = @actor.level
          @hp_old = @actor.hp
          @hp_ref = @hp_old
          @hp_refresh = false
          @sp_old = @actor.sp
          @sp_ref = @sp_old
          @sp_refresh = false
          hud_size_x = HUD_SIZE[0]
          hud_size_y = HUD_SIZE[1]
          @oc_range_x = hud_size_x + HUD_POS[0]
          @oc_range_y = hud_size_y + HUD_POS[1]   
      end 
     
      #--------------------------------------------------------------------------
      # * Create Layout
      #--------------------------------------------------------------------------     
      def create_layout
          @layout_sprite = Sprite.new
          @layout_sprite.bitmap = RPG::Cache.windowskin("Hud_Layout")
          @layout_sprite.z = HUD_Z_PRIORITY
          @layout_sprite.x = HUD_POS[0]
          @layout_sprite.y = HUD_POS[1]
      end   
       
      #--------------------------------------------------------------------------
      # * Create Face
      #--------------------------------------------------------------------------     
      def create_face
          @face_image = RPG::Cache.windowskin("Hud_Face")
          @face_bitmap = Bitmap.new(@face_image.width,@face_image.height)
          @face_sprite = Sprite.new
          @face_sprite.bitmap = @face_bitmap
          @face_cw = @face_bitmap.width / 5
          @face_ch = @face_bitmap.height
          @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
          @face_bitmap.blt(0,0, @face_image, @face_src_rect_back)     
          @face_sprite.z = 1 + HUD_Z_PRIORITY
          @face_sprite.x = HUD_POS[0] + FACE_POS[0]
          @face_sprite.y = HUD_POS[1] + FACE_POS[1]       
          if @actor.hp < @actor.maxhp * @low_hp / 100
            $game_temp.hud_face_type = 4             
          else
            $game_temp.hud_face_type = 0
          end           
          $game_temp.hud_face_time = 10   
      end
     
      #--------------------------------------------------------------------------
      # * Create State
      #--------------------------------------------------------------------------       
      def create_state
          @states_max = 0
          @states = Sprite.new
          @states.bitmap = Bitmap.new(104,24)
          @states_x = @actor.states.size
          @states_y = 0
          @states_f = false
          sta = []
          for i in @actor.states
            unless @states_max > 3
                sta.push($data_states[i].name)
                image = RPG::Cache.icon(sta[@states_max])
                cw = image.width
                ch = image.height
                @states.bitmap.blt(26 * @states_max, 0, image, Rect.new(0, 0, cw, ch))
                @states_max += 1
            end
          end 
          if STATES_POS_CHARACTER == true 
            @states.x = 5 -(13 * @states_x) + $game_player.screen_x
            @states.y = @states_y + $game_player.screen_y
          else
            @states.x = HUD_POS[0] + STATES_POS[0]
            @states.y = @states_y + HUD_POS[1] + STATES_POS[1]
          end
          @states.z = 1 + HUD_Z_PRIORITY 
      end
     
      #--------------------------------------------------------------------------
      # * Create HP Number
      #--------------------------------------------------------------------------         
      def create_hp_number
          @hp_number_image = RPG::Cache.windowskin("Hud_HP_Number")
          @hp_number_bitmap = Bitmap.new(@hp_number_image.width,@hp_number_image.height)
          @hp_number_sprite = Sprite.new
          @hp_number_sprite.bitmap = @hp_number_bitmap
          @hp_number_sprite.z = 2 + HUD_Z_PRIORITY 
          @hp_number_sprite.x = HUD_POS[0] + HP_NUMBER_POS[0]
          @hp_number_sprite.y = HUD_POS[1] + HP_NUMBER_POS[1]
          @im_cw = @hp_number_image.width / 10
          @im_ch = @hp_number_image.height / 2   
          @hp_src_rect = Rect.new(@im_cw,0, @im_cw, @im_ch)
          @hp_number_text = @actor.hp.abs.to_s.split(//)
          lowhp2 = @actor.maxhp * 30 / 100
          if @actor.hp < lowhp2
            @health2 = @im_ch
          else
            @health2 = 0
          end
          @hp_health = @health2
          for r in 0..@hp_number_text.size - 1       
              @hp_number_abs = @hp_number_text[r].to_i
              @hp_src_rect = Rect.new(@im_cw * @hp_number_abs, @hp_health, @im_cw, @im_ch)
              @hp_number_bitmap.blt(20 + ((@im_cw - 7) *  r), 0, @hp_number_image, @hp_src_rect)       
          end 
          hp_number_refresh 
      end
     
      #--------------------------------------------------------------------------
      # * Create HP Meter
      #--------------------------------------------------------------------------           
      def create_hp_meter
          @hp_flow = 0
          @hp_damage_flow = 0
          @hp_image = RPG::Cache.windowskin("Hud_HP_Meter")
          @hp_bitmap = Bitmap.new(@hp_image.width,@hp_image.height)
          @hp_range = @hp_image.width / 3
          @hp_width = @hp_range  * @actor.hp / @actor.maxhp 
          @hp_height = @hp_image.height / 2
          @hp_width_old = @hp_width
          @hp_src_rect = Rect.new(@hp_range, 0, @hp_width, @hp_height)
          @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
          @hp_sprite = Sprite.new
          @hp_sprite.bitmap = @hp_bitmap
          @hp_sprite.z = 1 + HUD_Z_PRIORITY
          @hp_sprite.x = HUD_POS[0] + HP_METER_POS[0]
          @hp_sprite.y = HUD_POS[1] + HP_METER_POS[1]
          hp_flow_update 
      end
     
      #--------------------------------------------------------------------------
      # * Create SP Number
      #--------------------------------------------------------------------------             
      def create_sp_number
          @sp_number_image = RPG::Cache.windowskin("Hud_SP_Number")
          @sp_number_bitmap = Bitmap.new(@sp_number_image.width,@sp_number_image.height)
          @sp_number_sprite = Sprite.new
          @sp_number_sprite.bitmap = @sp_number_bitmap
          @sp_number_sprite.z = 2 + HUD_Z_PRIORITY
          @sp_number_sprite.x = HUD_POS[0] + SP_NUMBER_POS[0]
          @sp_number_sprite.y = HUD_POS[1] + SP_NUMBER_POS[1]
          @sp_im_cw = @sp_number_image.width / 10
          @sp_im_ch = @sp_number_image.height / 2   
          @sp_src_rect = Rect.new(@sp_im_cw,0, @sp_im_cw, @sp_im_ch)
          @sp_number_text = @actor.sp.abs.to_s.split(//)
          for r in 0..@sp_number_text.size - 1
            @sp_number_abs = @sp_number_text[r].to_i
            @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, 0, @sp_im_cw, @sp_im_ch)
            @sp_number_bitmap.blt(20 + ((@sp_im_cw - 7) *  r), 0, @sp_number_image, @sp_src_rect)       
          end       
          sp_number_refresh
      end
       
      #--------------------------------------------------------------------------
      # * Create SP Meter
      #--------------------------------------------------------------------------               
      def create_sp_meter
          @sp_flow = 0
          @sp_damage_flow = 0
          @sp_image = RPG::Cache.windowskin("Hud_SP_Meter")
          @sp_bitmap = Bitmap.new(@sp_image.width,@sp_image.height)
          @sp_range = @sp_image.width / 3
          @sp_width = @sp_range  * @actor.sp / @actor.maxsp 
          @sp_height = @sp_image.height / 2
          @sp_width_old = @sp_width
          @sp_src_rect = Rect.new(@sp_range, 0, @sp_width, @sp_height)
          @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)
          @sp_sprite = Sprite.new
          @sp_sprite.bitmap = @sp_bitmap
          @sp_sprite.z = 1 + HUD_Z_PRIORITY
          @sp_sprite.x = HUD_POS[0] + SP_METER_POS[0]
          @sp_sprite.y = HUD_POS[1] + SP_METER_POS[1]
          sp_flow_update     
      end
     
      #--------------------------------------------------------------------------
      # * Create Level Number
      #--------------------------------------------------------------------------                   
      def create_level_number
          @level_number_image = RPG::Cache.windowskin("Hud_Exp_Number")
          @level_number_bitmap = Bitmap.new(@level_number_image.width,@level_number_image.height)
          @level_number_sprite = Sprite.new
          @level_number_sprite.bitmap = @level_number_bitmap
          @level_number_sprite.z = 2 + HUD_Z_PRIORITY
          @level_number_sprite.x = HUD_POS[0] + EXP_NUMBER_POS[0]
          @level_number_sprite.y = HUD_POS[1] + EXP_NUMBER_POS[1]
          @level_im_cw = @level_number_image.width / 10
          @level_im_ch = @level_number_image.height   
          @level_number_text = @actor.level.abs.to_s.split(//)
          for r in 0..@level_number_text.size - 1
              @level_number_abs = @level_number_text[r].to_i
              @level_src_rect = Rect.new(@level_im_cw * @level_number_abs, 0, @level_im_cw, @level_im_ch)
              @level_number_bitmap.blt(13 + ((@level_im_cw - 12) *  r), 0, @level_number_image, @level_src_rect)       
          end   
      end
     
      #--------------------------------------------------------------------------
      # * Create Level Meter
      #--------------------------------------------------------------------------                 
      def create_level_meter
          @level_image = RPG::Cache.windowskin("Hud_Exp_Meter")
          @level_bitmap = Bitmap.new(@level_image.width,@level_image.height)
          @level_sprite = Sprite.new 
          rate = @actor.now_exp.to_f / @actor.next_exp
          rate = 1 if @actor.next_exp == 0
          @level_cw = @level_image.width * rate
          @level_cw = @level_image.width if @actor.level == 99
          @level_src_rect_back = Rect.new(0, 0,@level_cw, @level_image.height)
          @level_bitmap.blt(0,0, @level_image, @level_src_rect_back)
          @level_sprite.bitmap = @level_bitmap
          @level_sprite.z = 1 + HUD_Z_PRIORITY
          @level_sprite.x = HUD_POS[0] + EXP_METER_POS[0]
          @level_sprite.y = HUD_POS[1] + EXP_METER_POS[1]     
      end
     
      #--------------------------------------------------------------------------
      # * Dispose
      #--------------------------------------------------------------------------
      def dispose
        return if @actor == nil
        #Hp Number Dispose
        @hp_number_sprite.bitmap.dispose
        @hp_number_sprite.dispose
        @hp_number_bitmap.dispose
        #HP Meter Dispose
        @hp_sprite.bitmap.dispose
        @hp_sprite.dispose
        @hp_bitmap.dispose
        #SP Number Dispose
        @sp_number_sprite.bitmap.dispose
        @sp_number_sprite.dispose
        @sp_number_bitmap.dispose
        #SP Meter Dispose
        @sp_sprite.bitmap.dispose
        @sp_sprite.dispose
        @sp_bitmap.dispose
        #States Dispose
        @states.bitmap.dispose
        @states.dispose
        #Level Meter Dispose
        @level_sprite.bitmap.dispose
        @level_sprite.dispose
        @level_bitmap.dispose
        #Level Number Dispose
        @level_number_sprite.bitmap.dispose
        @level_number_sprite.dispose
        @level_number_bitmap.dispose
        #Layout Dispose
        @layout_sprite.bitmap.dispose
        @layout_sprite.dispose
        #Face Dispose
        @face_sprite.bitmap.dispose
        @face_sprite.dispose
        @face_bitmap.dispose
        super
      end
     
      #--------------------------------------------------------------------------
      # * Update Visible
      #--------------------------------------------------------------------------
      def update_visible
          if $game_switches[DISABLE_HUD_SWITCH] == true
            hud_visible = false
          else
            hud_visible = true
          end 
          @hp_number_sprite.visible = hud_visible
          @hp_sprite.visible = hud_visible
          @sp_number_sprite.visible = hud_visible
          @sp_sprite.visible = hud_visible
          @states.visible = hud_visible
          @level_sprite.visible = hud_visible
          @level_number_sprite.visible = hud_visible
          @layout_sprite.visible = hud_visible
          @face_sprite.visible = hud_visible     
      end
     
      #--------------------------------------------------------------------------
      # * Updade
      #--------------------------------------------------------------------------
      def update
        super
        return if @actor == nil
        update_visible
        hp_number_update if @hp_old != @actor.hp
        hp_number_refresh if @hp_refresh == true or @actor.hp == 0
        sp_number_update if @sp_old != @actor.sp
        sp_number_refresh if @sp_refresh == true
        level_update if @level != @actor.level
        level_up_effect if @level_number_sprite.zoom_x > 1.00 
        exp_update if @exp != @actor.exp
        states_effect if @states.zoom_x > 1.00 
        face_refresh if $game_temp.hud_face_refresh == true or $game_temp.hud_face_time == 1
        face_normal if $game_temp.hud_face_time2 == 1
        face_effect
        states_update
        hp_flow_update
        sp_flow_update
        fade_update if HUD_FADE == true
        $game_temp.hud_face_time -= 1 if $game_temp.hud_face_time > 0
        $game_temp.hud_face_time2 -= 1 if $game_temp.hud_face_time2 > 0
      end
     
      #--------------------------------------------------------------------------
      # fade_update
      #--------------------------------------------------------------------------
      def fade_update
          x = ($game_player.real_x - $game_map.display_x) / 4
          y = ($game_player.real_y - $game_map.display_y) / 4
          if x < @oc_range_x and x > HUD_POS[0] - 5 and
            y > HUD_POS[1] and y < @oc_range_y and @hp_number_sprite.opacity > 120
              @hp_number_sprite.opacity -= 10
              @hp_sprite.opacity -= 10
              @sp_number_sprite.opacity -= 10
              @sp_sprite.opacity -= 10
              @states.opacity -= 10
              @level_sprite.opacity -= 10
              @level_number_sprite.opacity -= 10
              @layout_sprite.opacity -= 10
              @face_sprite.opacity -= 10   
          elsif @hp_number_sprite.opacity < 255
              @hp_number_sprite.opacity += 10
              @hp_sprite.opacity += 10
              @sp_number_sprite.opacity += 10
              @sp_sprite.opacity += 10
              @states.opacity += 10
              @level_sprite.opacity += 10
              @level_number_sprite.opacity += 10
              @layout_sprite.opacity += 10
              @face_sprite.opacity += 10         
          end
      end
       
      #--------------------------------------------------------------------------
      # * face_normal
      #--------------------------------------------------------------------------
      def face_normal
        $game_temp.hud_face_refresh = false
        if @actor.hp < @actor.maxhp * @low_hp / 100
          $game_temp.hud_face_type = 4
        else 
          $game_temp.hud_face_type = 0
        end
        $game_temp.hud_face_time2 = 0
        @face_sprite.bitmap.clear
        @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
        @face_bitmap.blt(0,0, @face_image, @face_src_rect_back) 
        @face_sprite.x = HUD_POS[0] + FACE_POS[0]
      end 
     
      #--------------------------------------------------------------------------
      # * Face Refresh
      #--------------------------------------------------------------------------
      def face_refresh   
          $game_temp.hud_face_refresh = false
          @face_sprite.bitmap.clear
          @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
          @face_bitmap.blt(0,0, @face_image, @face_src_rect_back)
          @face_sprite.x = HUD_POS[0] + FACE_POS[0]
      end
     
      #--------------------------------------------------------------------------
      # * Face Effect
      #--------------------------------------------------------------------------
      def face_effect
        if $game_temp.hud_face_type == 2
          @face_sprite.x = HUD_POS[0] + FACE_POS[0] + rand(10)
          if $game_temp.hud_face_time == 2
            if @actor.hp < @actor.maxhp * @low_hp / 100
                $game_temp.hud_face_type = 4
            else           
                $game_temp.hud_face_type = 0
            end
          end
        end
      end 
     
      #--------------------------------------------------------------------------
      # * States_Update
      #--------------------------------------------------------------------------
      def states_update
        if STATES_POS_CHARACTER == true 
          @states.x = 5 -(13 * @states_x) + $game_player.screen_x
          @states.y = @states_y + $game_player.screen_y
        else
          @states.x = HUD_POS[0] + STATES_POS[0]
          @states.y = @states_y + HUD_POS[1] + STATES_POS[1]
        end
        if FLOAT_STATES == true
          if @states_f == false
              @states_y += 1
              @states_f = true if @states_y > 10
          else   
              @states_y -= 1
              @states_f = false if @states_y < -10             
            end 
        end
        @states.opacity = 155 + rand(100)
        if @states_x != @actor.states.size
            @states_x = @actor.states.size
            @states.bitmap.clear
            @states_max = 0
            sta = []
            for i in @actor.states
              unless @states_max > 3
                sta.push($data_states[i].name)
                image = RPG::Cache.icon(sta[@states_max])
                cw = image.width
                ch = image.height
                @states.bitmap.blt(26 * @states_max, 0, image, Rect.new(0, 0, cw, ch))
                @states_max += 1
              end
            end 
          sta = nil
          @states.zoom_x = 2
          @states.zoom_y = 2
        end
      end
     
      #--------------------------------------------------------------------------
      # * States_Effect
      #--------------------------------------------------------------------------
      def states_effect
          @states.zoom_x -= 0.02
          @states.zoom_y -= 0.02
        if @states.zoom_x <= 1.00   
          @states.zoom_x = 1.00
          @states.zoom_y = 1.00
        end 
      end
     
      #--------------------------------------------------------------------------
      # * hp_number_update
      #--------------------------------------------------------------------------
      def hp_number_update
          @hp_refresh = true
          if @hp_old < @actor.hp
              @hp_ref = 5 * (@actor.hp - @hp_old) / 100
              @hp_ref = 1 if @hp_ref < 1
              @hp += @hp_ref   
              if $game_temp.hud_face_type != 1
                  $game_temp.hud_face_type = 1
                  $game_temp.hud_face_refresh = true
                  @face_sprite.x = HUD_POS[0] + FACE_POS[0]
              end         
              if @hp >= @actor.hp
                  @hp_old = @actor.hp
                  @hp = @actor.hp 
                  @hp_ref = 0
                if @actor.hp < @actor.maxhp * @low_hp / 100 and
                    $game_temp.hud_face_type != 4
                    $game_temp.hud_face_type = 4
                    $game_temp.hud_face_time = 30             
                elsif $game_temp.hud_face_type != 0
                    $game_temp.hud_face_type = 0
                    $game_temp.hud_face_time = 30
                end 
              end 
               
            elsif @hp_old > @actor.hp 
              @hp_refresh = true
              @hp_ref = 5 * (@hp_old - @actor.hp) / 100
              @hp_ref = 1 if @hp_ref < 1
              @hp -= @hp_ref               
              if $game_temp.hud_face_type != 2
                  $game_temp.hud_face_type = 2
                  $game_temp.hud_face_refresh = true             
              end
              if @hp <= @actor.hp
                  @hp_old = @actor.hp
                  @hp = @actor.hp 
                  @hp_ref = 0
                if $game_temp.hud_face_type != 0
                    $game_temp.hud_face_time = 30
                end 
              end           
            end 
      end 
     
      #--------------------------------------------------------------------------
      # * hp_number_refresh
      #--------------------------------------------------------------------------
      def hp_number_refresh
          @hp_number_sprite.bitmap.clear
          @hp = 0 if @actor.hp == 0
          @hp_number_text = @hp.abs.to_s.split(//)
          lowhp2 = @actor.maxhp * @low_hp / 100
          if @actor.hp < lowhp2
            @health2 = @im_ch
          else
            @health2 = 0
          end
          @hp_health = @health2
          for r in 0..@hp_number_text.size - 1       
              @hp_number_abs = @hp_number_text[r].to_i
              @hp_src_rect = Rect.new(@im_cw * @hp_number_abs, @hp_health, @im_cw, @im_ch)
              @hp_number_bitmap.blt(20 + ((@im_cw - 7) *  r), 0, @hp_number_image, @hp_src_rect)       
          end 
          @hp_refresh = false if @hp == @actor.hp
      end
     
      #--------------------------------------------------------------------------
      # * Hp Flow Update
      #--------------------------------------------------------------------------
      def hp_flow_update
          @hp_sprite.bitmap.clear
          @hp_width = @hp_range  * @actor.hp / @actor.maxhp
     
              #HP Damage---------------------------------
              valor = (@hp_width_old - @hp_width) * 3 / 100
              valor = 0.5 if valor < 1         
              if @hp_width_old != @hp_width
              @hp_width_old -= valor if @hp_width_old > @hp_width 
              if @hp_width_old < @hp_width
                @hp_width_old = @hp_width
              end     
              @hp_src_rect_old = Rect.new(@hp_flow, @hp_height,@hp_width_old, @hp_height)
              @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect_old)     
              end
           
          #HP Real------------------------------------
          @hp_src_rect = Rect.new(@hp_flow, 0,@hp_width, @hp_height)
          @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
             
          @hp_flow += 5 
          if @hp_flow >= @hp_image.width - @hp_range
            @hp_flow = 0 
          end
      end   
     
      #--------------------------------------------------------------------------
      # * Sp_number_update
      #--------------------------------------------------------------------------
      def sp_number_update
        @sp_refresh = true
        if @sp_old < @actor.sp
          @sp_refresh = true
          @sp_ref = 5 * (@actor.sp - @sp_old) / 100
          @sp_ref = 1 if @sp_ref < 1
          @sp += @sp_ref 
              if $game_temp.hud_face_type != 1
                  $game_temp.hud_face_type = 1
                  $game_temp.hud_face_refresh = true
                  @face_sprite.x = HUD_POS[0] + FACE_POS[0]
              end         
          if @sp >= @actor.sp
              @sp_old = @actor.sp
              @sp = @actor.sp 
              @sp_ref = 0
                if @actor.hp < @actor.maxhp * @low_hp / 100 and
                    $game_temp.hud_face_type != 4
                    $game_temp.hud_face_type = 4
                    $game_temp.hud_face_time = 30             
                elsif $game_temp.hud_face_type != 0
                    $game_temp.hud_face_type = 0
                    $game_temp.hud_face_time = 30
                end         
          end 
        elsif @sp_old >= @actor.sp   
          @sp_ref = 5 * (@sp_old - @actor.sp) / 100
          @sp_ref = 1 if @sp_ref < 1
          @sp -= @sp_ref   
              if $game_temp.hud_face_type != 3
                  $game_temp.hud_face_type = 3
                  $game_temp.hud_face_refresh = true
              end     
          if @sp <= @actor.sp
              @sp_old = @actor.sp
              @sp = @actor.sp 
              @sp_ref = 0
                if @actor.hp < @actor.maxhp * @low_hp / 100 and
                    $game_temp.hud_face_type != 4
                    $game_temp.hud_face_type = 4
                    $game_temp.hud_face_time = 35             
                elsif $game_temp.hud_face_type != 0
                    $game_temp.hud_face_type = 0
                    $game_temp.hud_face_time = 35
                end             
            end         
        end   
      end 
     
      #--------------------------------------------------------------------------
      # * sp_number_refresh
      #--------------------------------------------------------------------------
      def sp_number_refresh
        @sp_number_sprite.bitmap.clear
        @s = @actor.sp * 100 / @actor.maxsp
        @sp_number_text = @sp.abs.to_s.split(//)
          for r in 0..@sp_number_text.size - 1       
            @sp_number_abs = @sp_number_text[r].to_i
            if @actor.sp <= @actor.maxsp * @low_sp / 100
                @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, @sp_im_ch, @sp_im_cw, @sp_im_ch) 
            else 
                @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, 0, @sp_im_cw, @sp_im_ch)
            end
          @sp_number_bitmap.blt(20 + ((@sp_im_cw - 7) *  r), 0, @sp_number_image, @sp_src_rect)       
        end 
        @sp_refresh = false if @sp == @actor.sp
      end     
     
      #--------------------------------------------------------------------------
      # * Sp Flow Update
      #--------------------------------------------------------------------------
      def sp_flow_update
          @sp_sprite.bitmap.clear
          @sp_width = @sp_range  * @actor.sp / @actor.maxsp
              #SP Damage---------------------------------
              if @sp_width_old != @sp_width
                  valor = (@sp_width_old - @sp_width) * 3 / 100
                  valor = 0.5 if valor < 1             
                  @sp_width_old -= valor if @sp_width_old > @sp_width 
                  if @sp_width_old < @sp_width
                    @sp_width_old = @sp_width
                  end     
                  @sp_src_rect_old = Rect.new(@sp_flow, @sp_height,@sp_width_old, @sp_height)
                  @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect_old)
              end
          #SP Real------------------------------------
          @sp_src_rect = Rect.new(@sp_flow, 0,@sp_width, @sp_height)
          @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)
          @sp_flow += 5 
          if @sp_flow >= @sp_image.width - @sp_range
            @sp_flow = 0 
          end
        end 
     
      #--------------------------------------------------------------------------
      # * level_update
      #--------------------------------------------------------------------------
      def level_update
        @level_number_sprite.bitmap.clear
        @level_number_text = @actor.level.abs.to_s.split(//)
        for r in 0..@level_number_text.size - 1
          @level_number_abs = @level_number_text[r].to_i
          @level_src_rect = Rect.new(@level_im_cw * @level_number_abs, 0, @level_im_cw, @level_im_ch)
          @level_number_bitmap.blt(13 + ((@level_im_cw - 12) *  r), 0, @level_number_image, @level_src_rect)       
        end     
        @level = @actor.level
        @level_number_sprite.zoom_x = 2
        @level_number_sprite.zoom_y = 2
      end
     
      #--------------------------------------------------------------------------
      # * level_update
      #--------------------------------------------------------------------------
      def level_up_effect
        @level_number_sprite.zoom_x -= 0.02
        @level_number_sprite.zoom_y -= 0.02
        if @level_number_sprite.zoom_x <= 1.00   
          @level_number_sprite.zoom_x = 1.00
          @level_number_sprite.zoom_y = 1.00
        end
      end 
     
      #--------------------------------------------------------------------------
      # * exp_update
      #--------------------------------------------------------------------------
      def exp_update
        @level_sprite.bitmap.clear   
        rate = @actor.now_exp.to_f / @actor.next_exp
        rate = 1 if @actor.next_exp == 0
        @level_cw = @level_image.width * rate
        @level_cw = @level_image.width if @actor.level == 99     
        @level_src_rect_back = Rect.new(0, 0,@level_cw, @level_image.height)
        @level_bitmap.blt(0,0, @level_image, @level_src_rect_back) 
        @exp = @actor.exp
      end 
    end

    #===============================================================================
    # ** Spriteset_Map
    #===============================================================================
    class Spriteset_Map
      #--------------------------------------------------------------------------
      # * initialize
      #--------------------------------------------------------------------------
      alias mog_achud_initialize initialize
      def initialize
          @acthud = Active_Hud.new(@viewport3)   
          mog_achud_initialize
      end
     
      #--------------------------------------------------------------------------
      # * Dispose
      #--------------------------------------------------------------------------
      alias mog_achud_dispose dispose
      def dispose
          mog_achud_dispose
          @acthud.dispose
      end 
       
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      alias mog_achud_update update
      def update
          mog_achud_update
          @acthud.update
      end     
    end   

    $mog_rgss_active_hud = true


    _________________
    ... . - . -.. .. .- ...
    heyitily
    heyitily
    Experiente
    Experiente


    Mensagens : 421
    Créditos : 12

    [Pedido] Sistema de Status Empty Re: [Pedido] Sistema de Status

    Mensagem por heyitily Dom Ago 05, 2012 9:45 am

    Procure por:
    Código:
    # Position of Conditions on the X and Y axis...................[HUD_POSITIONING]
      STATES_POS = [145,40]
    Mude isto:
    Código:
    [145,40]

    Lembrando que Primeiro é X e depois é Y.

    Tire um Print Screen do Seu Game e ponha no paint e vê as cordenadas


    _________________
    [Pedido] Sistema de Status SICBb4n
    Bender
    Bender
    Ocasional
    Ocasional


    Medalhas : [Pedido] Sistema de Status Trophy11
    Mensagens : 172
    Créditos : 52

    [Pedido] Sistema de Status Empty Re: [Pedido] Sistema de Status

    Mensagem por Bender Dom Ago 05, 2012 4:15 pm

    Parece que esqueci de falar no inicio do tópico que é para netplay.
    Pois bem, eu queria somente a parque em que aparece os icones de status ficando parecido com
    o mesmo sistema do Ragnarök Online.


    _________________
    ... . - . -.. .. .- ...

    Conteúdo patrocinado


    [Pedido] Sistema de Status Empty Re: [Pedido] Sistema de Status

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Abr 28, 2024 12:29 pm