[RMVXA]Exibir mensagem + variável

11 Respostas   1438 Visualizações

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

Caio Varalta

Tópico criado em: 13/05/2014 às 18:18 - Última modificação por Caio Varalta em 15/05/2014 às 20:16

Como eu faria para que aparecesse o ícone de um item na janela da variável - ou uma mensagem mesmo - como:
*icone15* *variavel escolhida*; ou:
Var15 = *variavel escolhida*;
O script que está sendo usado é este:
Spoiler
[close]
acompanhe meu trabalho de Áudio aqui: https://linktr.ee/caiovaralta

Don Mariachi

Resposta 1: 13/05/2014 às 18:37

Veja se isso pode te ajudar.

Obs.: É para 2K, mas deve ter como converter.

Brandt

Resposta 2: 13/05/2014 às 19:19

Ponha esse script no seu projeto:
Código: [Selecionar]
class Window_ShowVar < Window_Base
  def initialize(x,y)
    super(x,y,160,32)
    $show_var ||= 1
  end
  def update
    self.contents.clear
    self.contents.draw_text(0,0,160,32,$game_variables[$show_var])
  end
end

Depois, num call, escreva isso:
Código: [Selecionar]
$sv_window = Window_ShowVar.new(0,0)
O primeiro 0 é a posição horizontal (em pixels) e o segundo a posição vertical (em pixels) da ponta superior esquerda da janela na tela.

Pra mudar o ID da variável que a janela mostra, use esse call:
Código: [Selecionar]
$show_var = id
Sendo id o ID da variável no database (começa pelo 1).

Não sei se vai funcionar, não posso testar agora, qualquer coisa, tente usar isso junto:
Código: [Selecionar]
class Scene_Map < Scene_Base
alias mbs_updt345 update
def update
mbs_updt345
$sv_window.update if $sv_window
end
end
~ Masked

Caio Varalta

Resposta 3: 13/05/2014 às 19:29

@Masked:
Até onde eu li, o script parece certinho, aí joguei ele no RM, mas ele não mostra nada, só aparece a janelinha no canto da tela...
Provavelmente fiz algo de errado... Joguei ele em scripts adicionais, e coloquei a variável certa.
 :será:
acompanhe meu trabalho de Áudio aqui: https://linktr.ee/caiovaralta

Brandt

Resposta 4: 13/05/2014 às 19:43

Estranho... Testou com o outro script? (O da Scene_Map?)
~ Masked

Takkun

Resposta 5: 13/05/2014 às 21:55

Código: [Selecionar]
#===============================================================================
# Display Multiples Variables
# Por: King Gerar
# Ajudado e muito por Victor Gomes/Misugami e Raizen.
#-------------------------------------------------------------------------------
# Este script permite que fiquem visíveis na tela o valor de duas variáveis.
#===============================================================================
 
module Multi_Config
  Font_Display = "Candara"                   # Nome da fonte utilizada
  Font_Size = 20                             # Tamanho da fonte
  Font_Color = Color.new(255, 255, 100, 255) # Cor da fonte
  Swch = 1                                   # ID da switch que ativa/desativa
#  Vars = [1,2,3,4,5,6,7,8,9,10]              # ID das variáveis a serem exibidas
  Vars = [1,2,3,4,5]
  #-----------------------------------------------------------------------------
  # Posição da janela na tela
  # 0 = Esquerda acima        1 = Direita Acima
  # 2 = Esquerda Abaixo       3 = Direita Abaixo
  #-----------------------------------------------------------------------------
  Pstn = 3
  #-----------------------------------------------------------------------------
  # Espaçamento entre as linhas (Para correção da fonte).
  #-----------------------------------------------------------------------------
  Spacing = 24
end
 
#===============================================================================
# Window_Variables
#-------------------------------------------------------------------------------
# Esta classe cria uma janela para a exibição dos valores de dias variáveis.
#===============================================================================
class Window_MultiVariables < Window_Base
  def initialize
    super(0, 0, 96, 32 + ((Multi_Config::Vars.size) * (Multi_Config::Spacing)))
    self.contents.font.name = (Multi_Config::Font_Display)
    self.contents.font.size = (Multi_Config::Font_Size)
    change_color(Multi_Config::Font_Color)
    refresh
  end
 
  def refresh
    self.contents.clear
    @vars = []
     for i in 0..((Multi_Config::Vars.size) - 1)
       @vars << $game_variables[(Multi_Config::Vars[i])]
       self.contents.draw_text( 0, (Multi_Config::Spacing) * i, 64, line_height, @vars[i].to_s, 2)
    end
  end
end
#===============================================================================
# Spriteset_Map
#-------------------------------------------------------------------------------
# Esta classe reune os sprites da tela de mapa e tilesets. Esta classe é
# usada internamente pela classe Scene_Map.
#===============================================================================
class Spriteset_Map
  alias multi_var_initialize initialize
  alias multi_var_dispose dispose
  alias multi_var_update update
 
  def initialize
    create_window_multivar
    multi_var_initialize
  end
 
  def create_window_multivar
    @window_multivar = Window_MultiVariables.new
    case (Multi_Config::Pstn)
      when 0
        @window_multivar.x = 0
        @window_multivar.y = 0
      when 1
        @window_multivar.x = 544 - @window_multivar.width
        @window_multivar.y = 0
      when 2
        @window_multivar.x = 0
        @window_multivar.y = 416 - @window_multivar.height
      when 3
        @window_multivar.x = 544 - @window_multivar.width
        @window_multivar.y = 416 - @window_multivar.height
      end
    @window_multivar.visible = false
  end
 
  def dispose
    dispose_window_multivar
    multi_var_dispose
  end
 
  def dispose_window_multivar
    @window_multivar.dispose
  end
 
  def update
    @window_multivar.visible = $game_switches[(Multi_Config::Swch)]
    @window_multivar.refresh if Graphics.frame_count % 10 == 0
    multi_var_update
  end
end

Script feito pelo King Gerar.

 :ok:

Caio Varalta

Resposta 6: 14/05/2014 às 17:23

Pessoal muito obrigado à quem ajudou!
E por fim eu fiquei com o script que o Takkun passou mesmo, porque rodou direto sem erros...

Agora, só mais uma dúvida à sanar, como eu faria para que aparecesse o ícone de um item na janela da variável - ou uma mensagem mesmo - como:
*icone15* *variavel escolhida*; ou:
Var15 = *variavel escolhida*;
O script que está sendo usado é este:
Spoiler
[close]
acompanhe meu trabalho de Áudio aqui: https://linktr.ee/caiovaralta

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 7: 14/05/2014 às 19:40

No caso seria mostrar apenas um ícone e uma variável na frente?
Posso modificar esse e tentar providenciar pra tu.
  :XD:

Caio Varalta

Resposta 8: 14/05/2014 às 19:58

No caso seria mostrar apenas um ícone e uma variável na frente?
Posso modificar esse e tentar providenciar pra tu.
  :XD:
Seria mostrar o ícone de um item do iconset, o icon 7 por exemplo.
Aí do lado direito dele ficaria a variável.
A ideia é mostrar uma pilha de bateria e do lado a "energia/porcentagem" da pilha, entendeu?

Fico muito feliz com qualquer ajuda, King!
 :XD:
acompanhe meu trabalho de Áudio aqui: https://linktr.ee/caiovaralta

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 9: 15/05/2014 às 08:04

Aí man, olha se serve... e se funciona xD

Código: [Selecionar]
#===============================================================================
# Script
#===============================================================================
module K_Energy_Window
  Font_Display = "Aerolite"                  # Nome da fonte utilizada
  Font_Size = 20                             # Tamanho da fonte
 
  Font_Color = Color.new(255, 255, 0, 255)  # Cor da fonte
 
  EnergyVar = 1                              # ID da variável
  EnergyIcon = 608                           # ID do ícone
  EnergySwch = 1                             # ID da switch que ativa/desativa
  #-----------------------------------------------------------------------------
  # Posição (x e y)
  #-----------------------------------------------------------------------------
  Pstn_X = 0
  Pstn_Y = 0
end
#===============================================================================
# Window_Variables
#===============================================================================
class Window_Varalta_Energy < Window_Base
  include K_Energy_Window
  def initialize
    super( 0, 0, 96, 48)
    self.x = Pstn_X
    self.y = Pstn_Y
    self.opacity = 255
    self.contents.font.name = (Font_Display)
    self.contents.font.size = (Font_Size)
    change_color(Font_Color)
    refresh
  end

  def refresh
    self.contents.clear
    @energy_value = $game_variables[EnergyVar]
    draw_icon(EnergyIcon, 0, 0)
    draw_text(26, 0, self.contents_width - 26, line_height, ($game_variables[EnergyVar].to_s + "%"), 0)
  end

  def update
    super
    if @energy_value != $game_variables[EnergyVar]
      refresh
    end
  end
end
#===============================================================================
# Spriteset_Map
#===============================================================================
class Spriteset_Map
  alias energy_window_initialize initialize
  alias energy_window_dispose dispose
  alias energy_window_update update

  def initialize
    create_energy_window
    energy_window_initialize
  end

  def create_energy_window
    @energy_window = Window_Varalta_Energy.new
    @energy_window.visible = false
  end

  def dispose
    energy_window_dispose
    @energy_window.dispose
  end

  def update
    energy_window_update
    if $game_switches[(K_Energy_Window::EnergySwch)] == true
      @energy_window.visible = true
      @energy_window.update
    else
      @energy_window.visible = false
    end
  end
end

Caio Varalta

Resposta 10: 15/05/2014 às 20:15

SENSACIONAL!!!
VALEU KINGZÃO GERARDÃO!!!
 :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow:

Sério, ficou perfeito cara, parabéns pelo excelente trabalho!
Irá ser recompensado nos créditos do jogo! É o que eu posso fazer!
 :XD:  :blink: :rainbow:
acompanhe meu trabalho de Áudio aqui: https://linktr.ee/caiovaralta

Misty

  • Mito
  • *
  • Posts: 1602
  • Ouros: 1837
  • The Last One!~
  • Medalhas Participante do 'Amigo, Estou Aqui!' Participante da 2º Mostra de Arte Steamfórdia Vencedor CRM Awards - Melhor Designer pela 2ª vez Vencedor CRM Awards - Melhor Designer Vencedor do Protótipo Premiado
Resposta 11: 15/05/2014 às 20:20

Problema resolvido! :lock: