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

Como chamar um script via eventos?

Iniciado por GhostFenix, 25/07/2019 às 17:38

25/07/2019 às 17:38 Última edição: 25/07/2019 às 18:25 por GhostFenix
Boa tarde pessoal, gostaria de saber como eu posso chamar um script via evento.

Agradeço aquele que puder me ajudar.

aqui man se puder ajudar ta aqui o link da imagem do script

https://prnt.sc/ok3m1f

e tbm ta dando erro Game_interpreter 1414

Você diz isso?


Acho que explicou um pouco melhor hahaha, mas ainda não sei exatamente como está fazendo, que script você adicionou?
Você quer chamar como?

Seja bem vindo ao fórum, GhostFenix!

Antes de mais nada gostaria de lhe alertar sobre sua postagem. Quando criar um tópico certifique-se de que ele está na área correta e de preenchê-lo corretamente de uma maneira clara, legível e agradável. Se possuir dúvidas sobre como montar seu tópico, confira o Centro de Informações. Também recomendo que leia as Regras Gerais do fórum para evitar que as inflija acidentalmente.

Tomei a liberdade de arrumar seu tópico para que tenha como exemplo para as próximas postagens.


Agora, vamos a sua dúvida:

Para chamar um código por eventos basta você ir na terceira página de comandos por eventos e utilizar o comando Chamar Script (Script Call em inglês, ou apenas Script... dependendo da sua versão ou tradução do maker). Ao clicar neste comando você terá um campo para inserir qualquer código de script que desejar.

Exemplo:
[hs width=300]https://cdn.discordapp.com/attachments/603805836317294615/604053188223696917/unknown.png[/hs]
Nesse exemplo utilizei o código SceneManager.call(Scene_Menu), que faz com que o jogo abra o menu.

Qualquer outra dúvida que tiver basta nos informar. Estamos à disposição.  :ok:


Double-post já que tu atualizou o tópico.

Você na verdade quer saber como ativar esta HUD através de um evento, certo? Ao que pude ver pelo print, por padrão ela é exibida e escondida através do pressionar de uma tecla especifica, no caso a X, que corresponde a tecla A do seu teclado. Veja as correspondências de tecla aqui, caso não saiba.

Para replicar isso através do Chamar Script em um evento precisamos verificar o método do código que realiza o processo de exibir e esconder a HUD. Pra isso eu precisaria analisar o código por inteiro, tem como você postá-lo aqui?


25/07/2019 às 18:57 #4 Última edição: 25/07/2019 às 20:48 por Gabriel N.
Sim

#==============================================================================#
#                       Danka Comfigurable HUD                                 #
#==============================================================================#
#              Créditos: Juniortem por ter feito.                              #
#==============================================================================#
#     È uma HUD bem customizável, você pode mudar praticamente tudo, ela mostra#
#     o HP, MP, Level, a Face, Os status e a Classe, e você pode mudar todas as#
#     posições                                                                 #
#==============================================================================#
# Log: Script Criado - 25/09/2012                                              #
#==============================================================================#
#Configurações Abaixo.
module Danka_Config
Hud_opacity = 500 #opacidade da janela da hud, deixe 0 para ficar invisivel.
Tecl = :X  #tecla que quando apertada faz a Window aparecer no mapa, X é A
Hud_x = 20 #posição horizontal da HUd
Hud_y = 0 #posição vertical da HUd
Hud_heigth = 300 #altura da HUD
Hud_width = 120 #largura da HUD
Face_X = 0 #posição X da face
Face_Y = 0 #posição Y da face
Hp_X = 100 #posição x do HP
Hp_Y = 0 #posição y do HP
Mp_X = 100 #posição X do MP
Mp_Y = 20 #posição Y do MP
Status_Name_X = 100 #Posição X do nome "Status"
Status_Name_Y = 65 #posição Y do nome "status"
Status_Icons_X = 170 #posição X dos icones de status
Status_Icons_Y = 65 #posição Y dos icones de Status
Level_X = 225 #posição do level X
Level_Y = 45 #posição do level Y
Class_X = 100 #posição X da Classe
Class_Y = 45 #posição Y da classe
end
#==============================================================================#
#                     Corrige o Bug do Dispose das Faces, Valeu Raizen         #
#==============================================================================#
class Window_Base < Window
  def draw_face(face_name, face_index, x, y, enabled = true)
    bitmap = Cache.face(face_name)
    rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
    contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  end
end
#==============================================================================#
#                           Criação da HUD                                     #
#==============================================================================#
class Danka_HUD < Window_Base
  include Danka_Config
  def initialize
    super(Hud_x,Hud_y,Hud_heigth,Hud_width)
    self.opacity = Hud_opacity #Opacidade da HUD
    self.visible = false
    data_actor
    refresh
  end
#==============================================================================#
#                        Dados do Herói                                        #
#==============================================================================#
  def data_actor
    @actor = $game_party.members[0]
    @data = []
    @data[0] = @actor.face_name
    @data[1] = @actor.name
    @data[2] = @actor.level
    @data[3] = @actor.states
    @data[4] = @actor.hp
    @data[5] = @actor.mp
    @data[6] = @actor.class
  end
#==============================================================================#
#                        Atualizar Hud?                                        #
#==============================================================================#
  def need_to_update
    return true unless @data[0] == @actor.face_name
    return true unless @data[1] == @actor.name
    return true unless @data[2] == @actor.level
    return true unless @data[3] == @actor.states
    return true unless @data[4] == @actor.hp
    return true unless @data[5] == @actor.mp
    return true unless @data[6] == @actor.class
    return false
  end
#==============================================================================#
#                                Atualiza                                      # 
#==============================================================================#
  def update
  super
  refresh if need_to_update
  self.visible = true if Input.press?(Tecl)
end

#==============================================================================#
#                        Atualiza o Conteudo.                                  #         
#==============================================================================#
  def refresh
   contents.clear
  self.draw_actor_face(@actor, Face_X, Face_Y)
  self.draw_actor_hp(@actor,Hp_X,Hp_Y)
  self.draw_actor_mp(@actor,Mp_X,Mp_Y)
  self.draw_actor_icons(@actor,Status_Icons_X,Status_Icons_Y)
  self.draw_actor_class(@actor,Class_X,Class_Y)
  self.draw_actor_level(@actor,Level_X,Level_Y)
  self.draw_text(Status_Name_X,Status_Name_Y,width,line_height,"Status:")
   end
end
#==============================================================================#
#                              Coloca a HUD no Mapa                            #
#==============================================================================#
class Scene_Map < Scene_Base
  alias hud_start start
  alias hud_update update
  alias hud_terminate terminate
 def start
  @hud = Danka_HUD.new
  hud_start
 end
 def update
   @hud.update
   hud_update
 end
 def terminate
   @hud.dispose
   hud_terminate
 end
end

#==============================================================================#
#                                Fim do Script                                 #
#==============================================================================#

Modifiquei o código para você. Use este ao em vez do que estava usando:
#==============================================================================#
#                       Danka Comfigurable HUD                                 #
#==============================================================================#
#              Créditos: Juniortem por ter feito.                              #
#==============================================================================#
#     È uma HUD bem customizável, você pode mudar praticamente tudo, ela mostra#
#     o HP, MP, Level, a Face, Os status e a Classe, e você pode mudar todas as#
#     posições                                                                 #
#==============================================================================#
# Log: Script Criado - 25/09/2012                                              #
#==============================================================================#
#Configurações Abaixo.
module Danka_Config
Hud_opacity = 500 #opacidade da janela da hud, deixe 0 para ficar invisivel.
Tecl = :X  #tecla que quando apertada faz a Window aparecer no mapa, X é A
Hud_x = 20 #posição horizontal da HUd
Hud_y = 0 #posição vertical da HUd
Hud_heigth = 300 #altura da HUD
Hud_width = 120 #largura da HUD
Face_X = 0 #posição X da face
Face_Y = 0 #posição Y da face
Hp_X = 100 #posição x do HP
Hp_Y = 0 #posição y do HP
Mp_X = 100 #posição X do MP
Mp_Y = 20 #posição Y do MP
Status_Name_X = 100 #Posição X do nome "Status"
Status_Name_Y = 65 #posição Y do nome "status"
Status_Icons_X = 170 #posição X dos icones de status
Status_Icons_Y = 65 #posição Y dos icones de Status
Level_X = 225 #posição do level X
Level_Y = 45 #posição do level Y
Class_X = 100 #posição X da Classe
Class_Y = 45 #posição Y da classe
end
#==============================================================================#
#                     Corrige o Bug do Dispose das Faces, Valeu Raizen         #
#==============================================================================#
class Window_Base < Window
  def draw_face(face_name, face_index, x, y, enabled = true)
    bitmap = Cache.face(face_name)
    rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
    contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  end
end
#==============================================================================#
#                           Criação da HUD                                     #
#==============================================================================#
class Danka_HUD < Window_Base
  include Danka_Config
  def initialize
    super(Hud_x,Hud_y,Hud_heigth,Hud_width)
    self.opacity = Hud_opacity #Opacidade da HUD
    self.visible = false
    data_actor
    refresh
  end
#==============================================================================#
#                        Dados do Herói                                        #
#==============================================================================#
  def data_actor
    @actor = $game_party.members[0]
    @data = []
    @data[0] = @actor.face_name
    @data[1] = @actor.name
    @data[2] = @actor.level
    @data[3] = @actor.states
    @data[4] = @actor.hp
    @data[5] = @actor.mp
    @data[6] = @actor.class
  end
#==============================================================================#
#                        Atualizar Hud?                                        #
#==============================================================================#
  def need_to_update
    return true unless @data[0] == @actor.face_name
    return true unless @data[1] == @actor.name
    return true unless @data[2] == @actor.level
    return true unless @data[3] == @actor.states
    return true unless @data[4] == @actor.hp
    return true unless @data[5] == @actor.mp
    return true unless @data[6] == @actor.class
    return false
  end
#==============================================================================#
#                                Atualiza                                      # 
#==============================================================================#
  def update
  super
  refresh if need_to_update
  self.visible = true if Input.press?(Tecl)
end

#==============================================================================#
#                        Atualiza o Conteudo.                                  #         
#==============================================================================#
  def refresh
   contents.clear
  self.draw_actor_face(@actor, Face_X, Face_Y)
  self.draw_actor_hp(@actor,Hp_X,Hp_Y)
  self.draw_actor_mp(@actor,Mp_X,Mp_Y)
  self.draw_actor_icons(@actor,Status_Icons_X,Status_Icons_Y)
  self.draw_actor_class(@actor,Class_X,Class_Y)
  self.draw_actor_level(@actor,Level_X,Level_Y)
  self.draw_text(Status_Name_X,Status_Name_Y,width,line_height,"Status:")
   end
end
#==============================================================================#
#                              Coloca a HUD no Mapa                            #
#==============================================================================#
class Scene_Map < Scene_Base
  alias hud_start start
  alias hud_update update
  alias hud_terminate terminate
 def start
  @hud = Danka_HUD.new
  hud_start
 end
 def update
   @hud.update
   @hud.visible = $game_system.hud_visibility if @hud_visible != $game_system.hud_visibility 
   hud_update
 end
 def terminate
   @hud.dispose
   hud_terminate
 end
end
class Game_System
  
  attr_accessor :hud_visibility
  alias gs_init initialize
  def initialize
    gs_init
    @hud_visibility = false
  end
  
end
#==============================================================================#
#                                Fim do Script                                 #
#==============================================================================#


Utilize os seguintes códigos no comando Chamar Script (que expliquei acima como utilizar) para mostrar ou esconder a hud:
$game_system.hud_visibility = true # Para mostrar a hud
$game_system.hud_visibility = false # Para esconder a hud


Qualquer outra dúvida é só dizer.