#==============================================================================
# ++ 스테이터스 표시 플러스 ver. 1.00 ++
# Script by 파라개
# http://para.j-mx.com/
#------------------------------------------------------------------------------
# [기능1] 스테이터스 화면의 액터명을 풀네임으로 표시
# [기능2] 스테이터스 화면의 그래픽을 변경
# [기능3] 클래스명을 비표시
#------------------------------------------------------------------------------
# [그래픽의 종류 「픽처」의 사용법]
# 「Graphics/Pictures」폴더에, 액터 그래픽과 동명의 화상 파일을
# 임포트 합니다.
# 「보행 그래픽에 의존」의 경우는 보행 그래픽명이,
# 「버틀러에 의존」의 경우는 버틀러 그래픽명이
# 픽처의 파일명이 됩니다.
#==============================================================================
module PARA_STSW
# 액터의 풀네임(서식은 FULLNAME[ 액터ID ] = "이름")
FULLNAME=[]#이 행은 지우지 말아 주세요
FULLNAME[1] = "아르시스=못체리노"
FULLNAME[2] = "“타와시두의 프린스”바질"
# 그래픽의 종류
#( 0:보행 그래픽 / 1:버틀러 그래픽 /
# 2:픽처(보행 그래픽에 의존) / 3:픽처(버틀러에 의존) )
STATUS_GRAPHIC_TYPE = 1
# 문자 위치를 옆에 늦춘다
# (픽처의 사이즈가 너무 커서 문자와 겹칠 때 설정.0그리고 초기 위치)
STATUS_SHIFT = 32
# 클래스명을 비표시(? true / false )
DRAW_SKIP_CLASS = false
end
# ↑ 설정 항목 여기까지
#------------------------------------------------------------------------------
#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# ● 리프레쉬
#--------------------------------------------------------------------------
alias refresh_para_stsw refresh
def refresh
@draw_skip_graphic = true
@draw_skip_name = true
@draw_skip_class = true
refresh_para_stsw
# 상세 스테이터스의 문자 위치를 옆에 늦추는
if PARA_STSW::STATUS_SHIFT != 0
@status_sprite = Sprite.new
@status_sprite.x = 16 + PARA_STSW::STATUS_SHIFT
@status_sprite.y = 16
@status_sprite.z = self.z + 1
@status_sprite.bitmap = self.contents.dup
self.contents.clear
end
# 그래픽을 묘화
@draw_skip_graphic = false
case PARA_STSW::STATUS_GRAPHIC_TYPE
when 0
draw_actor_graphic(@actor, 40, 112)
when 1
draw_battler_graphic_para(@actor, 0, 40)
when 2
draw_actor_picture_para(@actor, 0, 40)
when 3
draw_battler_picture_para(@actor, 0, 40)
end
# 액터의 이름을 묘화
@draw_skip_name = false
@draw_skip_class = PARA_STSW::DRAW_SKIP_CLASS
if PARA_STSW::FULLNAME[@actor.id] != nil
self.contents.draw_text(4, 0, 260, 32, PARA_STSW::FULLNAME[@actor.id])
draw_actor_class(@actor, 4 + 284, 0)
else
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
end
end
#--------------------------------------------------------------------------
# ○ 파기
#--------------------------------------------------------------------------
alias dispose_para_stsw dispose
def dispose
dispose_para_stsw
if @status_sprite != nil
@status_sprite.dispose
end
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias initialize_para_stsw initialize
def initialize(x, y, width, height)
initialize_para_stsw(x, y, width, height)
@draw_skip_graphic = false
@draw_skip_name = false
@draw_skip_class = PARA_STSW::DRAW_SKIP_CLASS
end
#--------------------------------------------------------------------------
# ● 그래픽의 묘화
#--------------------------------------------------------------------------
alias draw_actor_graphic_para_stsw draw_actor_graphic
def draw_actor_graphic(actor, x, y)
if !(@draw_skip_graphic)
draw_actor_graphic_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ● 이름의 묘화
#--------------------------------------------------------------------------
alias draw_actor_name_para_stsw draw_actor_name
def draw_actor_name(actor, x, y)
if !(@draw_skip_name)
draw_actor_name_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ● 클래스의 묘화
#--------------------------------------------------------------------------
alias draw_actor_class_para_stsw draw_actor_class
def draw_actor_class(actor, x, y)
if !(@draw_skip_class)
draw_actor_class_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ○ 버틀러 그래픽의 묘화
#--------------------------------------------------------------------------
def draw_battler_graphic_para(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ○ 픽처의 묘화(액터)
#--------------------------------------------------------------------------
def draw_actor_picture_para(actor, x, y)
bitmap = RPG::Cache.picture(actor.character_name)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ○ 픽처의 묘화(버틀러)
#--------------------------------------------------------------------------
def draw_battler_picture_para(actor, x, y)
bitmap = RPG::Cache.picture(actor.battler_name)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
end
출처:http://para.j-mx.com/
# ++ 스테이터스 표시 플러스 ver. 1.00 ++
# Script by 파라개
# http://para.j-mx.com/
#------------------------------------------------------------------------------
# [기능1] 스테이터스 화면의 액터명을 풀네임으로 표시
# [기능2] 스테이터스 화면의 그래픽을 변경
# [기능3] 클래스명을 비표시
#------------------------------------------------------------------------------
# [그래픽의 종류 「픽처」의 사용법]
# 「Graphics/Pictures」폴더에, 액터 그래픽과 동명의 화상 파일을
# 임포트 합니다.
# 「보행 그래픽에 의존」의 경우는 보행 그래픽명이,
# 「버틀러에 의존」의 경우는 버틀러 그래픽명이
# 픽처의 파일명이 됩니다.
#==============================================================================
module PARA_STSW
# 액터의 풀네임(서식은 FULLNAME[ 액터ID ] = "이름")
FULLNAME=[]#이 행은 지우지 말아 주세요
FULLNAME[1] = "아르시스=못체리노"
FULLNAME[2] = "“타와시두의 프린스”바질"
# 그래픽의 종류
#( 0:보행 그래픽 / 1:버틀러 그래픽 /
# 2:픽처(보행 그래픽에 의존) / 3:픽처(버틀러에 의존) )
STATUS_GRAPHIC_TYPE = 1
# 문자 위치를 옆에 늦춘다
# (픽처의 사이즈가 너무 커서 문자와 겹칠 때 설정.0그리고 초기 위치)
STATUS_SHIFT = 32
# 클래스명을 비표시(? true / false )
DRAW_SKIP_CLASS = false
end
# ↑ 설정 항목 여기까지
#------------------------------------------------------------------------------
#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# ● 리프레쉬
#--------------------------------------------------------------------------
alias refresh_para_stsw refresh
def refresh
@draw_skip_graphic = true
@draw_skip_name = true
@draw_skip_class = true
refresh_para_stsw
# 상세 스테이터스의 문자 위치를 옆에 늦추는
if PARA_STSW::STATUS_SHIFT != 0
@status_sprite = Sprite.new
@status_sprite.x = 16 + PARA_STSW::STATUS_SHIFT
@status_sprite.y = 16
@status_sprite.z = self.z + 1
@status_sprite.bitmap = self.contents.dup
self.contents.clear
end
# 그래픽을 묘화
@draw_skip_graphic = false
case PARA_STSW::STATUS_GRAPHIC_TYPE
when 0
draw_actor_graphic(@actor, 40, 112)
when 1
draw_battler_graphic_para(@actor, 0, 40)
when 2
draw_actor_picture_para(@actor, 0, 40)
when 3
draw_battler_picture_para(@actor, 0, 40)
end
# 액터의 이름을 묘화
@draw_skip_name = false
@draw_skip_class = PARA_STSW::DRAW_SKIP_CLASS
if PARA_STSW::FULLNAME[@actor.id] != nil
self.contents.draw_text(4, 0, 260, 32, PARA_STSW::FULLNAME[@actor.id])
draw_actor_class(@actor, 4 + 284, 0)
else
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
end
end
#--------------------------------------------------------------------------
# ○ 파기
#--------------------------------------------------------------------------
alias dispose_para_stsw dispose
def dispose
dispose_para_stsw
if @status_sprite != nil
@status_sprite.dispose
end
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias initialize_para_stsw initialize
def initialize(x, y, width, height)
initialize_para_stsw(x, y, width, height)
@draw_skip_graphic = false
@draw_skip_name = false
@draw_skip_class = PARA_STSW::DRAW_SKIP_CLASS
end
#--------------------------------------------------------------------------
# ● 그래픽의 묘화
#--------------------------------------------------------------------------
alias draw_actor_graphic_para_stsw draw_actor_graphic
def draw_actor_graphic(actor, x, y)
if !(@draw_skip_graphic)
draw_actor_graphic_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ● 이름의 묘화
#--------------------------------------------------------------------------
alias draw_actor_name_para_stsw draw_actor_name
def draw_actor_name(actor, x, y)
if !(@draw_skip_name)
draw_actor_name_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ● 클래스의 묘화
#--------------------------------------------------------------------------
alias draw_actor_class_para_stsw draw_actor_class
def draw_actor_class(actor, x, y)
if !(@draw_skip_class)
draw_actor_class_para_stsw(actor, x, y)
end
end
#--------------------------------------------------------------------------
# ○ 버틀러 그래픽의 묘화
#--------------------------------------------------------------------------
def draw_battler_graphic_para(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ○ 픽처의 묘화(액터)
#--------------------------------------------------------------------------
def draw_actor_picture_para(actor, x, y)
bitmap = RPG::Cache.picture(actor.character_name)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
#--------------------------------------------------------------------------
# ○ 픽처의 묘화(버틀러)
#--------------------------------------------------------------------------
def draw_battler_picture_para(actor, x, y)
bitmap = RPG::Cache.picture(actor.battler_name)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
end
출처:http://para.j-mx.com/