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

Descrição nas Opções padrão do Maker

Iniciado por HammerStrike, 29/08/2018 às 12:49

29/08/2018 às 12:49 Última edição: 01/09/2018 às 10:33 por HammerStrike
Estou fazendo esse menu secundário aqui pro Anna e estou pensando em colocar no rodapé uma descrição simples do que cada opção faz. Algum dos mestres do universo pode me ajudar a resolver este problema?

Hammer Strike

Eu movi o tópico pra lá porque é um pedido relacionado à scripts.  :humpf:


Se você quiser que alguém faça a modificação precisará incluir o código dessa cena no tópico. Se quiser fazer você mesmo é só criar uma instância da Window_Help na cena e configurar as opções. Recomendo dar uma estudada no menu de itens. As descrições das categorias são o que mais se assemelha ao que você quer, acho.

Talvez eu deva fazer por evento, usando imagens.
Hammer Strike

Aí é outra história. Esse menu é feito por eventos? Se sim sua sugestão funciona perfeitamente.

Essa cena é por eventos? Se não, é só instanciar a Window_Help, como Corvo já disse, coisa muito simples.

Se for o caso, posta o código da cena aê que explico certinho pra tu.


Essa tela de opções é por evento, da pra com o script do Window_Help? (o fundo é uma animação em paralax)

Hammer Strike

Teste aí e me diga se funciona:
Código: Anna::HWICLW
# Script: Anna::HWICLW
# Autor: Skyloftian
# Descrição: Exibe a Window_Help juntamente a Window_ChoiceList
# Nota: Script feito sob encomenda para o membro HammerStrike
# Suporte: centrorpg.com
module Anna;module HWICLW
  SECTION = Array.new # Não apague!
  # CONFIGURAÇÔES:
  # Lista de Descrições
  # Defina aqui a descrição de cada comando. Funciona da seguinte maneira:
  # SECTION[ID_DA_LISTA] = ["Descrição 01", "Descrição 02", ...]
  SECTION[0] = ["Iniciar Aventura", "Mudar Nome", "Retonar ao Menu Inciial"]
  SECTION[1] = ["Sair do jogo", "Ficar calado", "Dançar como uma Galinha"]
  # ID do Switch que irá ativar ou desativar a exibição da Window_Help quando 
  # a Window_ChoiceList estiver sendo exibida.
  SWI = 05
  # ID da Variável que irá armazenar o ID_DA_LISTA a ser exibida na Window_Help
  SECVAR = 05
  # Início do Código - Não modifique nada se não possuir conhecimento
end;end # HWICLW;Anna
class Window_ChoiceList < Window_Command
  include Anna::HWICLW
  
  alias :anna_hwiclw_initialize :initialize
  def initialize(message_window)
    anna_hwiclw_initialize(message_window)
    create_help_window
  end
  
  alias :anna_hwiclw_start :start
  def start
    anna_hwiclw_start
    @help_window.open if $game_switches[SWI]
  end
  
  def close
    super
    @help_window.close
  end
  
  def create_help_window
    @help_window = Window_Help.new
    @help_window.y = Graphics.height - @help_window.height
    @help_window.openness = 0
  end
  
  def update
    super
    update_help if $game_switches[SWI]
  end
  
  def update_help
    @help_window.update
    text = SECTION[$game_variables[SECVAR]][self.index]
    @help_window.set_text(text)
  end
  
end # Window_ChoiceList
class Window_Help < Window_Base
  include Anna::HWICLW
  
  alias :anna_hwiclw_refresh :refresh
  def refresh
    if $game_switches[SWI]
      contents.clear
      x = (contents.width - text_size(@text).width) / 2
      y = (contents.height - text_size(@text).height) / 2
      draw_text_ex(x, y, @text)
    else
      anna_hwiclw_refresh
    end
  end
  
end # Window_Help

Pra ativar o efeito é só tornar ON a switch determinada. A lista de descrição mudará de acordo com o valor armazenado na variável determinada. Ex: A variável determinada está com o valor 0, então será exibido as descrições da SECTION[0].


31/08/2018 às 17:58 #7 Última edição: 31/08/2018 às 18:02 por HammerStrike
Funcionou muito bem Sky, obrigado. Só tem 2 pequenos probleminhas a Window eu gostaria de deixar o fundo com opacidade 255 (nas outras opções de menu o fundo da janela é totalmente preto) e na opção que eu fiz pra deixar o Mini game lá do Invaders a janela continua aparecendo dentro do game mesmo com o script desativado.






EDIT: A tela de troca de nome também fica bugada com a janela ainda aparecendo.
Hammer Strike

Done!
# Script: Anna::HWICLW
# Autor: Skyloftian
# Descrição: Exibe a Window_Help juntamente a Window_ChoiceList
# Nota: Script feito sob encomenda para o membro HammerStrike
# Suporte: centrorpg.com
module Anna;module HWICLW
  SECTION = Array.new # Não apague!
  # CONFIGURAÇÔES GERAIS:
  # Lista de Descrições
  # Defina aqui a descrição de cada comando. Funciona da seguinte maneira:
  # SECTION[ID_DA_LISTA] = ["Descrição 01", "Descrição 02", ...]
  SECTION[0] = ["Iniciar Aventura", "Mudar Nome", "Retonar ao Menu Inciial"]
  SECTION[1] = ["Sair do jogo", "Ficar calado", "Dançar como uma Galinha"]
  # ID do Switch que irá ativar ou desativar a exibição da Window_Help quando 
  # a Window_ChoiceList estiver sendo exibida.
  SWI = 05
  # ID da Variável que irá armazenar o ID_DA_LISTA a ser exibida na Window_Help
  SECVAR = 05
  # CONFIGURAÇÔES DA JANELA:
  BACKOPC = 255        # Opacidade do fundo da janela
  WINDOPC = 255        # Opacidade da janela
  FONTNAME = "Verdana" # Nome da Fonte
  FONTSIZE = 20        # Tamanho da Fonte
  FONTOUTLINE = false  # Linha exterior na Fonte?
  FONTSHADOW = false   # Sombra na Fonte?
  # Início do Código - Não modifique nada se não possuir conhecimento
end;end # HWICLW;Anna
class Window_ChoiceList < Window_Command
  include Anna::HWICLW
  
  alias :anna_hwiclw_initialize :initialize
  def initialize(message_window)
    anna_hwiclw_initialize(message_window)
    create_help_window
  end
  
  alias :anna_hwiclw_start :start
  def start
    anna_hwiclw_start
    @help_window.open if $game_switches[SWI]
  end
  
  def close
    super
    @help_window.close
  end
  
  def create_help_window
    @help_window = Window_Help.new
    @help_window.y = Graphics.height - @help_window.height
    @help_window.openness = 0
    @help_window.back_opacity = BACKOPC
    @help_window.opacity = WINDOPC
  end
  
  def update
    super
    @help_window.update
    update_help if $game_switches[SWI]
  end
  
  def update_help
    text = SECTION[$game_variables[SECVAR]][self.index]
    @help_window.set_text(text)
  end
  
end # Window_ChoiceList
class Window_Help < Window_Base
  include Anna::HWICLW
  
  alias :anna_hwiclw_refresh :refresh
  def refresh
    if $game_switches[SWI]
      contents.clear
      contents.font.name = FONTNAME
      contents.font.size = FONTSIZE
      contents.font.outline = FONTOUTLINE
      contents.font.shadow = FONTSHADOW
      x = (contents.width - text_size(@text).width) / 2
      y = (contents.height - text_size(@text).height) / 2
      draw_text_ex(x, y, @text)
    else
      anna_hwiclw_refresh
    end
  end
  
end # Window_Help

Aproveitei pra adicionar umas opções de personalização da janela. Dá pra deixar ela invisível caso queira utilizar uma picture pro fundo.


Ficou legal, mas o bug com a janela na tela de Mudar o nome continua. Sabe como posso resolver isso?
Hammer Strike

Você desativou a switch determinada depois de finalizar as escolhas?

Quais scripts você tá utilizando no projeto? É possível que algum esteja conflitando, mas mesmo assim acho bem estranho isso.


Tá assim


Também to começando a achar que é script, fiz uns testes aqui e ainda não encontrei o conflito.
Hammer Strike

Agora é infalível. Impossível apresentar qualquer tipo de bug.  :blink:
# Script: Anna::HWICLW
# Autor: Skyloftian
# Descrição: Exibe a Window_Help juntamente a Window_ChoiceList
# Nota: Script feito sob encomenda para o membro HammerStrike
# Suporte: centrorpg.com
module Anna;module HWICLW
  SECTION = Array.new # Não apague!
  # CONFIGURAÇÔES GERAIS:
  # Lista de Descrições
  # Defina aqui a descrição de cada comando. Funciona da seguinte maneira:
  # SECTION[ID_DA_LISTA] = ["Descrição 01", "Descrição 02", ...]
  SECTION[0] = ["Iniciar Aventura", "Mudar Nome", "Retonar ao Menu Inciial"]
  SECTION[1] = ["Sair do jogo", "Ficar calado", "Dançar como uma Galinha"]
  # ID do Switch que irá ativar ou desativar a exibição da Window_Help quando 
  # a Window_ChoiceList estiver sendo exibida.
  SWI = 05
  # ID da Variável que irá armazenar o ID_DA_LISTA a ser exibida na Window_Help
  SECVAR = 05
  # CONFIGURAÇÔES DA JANELA:
  BACKOPC = 255        # Opacidade do fundo da janela
  WINDOPC = 255        # Opacidade da janela
  FONTNAME = "Verdana" # Nome da Fonte
  FONTSIZE = 20        # Tamanho da Fonte
  FONTOUTLINE = false  # Linha exterior na Fonte?
  FONTSHADOW = false   # Sombra na Fonte?
  # Início do Código - Não modifique nada se não possuir conhecimento
end;end # HWICLW;Anna
class Window_ChoiceList < Window_Command
  include Anna::HWICLW
  
  alias :anna_hwiclw_initialize :initialize
  def initialize(message_window)
    anna_hwiclw_initialize(message_window)
    create_help_window
  end
  
  alias :anna_hwiclw_start :start
  def start
    anna_hwiclw_start
    @help_window.open if $game_switches[SWI]
  end
  
  def close
    super
    @help_window.close
  end
  
  def create_help_window
    @help_window = Window_Help.new
    @help_window.y = Graphics.height - @help_window.height
    @help_window.openness = 0
    @help_window.back_opacity = BACKOPC
    @help_window.opacity = WINDOPC
  end
  
  def update
    super
    @help_window.update
    update_help if $game_switches[SWI]
  end
  
  def update_help
    text = SECTION[$game_variables[SECVAR]][self.index]
    @help_window.set_text(text)
  end
  
  def dispose
    super
    @help_window.dispose
  end
  
end # Window_ChoiceList
class Window_Help < Window_Base
  include Anna::HWICLW
  
  alias :anna_hwiclw_refresh :refresh
  def refresh
    if $game_switches[SWI]
      contents.clear
      contents.font.name = FONTNAME
      contents.font.size = FONTSIZE
      contents.font.outline = FONTOUTLINE
      contents.font.shadow = FONTSHADOW
      x = (contents.width - text_size(@text).width) / 2
      y = (contents.height - text_size(@text).height) / 2
      draw_text_ex(x, y, @text)
    else
      anna_hwiclw_refresh
    end
  end
  
end # Window_Help


Aeeeeeeee, é treeeetaaaaaaa. Nice Trab, funcionou 100% agora, vlw mesmo Sky!
Hammer Strike