Preciso de um plugin para exibição de variáveis

11 Respostas   342 Visualizações

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

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Tópico criado em: 21/03/2018 às 13:38 - Última modificação por Ludovic em 22/03/2018 às 23:35

Tempos atrás no RPG Maker VX Ace, eu usava um script simples de exibição de valores contidos em variáveis que foi feito com ajuda de umas pessoas aqui.
Isso me permitia fazer menus por eventos/pictures como no print abaixo
Eu tentei aqui, mas não consegui encontrar as linhas para fazer o mesmo com o MV.

Alguém que manja pode dar uma olhada e me dizer que caminho seguir?

Estou deixando o script de VX Ace que eu usava



Esse script fazia basicamente o seguinte: Exibia valores contidos em variáveis, nos quais eu adicionava uma linha quando queria mais um valor aparecendo, eu determinava X e Y de cada valor. Esses valores eram atualizados em tela.

Código: [Selecionar]
###############################################################################
module Hud
#==============================================================================
  MZ_HP  = 303
  MZ_AT  = 304
  MZ_DF  = 305
  MZ_AG  = 306
  MZ_BG  = 307
  MZ_CG  = 308
  MZ_SG  = 309
  MZ_OG  = 310
  MZ_LV  = 314
  MZ_HPP = 84 #HP Public Battle
  RK_NM  = 382
  RK_E   = 383
  RK_F   = 384
  RK_N   = 385
  RK_S   = 386
  RK_O   = 387
  RK_PF  = 388
  SWITCH    = 362 # Switch de visualização da hud
  MZ_STATUS = 363 # Menu Status
  MZ_GEM    = 364 # Menu Gems
  MZ_HP2    = 406 # HP in Battle
  RK_HUD    = 411 # Ranking HUD
  MZ_HP2X   = 452 # Ocultar HUD na fase Pseudo Exercito
#==============================================================================
end
###############################################################################
class Custom_HUD < Window_Base
#==============================================================================
  def initialize
      super(0,0,640,480) # X,Y, Largura e altura da janela da hud
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.name = "Arial"
      self.contents.font.size = 20
      self.contents.font.bold = true
      self.opacity = 0
      self.z = 1500
      refresh
  end
#==============================================================================
  def draw_hp
    if $game_switches[Hud::MZ_STATUS]
      self.contents.draw_text(284,60,128,32," " + $game_variables[Hud::MZ_HP].to_s,255)
    end
  end
 
  def draw_at
    if $game_switches[Hud::MZ_STATUS]
      self.contents.draw_text(170,90,128,32," " + $game_variables[Hud::MZ_AT].to_s,255)
    end
  end
 
  def draw_df
    if $game_switches[Hud::MZ_STATUS]
      self.contents.draw_text(170,120,128,32," " + $game_variables[Hud::MZ_DF].to_s,255)
    end
  end

  def draw_lv
    if $game_switches[Hud::MZ_STATUS]
      self.contents.draw_text(360,82,128,32," " + $game_variables[Hud::MZ_LV].to_s,255)
    end
  end
#------------------------------------
  def draw_ag
    if $game_switches[Hud::MZ_GEM]
      self.contents.draw_text(443,100,128,32," " + $game_variables[Hud::MZ_AG].to_s,255)
    end
  end
 
  def draw_bg
    if $game_switches[Hud::MZ_GEM]
      self.contents.draw_text(443,155,128,32," " + $game_variables[Hud::MZ_BG].to_s,255)
    end
  end
 
  def draw_cg
    if $game_switches[Hud::MZ_GEM]
      self.contents.draw_text(443,210,128,32," " + $game_variables[Hud::MZ_CG].to_s,255)
    end
  end
 
  def draw_sg
    if $game_switches[Hud::MZ_GEM]
      self.contents.draw_text(443,265,128,32," " + $game_variables[Hud::MZ_SG].to_s,255)
    end
  end
 
  def draw_og
    if $game_switches[Hud::MZ_GEM]
      self.contents.draw_text(443,319,128,32," " + $game_variables[Hud::MZ_OG].to_s,255)
    end
  end
   
  def draw_hp2
    if $game_switches[Hud::MZ_HP2] and $game_switches[Hud::MZ_HP2X]
      self.contents.draw_text(15,35,128,64," " + $game_variables[Hud::MZ_HPP].to_s,255)
    end
  end
#--------------------------------------- 
  def draw_nm
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(194,36,128,64," " + $game_variables[Hud::RK_NM].to_s,255)
    end
  end
 
  def draw_e
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(447,29,128,64," " + $game_variables[Hud::RK_E].to_s,255)
    end
  end
 
  def draw_f
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(447,93,128,64," " + $game_variables[Hud::RK_F].to_s,255)
    end
  end
 
  def draw_n
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(447,155,128,64," " + $game_variables[Hud::RK_N].to_s,255)
    end
  end
 
  def draw_s
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(447,219,128,64," " + $game_variables[Hud::RK_S].to_s,255)
    end
  end
 
  def draw_o
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(447,282,128,64," " + $game_variables[Hud::RK_O].to_s,255)
    end
  end
 
  def draw_pf
    if $game_switches[Hud::RK_HUD]
      self.contents.draw_text(427,366,128,64," " + $game_variables[Hud::RK_PF].to_s,255)
    end
  end
#==============================================================================   
  def refresh
    self.contents.clear
      draw_hp
      draw_at
      draw_df
      draw_ag
      draw_bg
      draw_cg
      draw_sg
      draw_og
      draw_lv
      draw_hp2
      draw_nm
      draw_e
      draw_f
      draw_n
      draw_s
      draw_o
      draw_pf
  end
end
#==============================================================================
class Scene_Map < Scene_Base
  alias hud_hud_main main
    def main
      @neo_hud = Custom_HUD.new
      hud_hud_main
      @neo_hud.dispose
    end
   
    alias hud_hud_update update
    def update
      hud_hud_update
      if Graphics.frame_count % 4 == 0
        @neo_hud.update
        @neo_hud.refresh
      end
      @neo_hud.visible = $game_switches[Hud::SWITCH]
    end
end
#==============================================================================
Clique e conheça o meu canal - Canal RPG Maker Zone

Corvo

Resposta 1: 21/03/2018 às 13:52

Esse plugin do Hudell pode quebrar o galho.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 2: 21/03/2018 às 14:24

Esse plugin do Hudell pode quebrar o galho.

Talvez eu não tenha entendido como funciona, mas acho que esse só cria uma caixa de hud gráfica, aparentemente a exibição dos valores teria que ficar por conta minha.
E o que eu quero é justamente apenas mostrar um texto/numero pre-armazendo em uma variável. (basicamente mostrar valores de variaveis no mapa)
obrigado por tentar ajudar  :clap:
Clique e conheça o meu canal - Canal RPG Maker Zone

Corvo

Resposta 3: 21/03/2018 às 14:26

Na verdade tu pode sim mostrar apenas um texto. No tópico tem um link pro blog onde o autor explica como fazer isso.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 4: 21/03/2018 às 14:41 - Última modificação por Ludovic em 21/03/2018 às 15:10

Na verdade tu pode sim mostrar apenas um texto. No tópico tem um link pro blog onde o autor explica como fazer isso.
Valeu. Precisava de um plugin do plugin pro texto kkkkk

EDIT: Não consigo usar, não consigo fazer uso da parte de exibir texto separado da que desenha a HUD. Tentei deixar a HUD trasnparente, mas não pode ter mais de uma exibição de valor, tipo exibir duas variaveis, ele simplesmente exibe a primeira configurada e não mostra as outras
Clique e conheça o meu canal - Canal RPG Maker Zone

Syureri

Resposta 5: 21/03/2018 às 19:55

Vou fazer um bem simples pra ti daqui a pouco o/

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 6: 22/03/2018 às 11:16

Vou fazer um bem simples pra ti daqui a pouco o/
Opa!! Estou no aguardo.
Clique e conheça o meu canal - Canal RPG Maker Zone

Syureri

Resposta 7: 22/03/2018 às 22:18

Testa aí.
Num chamar script, use os seguintes comandos:
Código: [Selecionar]
this._addVariableText(número, texto, estilo);
número: Número do texto mostrado. Para usar uma variável como número, use $gameVariables[número]. Se você mostrar um novo texto com o mesmo número, ele será substituído.
texto: Texto a ser mostrado. O texto deve estar entre ' ou ", ex: 'texto', "texto". Para mostrar uma variável, use $gameVariables[número].
estilo: Pode ser ignorado. Configura o estilo do texto. Por padrão, o estilo do texto sempre será preto com a fonte do jogo, sem outline nem nada. Para usar um estilo, basta copiar e colar o texto gerado em JSON aqui. Para usar a fonte do jogo, basta remover a linha "fontFamily" gerada.

Código: [Selecionar]
this._removeVariableText(número);
Remove um texto da tela. Simples e direto.

Código: [Selecionar]
this._configVariableText(número, x, y, opacidade, rotação);
número: Número do texto a ser modificado.
x: Posição X do texto. Pode ser ignorado.
y: Posição Y do texto. Pode ser ignorado.
opacidade: Opacidade do texto. O valor deve estar entre 0 e 1. 0.5 sendo metade da opacidade. Pode ser ignorado.
rotação: Rotação do texto, em radiano. Pode ser ignorado.

Verifica pra mim se tá tudo certo e tá mostrando acima das imagens. Tô podendo testar pouca coisa aqui.
Verifica também se tá salvando e carregando direito.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 8: 22/03/2018 às 23:08 - Última modificação por Ludovic em 22/03/2018 às 23:12

ótimo, funcionou, porém quando eu tento exibir algo contido em uma variável ele não funciona. Acho que nenhuma parte do script está habilitado para o uso de $gameVariables[n].
Eu queria poder utilizar assim tb: this._configVariableText(1, $gameVariables[n], $gameVariables[n], 1., 0);
Clique e conheça o meu canal - Canal RPG Maker Zone

Syureri

Resposta 9: 22/03/2018 às 23:20

Opa, perdoe. Pra usar variáveis no chamar script, você precisaria usar $gameVariables._data[número].
Testei aqui e dependendo tu pode até fazer umas animações simples.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 10: 22/03/2018 às 23:38

Resolvido!
Perfeito! Valeu!
É para um jogo comercial, tem algum problema?
Créditos serão dados, uma cópia do jogo e talvez algo mais kkkk
Clique e conheça o meu canal - Canal RPG Maker Zone

Syureri

Resposta 11: 22/03/2018 às 23:47

Tem problema não, pode usar como quiser o/