VX 스크립트

스테이터스 화면 개조 - 모든 스텟 커스텀.jpg

 

스테이터스 화면에 큰 그림을 표시하는 스크립트를 제가 약간 수정했습니다.

본명(풀네임)을 설정할 수 있으며,

종전과는 달리 명중률, 회피율, 크리티컬 확률까지 표시가 됩니다.

 

혹시 버그가 있으면 덧글 달아주세요.

 

설정할 내용은 스크립트에 전부 포함되어 있습니다.

 

 

 

#==============================================================================
# ☆ 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やスタッフロールの明記,使用報告は任意.
#////////////////////////////////////////////////////////////////

Comment '13'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5453
337 기타 KGC 스크립트 라이브러리 7 훈덕 2009.05.31 2615
336 메뉴 시스템 옵션 스크립트의 사용방법 6 아방스 2009.06.04 2837
335 기타 (좀 이상한 or 쓸모없을 듯 한)화면상에 몬스터와 만나려면 몇걸음 남았는지 표시하는 스크립트! 2 루시페르 2009.06.06 2320
334 기타 던전에 적정 레벨이 어떤건지 스크린에 표시해주는 스크립트! 5 file 루시페르 2009.06.06 2908
333 기타 문장의 스크롤! 13 루시페르 2009.06.06 2525
332 기타 좀 뭐랄까... 어이없는 "비행선 더 높게 날아오르게 하기!"스크립트.... 8 루시페르 2009.06.06 2428
331 기타 적 선택시 스킬창 비표시 + 타겟 플래쉬 7 훈덕 2009.06.14 2097
» 메뉴 스테이터스 화면 개조 - 커스텀 버전 13 file 훈덕 2009.06.15 4935
329 타이틀/게임오버 맵 타이틀 스크립트 48 아방스 2009.06.17 5550
328 전투 카운트배틀 시스템(스크립트 한글살짝번역) 10 file 카르와푸딩의아틀리에 2009.06.17 5521
327 온라인 VX Phoenix 온라인 스크립트 1.3버전 12 아방스 2009.06.18 3488
326 메뉴 전투승리시 아이템 경험치팝업창 스크립트 18 file 카르와푸딩의아틀리에 2009.06.23 3761
325 전투 Requiem ABS 8 - 액션 배틀 시스템 8 36 아방스 2009.06.24 8542
324 전투 ATB전투방식.(사이드뷰X 백발의카임전투방식O) 14 file 이피쿤 2009.06.24 9040
323 메시지 조합한글 21 file 허걱 2009.06.27 4415
322 기타 그림을 각도로 회전시키기 1 허걱 2009.06.30 2331
321 기타 경험치 백분율 계산 2 허걱 2009.06.30 3097
320 직업 서브클래스 선택 시스템 Subclass Selection System 7 file 카르와푸딩의아틀리에 2009.06.30 3952
319 기타 미니게임테트리스 스크립트 ㅋㅋㅋ 27 file 카르와푸딩의아틀리에 2009.06.30 3692
318 기타 시야범위 스크립트 22 file 카르와푸딩의아틀리에 2009.06.30 4027
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 32 Next
/ 32