스테이터스 화면에 큰 그림을 표시하는 스크립트를 제가 약간 수정했습니다.
본명(풀네임)을 설정할 수 있으며,
종전과는 달리 명중률, 회피율, 크리티컬 확률까지 표시가 됩니다.
혹시 버그가 있으면 덧글 달아주세요.
설정할 내용은 스크립트에 전부 포함되어 있습니다.
↓
#==============================================================================
# ☆ Window_Status_profile0 Ver. 1.01 (Custom by LOM)
#------------------------------------------------------------------------------
# 스테이터스 화면에 큰 그림을 표시하며, 더 많은 스텟을 표시해줍니다.
#==============================================================================
#//////////////////////////////////////
#명칭변경
#//////////////////////////////////////
module Vocab
# 스테이터스 화면
ExpTotal = "EXP" # 경험치
ExpNext = "NEXT" # 다음 레벨까지 경험치
end
#//////////////////////////////////////////
#본명(풀네임) 기재 on/off
#0: 통상의 이름 1: 본명(풀네임)으로 기재
#//////////////////////////////////////////
DRAW_ACTOR_STATUS_NAME_ONOFF=1
#//////////////////////////////////////////////////
#본명 설정
#//////////////////////////////////////////////////
DRAW_ACTOR_STATUS_NAME={
0=>"",
1=>"랄프 빈데바르트",
2=>"울리카 아브 바덴",
3=>"도니 죤 베넷트",
4=>"이르바 오크센셰르나",
5=>"",
6=>"오스카 슈타이넬",
7=>"",
8=>"에르마 라자루스",
9=>"",
10=>""
}
#//////////////////////////////////////////////////
#그림 파일명을 설정해주세요.
#설정 방법은:
# Cache.face("그림파일") ===> graphicsface그림파일.png
# Cache.picture("그림파일") ===> graphicspicture그림파일.png
#//////////////////////////////////////////////////
DRAW_ACTOR_STATUS_FACE={
0=>Cache.picture(""),
1=>Cache.picture("Actor1-1"),
2=>Cache.picture("Actor1-4"),
3=>Cache.picture("Actor2-3"),
4=>Cache.picture("Actor2-6"),
5=>Cache.picture(""),
6=>Cache.picture("Evil-5"),
7=>Cache.picture(""),
8=>Cache.picture("Actor3-3"),
9=>Cache.picture(""),
10=>Cache.picture("")
}
#//////////////////////////////////////////////////
#그림의 크기
#//////////////////////////////////////////////////
DRAW_ACTOR_STATUS_FACE_X=272
DRAW_ACTOR_STATUS_FACE_Y=288
#//////////////////////////////////////////////////
#그림의 위치
#//////////////////////////////////////////////////
DRAW_ACTOR_STATUS_FACE_X2=0
DRAW_ACTOR_STATUS_FACE_Y2=78
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# ☆ リフレッシュ <変更>
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_status_class(@actor, 0, 32) #ここ変更:初期は(264, 32)
draw_basic_info(264, 0) #ここ変更:初期は(264, 64)
draw_parameters(264, 108) #ここ変更:初期は(264,172)
draw_exp_info(398, 0) #ここ変更:初期は(398, 64)
draw_equipments(264, 228) #ここ変更:初期は(264,228)
draw_actor_status_face(@actor, DRAW_ACTOR_STATUS_FACE_X2, DRAW_ACTOR_STATUS_FACE_Y2) #ここ新規追加:初期は(272,288)
if DRAW_ACTOR_STATUS_NAME_ONOFF==1
draw_actor_status_name(@actor, 0, 0) #ここ新規追加:初期は(264, 0)
else
draw_actor_name(@actor, 0, 0)
end
end
#--------------------------------------------------------------------------
# ☆ 本名の描画 <新規追加>
# actor : アクター
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_actor_status_name(actor, x, y)
self.contents.font.color = hp_color(actor)
self.contents.draw_text(x, y, 288, WLH, DRAW_ACTOR_STATUS_NAME[actor.id])
end
#--------------------------------------------------------------------------
# ☆ 能力値の描画 <変更>
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_parameters(x, y)
draw_actor_status_parameter(@actor, x, y + WLH * 0, 0)
draw_actor_status_parameter(@actor, x+130, y + WLH * 0, 1)
draw_actor_status_parameter(@actor, x, y + WLH * 1, 2)
draw_actor_status_parameter(@actor, x+130, y + WLH * 1, 3)
###############################################
draw_actor_status_parameter(@actor, x, y + WLH * 2.5, 4)
draw_actor_status_parameter(@actor, x+130, y + WLH * 2.5, 5)
draw_actor_status_parameter(@actor, x, y + WLH * 3.5, 6)
#draw_actor_status_parameter(@actor, x+130, y + WLH * 3.5, 7) # Odds
###############################################
end
#--------------------------------------------------------------------------
# ☆ 経験値情報の描画 <変更>
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_exp_info(x, y)
s1 = @actor.exp_s
s2 = @actor.next_rest_exp_s
s_next = sprintf(Vocab::ExpNext, Vocab::level)
self.contents.font.color = system_color
self.contents.draw_text(x, y + WLH * 0, 90, WLH, Vocab::ExpTotal)
self.contents.draw_text(x, y + WLH * 2, 90, WLH, s_next)
self.contents.font.color = normal_color
self.contents.draw_text(x, y + WLH * 1, 110, WLH, s1, 2)
self.contents.draw_text(x, y + WLH * 3, 110, WLH, s2, 2)
end
#--------------------------------------------------------------------------
# ☆ 能力値の描画 <新規追加>
# actor : アクター
# x : 描画先 X 座標
# y : 描画先 Y 座標
# type : 能力値の種類 (0~3)
#--------------------------------------------------------------------------
def draw_actor_status_parameter(actor, x, y, type)
case type
when 0
parameter_name = Vocab::atk
parameter_value = actor.atk
when 1
parameter_name = Vocab::def
parameter_value = actor.def
when 2
parameter_name = Vocab::spi
parameter_value = actor.spi
when 3
parameter_name = Vocab::agi
parameter_value = actor.agi
############################################
# 파라미터 이름을 설정해주세요
############################################
when 4
parameter_name = "HIT" # 명중률
parameter_value = sprintf("%d%%", @actor.hit)
when 5
parameter_name = "EVA" # 회피율
parameter_value = sprintf("%d%%", @actor.eva)
when 6
parameter_name = "CRI" # 크리티컬
parameter_value = sprintf("%d%%", @actor.cri)
when 7
parameter_name = "Odds" # 이것은 손대지 마세요
parameter_value = @actor.odds
############################################
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 70, WLH, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 80, y, 36, WLH, parameter_value, 2)
end
#--------------------------------------------------------------------------
# ☆ アクターのステータス画面の顔グラフィックの描画 <新規追加>
# face_name : 顔グラフィック ファイル名
# face_index : 顔グラフィック インデックス
# x : 描画先 X 座標
# y : 描画先 Y 座標
# size : 表示サイズ
#--------------------------------------------------------------------------
def draw_actor_status_face(face_name,x, y)
bitmap = DRAW_ACTOR_STATUS_FACE[face_name.id]
rect = Rect.new(0, 0, 0, 0)
rect.x = 0
rect.y = 0
rect.width = DRAW_ACTOR_STATUS_FACE_X
rect.height =DRAW_ACTOR_STATUS_FACE_Y
self.contents.blt(x, y, bitmap, rect)
#bitmap.dispose
end
#--------------------------------------------------------------------------
# ☆ ステータス画面上でクラスの描画 <新規追加> Ver.1.01~
# actor : アクター
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_actor_status_class(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 288, WLH, actor.class.name)
end
end
#////////////////////////////////////////////////////////////////
#作成者:ehime
#http://www.abcoroti.com/~nekoneko/index.html
#readmeやスタッフロールの明記,使用報告は任意.
#////////////////////////////////////////////////////////////////