O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Ghost Paused Hud

Iniciado por miguel8884, 28/04/2014 às 19:25

28/04/2014 às 19:25 Última edição: 29/04/2014 às 16:06 por miguel8884

Ghost Paused Hud

Compativel com: RMVXA
Compatibilidade: boa
Facilidade de uso: médio
Lag gerado: baixo > desprezível

[box class=titlebg]
Condições de Uso
[/box]
Se for usar, dê os devidos créditos, a mim!

[box class=titlebg]
Para que serve o script
[/box]
O script faz com que quando você aperte uma tecla apareça uma tela de pause simples mostrando o hp o mp e o level do herói que podem ser configurados, além de mostrar o gráfico dos membros da equipe e qual deles é o jogador! Agora também pode fazer-se por imagens, e algumas novas configurações!

[box class=titlebg]
Imagens
[/box]
Spoiler
[close]

[box class=titlebg]
Script
[/box]
#====================================================================#
#                            Paused Hud                              #
#                                                                    #
# O script faz com que quando você aperte uma tecla apareça uma tela #
#de pause simples mostrando o hp o mp e o level do herói que podem   #
#ser configurados, além de mostrar o gráfico dos membros da equipe   #
#e qual deles é o jogador!                                           #
#                                                                    #
# Autor: Miguel8884                                                  #
#                                                                    #
# Adicionais: A tela do maker in-game tem 544x por 416y              #
#                                                                    #
#====================================================================#

#====================================================================#
# Configurações                                                      #
#====================================================================#

module GSTPH
  
  Key = :L # Letra que ao ser apertada pausara o jogo #
 
#====================================================================#
# Configurações de imagens                                           #
#====================================================================#  
  
  IMGS = true # Se vai utilizar imagens deixe esse aqui no true #
  
  IMG_BACK = true # Se vai utilizar background deixe como true #
  
  Bckd = "" # Nome da imagem do background que deive estar na pasta pictures #
  
  IMGS_F = true # Irá usar outras imagens? #
  
  IMG_F = "" # Qualquer outras imagens que vá usar coloque aqui, exemplo: bigfaces#
  
  IMG_F_X = 0 # Posição X da imagem #
  
  IMG_F_Y = 0 # Posição Y da imagem #
  
  IMG_F2T = true # Vai usar mais uma imagem, coloque true se vai usar uma segunda imagem #
  
  IMG_F2 = "" # Nome da segunda imagem qualquer que vai usar #
  
  IMG_F2_X = 0 # Posição X da imagem #
  
  IMG_F2_Y = 0 # Posição Y da imagem #
  
  IMG_F3T = true # Vai usar mais uma imagem, coloque true se vai usar uma terceira imagem #
  
  IMG_F3 = "" # Nome da terceira imagem qualquer que vai usar #
  
  IMG_F3_X = 0 # Posição X da imagem #
  
  IMG_F3_Y = 0 # Posição Y da imagem #
  
  IMG_F4T = true # Vai usar mais uma imagem, coloque true se vai usar uma quarta imagem #
  
  IMG_F4 = "" # Nome da quarta imagem que vai usar #
  
  IMG_F4_X = 0 # Posição X da imagem #
  
  IMG_F4_Y = 0 # Posição Y da imagem #
  
#====================================================================#
# Fim das configurações de imagens                                   #
#====================================================================#
  
#====================================================================#
# Configurações do texto superior                                    #
#====================================================================#

  TST = true # Será exibido esse texto? #
  
  TS = "Paused" # Texto ao ser exibido na parte superior #
  
  TS_S = 24 # Tamanho do texto a ser exibido na parte superior #
  
  TC = [255,255,255,255] # Cor do texto a ser exibido na parte superior #
  
  BT = false # Texto em negrito? #
  
  Font_Shadow = true # Sombra na letra do texto superior? #
  
#====================================================================#
# Fim configurações do texto superior                                #
#====================================================================#

#====================================================================#
# Configurações básicas                                              #
#====================================================================#
  
  WIP = true # serão criadas windows atrás do HP, MP, Level, e texto superior?

  HP = true # Irá ser mostrado o HP na hud do pause #
  
  MP = true # Irá ser msotrado o MP na hud do pause #
  
  HP_X = 18 # Posição X do hp no pause #
  
  HP_Y = 0 # Posição Y do hp no pause #
  
  MP_X = 380 # Posição X do mp no pause #
  
  MP_Y = 0 # Posição Y do mp no pause #
  
  Level_X = 225 # Posição X do level no pause #
  
  Level_Y = 0 # Posição Y do level no pause #
  
  Level = true # Irá ser mostrado o level na hud do pause 
  
  PP = "J1" # Texto ao ser exibido em cima da cabeça do jogador #
  
  WIC = false # Será criada uma window atras dos chras na tela, OBS: Não recomendado! #
  
  CHAR = true # Quer que apareçam os chars no meio da tela #
  
#====================================================================#
# Fim das configurações básicas                                      #
#====================================================================#
  
#====================================================================#
# Configuração da posição dos characters                             #
#====================================================================#
  
  AC1X = 233 # Posição X do gráfico do player principal #
  
  AC1Y = 208 # Posição Y do gráfico do player principal #
  
  AC2X = 273 # Posição X do gráfico do segundo player da equipe #
  
  AC2Y = 208 # Posição Y do gráfico do segundo player da equipe #
  
  AC3X = 313 # Posição X do gráfico do terceiro player da equipe #
  
  AC3Y = 208 # Posição Y do gráfico do terceiro player da equipe #
  
  AC4X = 193 # Posição X do gráfico do quarto player da equipe #
  
  AC4Y = 208 # Posição Y do gráfico do quarto player da equipe #
  
#====================================================================#
# Fim das configuração da posição dos characters                     #
#====================================================================#
  
#====================================================================#
# Configurações do texto de cima da cabeça do jogador                #
#====================================================================#

  TTF = true # Esse texto aparecera? #
  
  PP = "J1" # Texto ao ser exibido em cima da cabeça do jogador #
  
  CTP = [255,255,255,255] # Cor do texto a ser exibido em cima da cabeça do jogador #
  
  FSP = true # Sombra no texto a ser exibido em cima da cabeça do jogador? #
  
  TBP = false # Texto a ser exbido em cima da cabeça do jogador em negrito #
  
#====================================================================#
# Fim das configurações do texto de cima da cabeça do jogador        #
#====================================================================#

end

#====================================================================#
# Fim das configurações                                              #
#====================================================================#

#====================================================================#
# Não mexer                                                          #
#====================================================================#

#====================================================================#
# Criação dos gráficos dos membros da equipe                         #
#====================================================================#
class Window_Character < Window_Base
  include GSTPH
  def initialize
    super(0,0,544,416)
    @actor1 = $game_party.members[0]
    @actor2 = $game_party.members[1]
    @actor3 = $game_party.members[2]
    @actor4 = $game_party.members[3]
    refresh
  end

#====================================================================#
# Atualizando tudo                                                   #
#====================================================================#
  
  def update
    refresh  
  end
  
#====================================================================#
# Criação dos gráficos                                               #
#====================================================================#
  
  def refresh
    self.contents.clear
    if WIC == true
    else
      self.opacity = 0
    end
    if CHAR == true
      draw_actor_graphic(@actor1,AC1X,AC1Y)
    end
    if @actor2 == nil
    else
      if CHAR == true
        draw_actor_graphic(@actor2,AC2X,AC2Y)
      end
    end
    if @actor3 == nil
    else
      if CHAR == true
        draw_actor_graphic(@actor3,AC3X,AC3Y)
      end
      
    end
    if @actor4 == nil
    else
      if CHAR == true
        draw_actor_graphic(@actor4,AC4X,AC4Y)
      end
    end
  end
end

#====================================================================#
# Criação dos elementos HP, MP e o level                             #
#====================================================================#

class Window_Hud < Window_Base
  include GSTPH
  def initialize
    super(0,356,544,60)
    @actor1 = $game_party.members[0]
    refresh
  end
  
#====================================================================#
# Atualizando tudo                                                   #
#====================================================================#
  
  def update
    refresh  
  end
  
#====================================================================#
# Criação dos gráficos                                               #
#====================================================================#
  
  def refresh
    self.contents.clear
    if WIP == false
      self.opacity = 0
    end
    if HP == true
      draw_actor_hp(@actor1,18,0)
    end
    if MP == true
      draw_actor_mp(@actor1,380,0)
    end
    if Level == true
      draw_actor_level(@actor1,225,0)
    end
    
  end
end

#====================================================================#
# Criação da Scene                                                   #
#====================================================================#

class Scene_Track < Scene_Base
  include GSTPH
  def initialize

  end
  
#====================================================================#
# Criação do Background, dos Sprites e das Windows                   #
#====================================================================#
  
  def start
    super
    create_background
    @track = Sprite.new
    @track.bitmap = Bitmap.new(100,20)
    @player = Sprite.new
    @player.bitmap = Bitmap.new(100,20)
    @window = Window_Base.new(0,0,544,60)
    if WIP == false
      @window.opacity = 0
    end
    @window2 = Window_Hud.new
    @window3 = Window_Character.new
    draw_text
    draw_player
    img_extras
  end
  
#====================================================================#
# Verifica se a letra foi apertada para sair da scene                #
#====================================================================#
  
  def update
    super
    if Input.trigger?(Key)
      SceneManager.goto(Scene_Map)
      sound_pause2
    end
  end
  
#====================================================================#
# Dá todos os disposes apagando tudo menos o Background              #
#====================================================================#
  
  def terminate
    super
    dispose_background
    @window.dispose
    @window2.dispose
    @window3.dispose
    dispose_imgs_sprites
  end
  
#====================================================================#
# Criação do Background                                              #
#====================================================================#
  
  def create_background
    @background_sprite = Sprite.new
    @background_sprite.bitmap = SceneManager.background_bitmap
    @background_sprite.color.set(16, 16, 16, 128)
  end

#====================================================================#
# Apaga o Background, ou seja, dá dispose                            #
#====================================================================#
  
  def dispose_background
    @background_sprite.dispose
  end
  
#====================================================================#
# Escreve o texto superior                                           #
#====================================================================#
  
  def draw_text
    if TST == true
      @track.bitmap.font.shadow = Font_Shadow
      @track.bitmap.font.color = Color.new(TC[0],TC[1],TC[2],TC[3])
      @track.bitmap.font.size = TS_S
      @track.bitmap.font.bold = BT
      @track.bitmap.draw_text(0,0,100,20,TS,1)
      @track.z = 99999
      @track.x = 225
      @track.y = 16.5
    end
  end
  
#====================================================================#
# Escreve o texto que fica em cima do player                         #
#====================================================================#
  
  def draw_player
    if TTF == true
      @player.bitmap.font.bold = TBP
      @player.bitmap.font.shadow = FSP
      @player.bitmap.font.color = Color.new(CTP[0],CTP[1],CTP[2],CTP[3])
      @player.bitmap.draw_text(0,0,100,20,PP,1)
      @player.z = 99999
      @player.x = GSTPH::AC1X - 37
      @player.y = GSTPH::AC1Y - 44
    end
  end
  
#====================================================================#
# Criação do som ao sair do pause                                    #
#====================================================================#
  
  def sound_pause2
    RPG::SE.new("Cancel2", @volume = 100).play
  end
  
#====================================================================#
# Criação das imagens extras                                         #
#====================================================================#
  
  def img_extras
    if IMGS == true
      if IMG_BACK == true 
        
#====================================================================#
# Criação da imagem do Background extra                              #
#====================================================================#
        
        @img_extra_back = Sprite.new
        @img_extra_back.bitmap = Cache.picture(Bckd)
      end
      
#====================================================================#
# Criação da imagem número 1 extra                                   #
#====================================================================#
      
      if IMGS_F == true
        @img_f = Sprite.new
        @img_f.bitmap = Cache.picture(IMG_F)
        @img_f.x = IMG_F_X
        @img_f.y = IMG_F_Y
      end
      
#====================================================================#
# Criação da imagem número 2 extra                                   #
#====================================================================#
      
      if IMG_F2T == true
        @imgs_f2 = Sprite.new
        @imgs_f2.bitmap = Cache.picture(IMG_F2)
        @imgs_f2.x = IMG_F2_X
        @imgs_f2.y = IMG_F2_Y
      end
      
#====================================================================#
# Criação da imagem número 3 extra                                   #
#====================================================================#
      
      if IMG_F3T == true
        @imgs_f3 = Sprite.new
        @imgs_f3.bitmap = Cache.picture(IMG_F3)
        @imgs_f3.x = IMG_F3_X
        @imgs_f3.y = IMG_F3_Y
      end
      
#====================================================================#
# Criação da imagem número 4 extra                                   #
#====================================================================#
      
      if IMG_F4T == true
        @imgs_f4 = Sprite.new
        @imgs_f4.bitmap = Cache.picture(IMG_F4)
        @imgs_f4.x = IMG_F4_X
        @imgs_f4.y = IMG_F4_Y
      end
    end
  end
  
#====================================================================#
# Termina de executar todos os disposes, ou seja, apaga o resto      #
#====================================================================#
  
  def dispose_imgs_sprites
    @track.dispose
    @player.dispose
    @img_extra_back.dispose
    @img_f.dispose
    @imgs_f2.dispose
    @imgs_f3.dispose
    @imgs_f4.dispose
  end
end

#====================================================================#
# Verificação no mapa se a tecla de acesso para o pause foi apertada #
#====================================================================#

class Scene_Map
  alias gst_update update
  def update
  gst_update
  if Input.trigger?(GSTPH::Key)
    SceneManager.call(Scene_Track)
    sound_pause
  end
  end

#====================================================================#
# Criação do som na entrada do pause                                 #
#====================================================================#
  
  def sound_pause
    RPG::SE.new("decision3", @volume = 100).play
  end
end

#====================================================================#
# Fim do Script                                                      #
#====================================================================#

#====================================================================#
# Créditos extras                                                    #
#                                                                    #
# Khas pelas aulas                                                   #
# Kenyan, pois vi algumas coisas no script dele                      #
#                                                                    #
#====================================================================#

[box class=titlebg]
Créditos e Avisos
[/box]
Criador: Miguel8884

Caso ocorra algum bug me avise e se possível deixe um print para facilitar no resolvimento do erro!

Gostei. Sabe se esse script entra em conflito com os scripts da Yanfli? Queria usar no meu projeto.  :blink:

Ele foi feito para não entrar em comflito com nada, tenta aí se der alguma coisa me passa que eu tento consertar!

Uia eu testei aqui ficou bem maneiro.
Sério peguei os últimos scripts seu, e velho está melhorando bem e muito rápido  :o:

Só dicas de um player mesmo, acho que seria legal 2 coisas, uma seria ter som ao entrar e sair do pause.
E a outra... ah nem, só isso mesmo :P

28/04/2014 às 21:07 #4 Última edição: 28/04/2014 às 21:24 por miguel8884
Citação de: Raizen online 28/04/2014 às 21:00
Uia eu testei aqui ficou bem maneiro.
Sério peguei os últimos scripts seu, e velho está melhorando bem e muito rápido  :o:

Só dicas de um player mesmo, acho que seria legal 2 coisas, uma seria ter som ao entrar e sair do pause.
E a outra... ah nem, só isso mesmo :P

Hum, valew mano XD! Acho que vou tentar aqui colocar o som! Vlw por comentar, seu elogio faz uma grande diferença, agora que não vou parar, quero um dia ser como você (X

@Edit: Consegui colocar o som!

Acabei esquecendo de vir aqui pra falar se deu certo... Funcionou muito bem, esse é um ótimo script e ele é simples de mexer. Lhe dou minhas poucas moedas de ouro pelo bom trabalho. Xd  :XD: