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

Script de Coin HUD

Iniciado por Asko, 28/04/2021 às 02:08

28/04/2021 às 02:08 Última edição: 28/04/2021 às 17:41 por Asko
Tenho um script que exibe as moedas na tela, mas eu preciso de um que atualize quando as moedas são retiradas ou adicionadas, ou seja, precisa ser um medidor de moedas em tempo real.

class Window_Message < Window_Base
  def create_all_windows
    @gold_window = Window_Gold.new
    @gold_window.x = Graphics.width - @gold_window.width
    @gold_window.y = 0
    @choice_window = Window_ChoiceList.new(self)
    @number_window = Window_NumberInput.new(self)
    @item_window = Window_KeyItem.new(self)
  end
 
  def fiber_main
    $game_message.visible = true
    update_background
    update_placement
    loop do
      process_all_text if $game_message.has_text?
      process_input
      $game_message.clear
      Fiber.yield
      break unless text_continue?
    end
    close_and_wait
    $game_message.visible = false
    @fiber = nil
  end
end

A janela que você está usando não foi programada para lidar com as alterações de valor do ouro, mas dá pra resolver isso com modificações bem simples. Cole o código abaixo junto ao restante do seu código.

#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  Esta janela exibe a quantia de dinheiro.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  alias wg_asko_refresh refresh
  def refresh
    @value = value
    wg_asko_refresh
  end
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  def update
    refresh if @value != value
  end
  
end