Um aprimoramento meu do script que o Khas ensinou em sua vídeo-aula. Pode ser muito útil para diversas situações.
- Código:
#==========================================================================
# Name O' Matic
#==========================================================================
# Autor: MakotoSG(conhecido também por ryuuzaki554)
# Compatível com: RMVX Ace
# Contato: samamakoto@gmail.com
#==========================================================================
#============================O SISTEMA=====================================
# O script Name O' Matic faz aparecer qualquer nome em cima de algum evento
# com um simples comentário (Nome:NOME_DO_NPC)
#==========================================================================
#==========NÃO DIGA QUE É DE SUA AUTORIA E DÊ OS DEVIDOS CRÉDITOS==========
#==========================================================================
#!!!!!!!!!!!!!!!!NÃO MODIFIQUE O SCRIPT SEM MINHA AUTORIZAÇÃO!!!!!!!!!!!!!!
#==========================================================================
# Use sem moderação ^-^
#==========================================================================
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#==========================================================================
# Área configurável
#==========================================================================
module Name_Config
Font_Name = "Arial Black" # Define a fonte do nome.
Font_Size = 16 # Define o tamanho do nome.
Font_Color = Color.new(255,0,0) # Define a cor do nome em RGB.
end
#=========================================================================
# Fim da área configurável
#=========================================================================
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
class Spriteset_Map
alias nom_initialize initialize
alias nom_dispose dispose
alias nom_update update
def initialize
create_names
nom_initialize
end
def update
nom_update
update_names
end
def dispose
nom_dispose
dispose_names
end
def create_names
@names = []
for event in $game_map.events.values
next if event.list == nil
for command in event.list
next if command.code != 108
if command.parameters[0].include?("Nome:")
name = command.parameters[0].sub("Nome:","")
@names.push(Sprite_Name.new(event,name))
end
end
end
end
def update_names
for sprite in @names
sprite.update
end
end
def dispose_names
for sprite in @names
sprite.dispose
end
@names.clear
end
end
class Sprite_Name < Sprite
def initialize(event,name)
super(nil)
self.bitmap = Bitmap.new(120,20)
@event = event
self.ox = 60
self.z = 999
self.bitmap.font.name = Name_Config::Font_Name
self.bitmap.font.size = Name_Config::Font_Size
self.bitmap.font.color = Name_Config::Font_Color
self.bitmap.draw_text(0,0,120,20,name,1)
end
def update
super
self.x = @event.screen_x
self.y = @event.screen_y - 45
end
def dispose
self.bitmap.dispose
self.bitmap = nil
super
end
end