Mostrar hp e mp no mapa por números

6 Respostas   406 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Kieran Harris

Tópico criado em: 10/10/2015 às 15:56 - Última modificação por Pedrovin em 10/10/2015 às 16:00

Eu queria saber se tem como mostrar o hp e mp dos 4 heróis desse jeito, não é necessário ter uma barra de energia ( seria legal, mas eu só iria pedir mesmo se não fosse abusar muito, se isso for muito complicado somente os números já servem. ).
E se não for muito complicado... caso um dos personagens não esteja no grupo, os números não aparecem ( por exemplo, se o herói 3 ainda não foi adicionado, o medidor de HP e MP não aparece. )
Mais ou menos assim, por caso algo assim é possível? Mostrar o nome do personagem também não é necessário ( eu só coloquei o "herói" aí pra mostrar de quem é o status ) Isso seria ativado com uma switch também

Página de Ilustrações!
https://web.facebook.com/Pedroilust

Lima


Kieran Harris

Resposta 2: 10/10/2015 às 16:14

Hm, mais ou menos, o problema é que eu precisava achar um jeito de ligar e desligar a hud por uma switch ou comando.
Página de Ilustrações!
https://web.facebook.com/Pedroilust

Lima

Resposta 3: 10/10/2015 às 19:39

Hm, mais ou menos, o problema é que eu precisava achar um jeito de ligar e desligar a hud por uma switch ou comando.

Bem eu estive a editar o script e acho q consegui

Código: [Selecionar]
#=======================================================
#         Lunia ~  Customizable Party HUD
# Autor : Faalco
# Comunidade : www.centrorpg.com
# Cria uma HUD de até 4 jogadores, baseado na HUD de dodoop.
# Raizen por ajudar a corrigir e por me ajudar em RGSS.
#=======================================================
NFont = "Arial" #Nome da Fonte da HUD.
SFont = 16 #Tamanho que a Fonte aparecerá na HUD.
YHUD = 0 #Posição Y na tela onde a HUD ficará.
OPHUD = 255 #Opacidade da Janela da HUD.
#Aqui termina as configurações da HUD.
#==============================================================================
class Lunia_HUD < Window_Base
  def initialize
   
    super(0, YHUD, 544, 130)
    self.opacity = OPHUD
    @actor = $game_party.members[0]
    refresh
  end

  def refresh
   
    self.contents.font.name = NFont
    self.contents.font.size = SFont
    return if $game_party.members.size <= 0
    self.contents.clear
    @item_max = $game_party.members.size
    for actor in $game_party.members
    x = actor.index * 128
    y = 0
    draw_actor_face(actor, x, y)
    draw_actor_graphic(actor, x+15, y+96)
    draw_actor_name(actor, x, y)
    draw_actor_hp(actor, x, y+32)
    draw_actor_mp(actor, x, y+50)
    draw_actor_level(actor, x+30, y+75)
  end end
def update
  super
   self.visible = $game_switches[2]
end
end
class Scene_Map < Scene_Base
   alias hud_start start
  alias hud_update update
  alias hud_terminate terminate
  def start
    @Lunia_HUD = Lunia_HUD.new
    hud_start
  end
  def update
     @Lunia_HUD.refresh  if advenced_update
     hud_update
  end
  def terminate
    @Lunia_HUD.dispose
    hud_terminate
  end
  def advenced_update
    return false if Graphics.frame_count % 10 != 0#7 != 0
    return true
  end
end

Bem você na linha 42 do código vai encontrar algo assim:

 self.visible = $game_switches[2]

substitui o 2 pelo número da switch que deseje para trabalhar com a hud ;)

Kieran Harris

Resposta 4: 10/10/2015 às 23:08

É, aí fica mais parecido com o que eu quero, o único problema mesmo é que quando o jogo inicia ou quando o jogador sai do menu a hud aparece por meio segundo antes de desaparecer.
Página de Ilustrações!
https://web.facebook.com/Pedroilust

Lima

Resposta 5: 12/10/2015 às 09:16

Não percebi o que quis dizer...poderia explicar melhor

Brandt

Resposta 6: 12/10/2015 às 09:50

É, aí fica mais parecido com o que eu quero, o único problema mesmo é que quando o jogo inicia ou quando o jogador sai do menu a hud aparece por meio segundo antes de desaparecer.
É que a HUD é desenhada antes do visible virar false, vá no 'def update' na Scene_Map (do script, não a padrão) e coloque o @Lunia_HUD.refresh depois do super. É que nesse super o Graphics.update é chamado e desenha tudo na tela, como o refresh tava sendo chamado a ja ela aparecia antes que o update dela fosse executado.
~ Masked