스크립트 : 비밀소년
스크립트 수정 : 블루레스
스크립트 사용방법 : 이벤트 이름란에 [ID...] 으로 입력하지 않고 [...] 으로 입력.
스크립트 삽입방법 : RPGXP / F11 / Main 위에 삽입 (2개를 만들어야 함)
스크립트1
#=================================================
# ■ 아이디를 띄우기 (사용 방법 정의)
#-------------------------------------------------
# 스크립트 : 비밀소년 / 수정 : 블루레스
#=================================================
class Game_Event < Game_Event
def refresh
super
text = @event.name.dup
text.gsub!(/[(.+?)]/) do
@sprite_id = $1
end
@sprite_id = nil if @erased
@sprite_id = nil if @character_name == ""
end
end
class Game_Player < Game_Player
def refresh
super
if $game_party.actors.size > 0
@sprite_id = $game_party.actors[0].name
end
end
end
스크립트2
#=================================================
# ■ 아이디를 띄우기 (사용 방법 정의)
#-------------------------------------------------
# 스크립트 : 비밀소년 / 수정 : 블루레스
#=================================================
class Game_Character
attr_accessor :sprite_id
end
class Sprite_Character < Sprite_Character
def create_id_sprite(text)
bitmap = Bitmap.new(160, 16)
bitmap.font.name = "폰트명입력" # 폰트명
bitmap.font.bold = false # 폰트굵기 (ture, false)
bitmap.font.size = 15
bitmap.font.color.set(0, 0, 0)
bitmap.draw_text(+1, +1, 160, 16, text, 1)
bitmap.font.color.set(255, 255, 255)
bitmap.draw_text(0, 0, 160, 16, text, 1)
@_id_sprite = Sprite.new(self.viewport)
@_id_sprite.bitmap = bitmap
@_id_sprite.ox = 80
@_id_sprite.oy = 14
@_id_sprite.x = self.x
@_id_sprite.y = self.y - self.oy / 2
@_id_sprite.z = 3000
@_id_sprite_visible = true
end
def dispose_id_sprite
@_id_sprite.dispose
@_id_sprite_visible = false
end
def update_id_sprite
if @character.sprite_id != nil
if not @_id_sprite_visible
create_id_sprite(@character.sprite_id)
end
@_id_sprite.x = self.x
@_id_sprite.y = self.y - self.oy
else
if @_id_sprite_visible
dispose_id_sprite
end
end
end
def update
super
update_id_sprite
end
end