[Autor: "RD12"]
obs: o evento ID 4 não aparece nome nem ícone, é um bug, só pula-lo.
Event Icon/Text Display
Meu primeiro script para Ace, espero que gostem, não quis fazer algo muito complexo. fiz pra aquecer no ace.
Características:
*Exibe um texto em cima do evento.
*Pode escolher a cor desse Texto.
*Exibe um ícone em cima do evento.
*Para exibir é só por um comentário.
*Exibe nome em cima do Personagem + level.
Screenshot
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Script
Instruções no script
Meu primeiro script para Ace, espero que gostem, não quis fazer algo muito complexo. fiz pra aquecer no ace.
Características:
*Exibe um texto em cima do evento.
*Pode escolher a cor desse Texto.
*Exibe um ícone em cima do evento.
*Para exibir é só por um comentário.
*Exibe nome em cima do Personagem + level.
Screenshot
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Script
Instruções no script
- Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#|Autor: RD12 | Event Icon/Text Display
#------------------------------------------------------------------------
# Exibir nome: comentário> [name] NOME
# Exibir icon: comentário> [icon] ICON #Na pasta graphics/system
# Mudar a Cor: comentário> [cor] n (número da cor)
# Cores: 0 = vermelho | 1 = verde | 2 = azul | 3 = amarelo | 4 = rosa
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module Player_Name #Configurações do nome do personagem
Font_Name = "Segoe UI"
Font_Size = 14
Font_Color = Color.new(255,255,255)
Show_Level = true #exibir level
end
class Game_Event < Game_Character
attr_reader :npc_icon
attr_reader :npc_name
attr_reader :font_color
alias qicon_alias_refresh refresh
def refresh
if @loaded == nil
@Cor = []
#------------------------------------------------------------------------
#Número das Cores. Você pode copiar e adicionar mais
#------------------------------------------------------------------------
@Cor[0] = Color.new(255,0,0)#vermelho
@Cor[1] = Color.new(0,255,0)#verde
@Cor[2] = Color.new(0,0,255)#azul
@Cor[3] = Color.new(255,255,0)#amarelo
@Cor[4] = Color.new(255,0,255)#rosa
@Cor[5] = Color.new(0,0,0)#preto
#-----
end
@loaded = true
qicon_alias_refresh
return if @list == nil
for cmd in @list
if cmd.code == 108 or cmd.code == 408
comentario = cmd.parameters[0]
arg = comentario.split
if arg[0] == "[icon]"
if arg[3] != nil
@npc_icon = arg[1]+" "+arg[2]+" "+arg[3]
elsif arg[2] != nil
@npc_icon = arg[1]+" "+arg[2]
else
@npc_icon = arg[1]
end
end
if arg[0] == "[name]"
if arg[3] != nil
@npc_name = arg[1]+" "+arg[2]+" "+arg[3]
elsif arg[2] != nil
@npc_name = arg[1]+" "+arg[2]
else
@npc_name = arg[1]
end
end
if arg[0] == "[cor]"
cor = arg[1]
@font_color = @Cor[cor.to_i]
end
if @npc_icon == nil
@npc_icon = ""
end
if @font_color.nil?
@font_color = Color.new(255,255,255)#Cor Padrão:Branco
end
end
end
end
end
class Player_Name_Text < Sprite_Base
def initialize
super()
self.bitmap = Bitmap.new(100, 24)
refresh
end
def refresh
self.bitmap.clear
self.x = $game_player.screen_x - 50
self.y = $game_player.screen_y - 55
self.bitmap.font.size = Player_Name::Font_Size
self.bitmap.font.name = Player_Name::Font_Name
self.bitmap.font.color = Player_Name::Font_Color
actor = $game_party.members[0]
if Player_Name::Show_Level == true
self.bitmap.draw_text(self.bitmap.rect, "#{actor.name} [#{actor.level}]", 1)
else
self.bitmap.draw_text(self.bitmap.rect, actor.name, 1)
end
end
end
class Sprite_Character < Sprite_Base
alias qicon_alias_initialize initialize
def initialize(*args)
@q_icon = nil
@npc_icon = nil
@npc_name = nil
@font_color = nil
qicon_alias_initialize(*args)
end
alias init initialize
def initialize(view, char)
init(view, char)
if @character.is_a?(Game_Player)
@player_name = Player_Name_Text.new
end
end
alias qicon_alias_update update
def update
qicon_alias_update
if @character.is_a?(Game_Player) and @player_name != nil
@player_name.refresh
end
if @character and @character.is_a?(Game_Event) and @q_icon != @character.npc_icon
[@q_icon, @character.npc_icon, @character.object_id, self.object_id]
@q_icon = @character.npc_icon
@npc_icon = Sprite.new(Viewport.new(0, 0, 640, 320)) unless @npc_icon
@npc_icon.bitmap = Bitmap.new(100,40)
icon = Cache.system(@q_icon)
@npc_icon.bitmap.blt(37, 3, icon, Rect.new(0, 0, icon.width, icon.height))
@npc_icon.bitmap.font.size = 14
@npc_icon.bitmap.font.name = "Segoe UI"#Nome da Fonte
@npc_icon.bitmap.font.color = @character.font_color
@npc_icon.bitmap.draw_text(0, 18, 100, 32, @character.npc_name, 1)
end
if @npc_icon and @npc_icon.bitmap
@npc_icon.x = self.x - (@npc_icon.bitmap.width / 2)
@npc_icon.y = self.y - (self.src_rect.height + @npc_icon.bitmap.height)
@npc_icon.z = self.z + 5
end
end
alias qicon_alias_dispose dispose
def dispose
@npc_icon.dispose if @npc_icon
@player_name.dispose if @player_name
qicon_alias_dispose
end
end
obs: o evento ID 4 não aparece nome nem ícone, é um bug, só pula-lo.
Criado por RD12