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 5398
637 전투 VLAD ABS [액알 시스템] 65 아방스 2009.01.07 12563
636 전투 vampyr SBABS-Requiem ABS 9(액알) 101 file 담먹캐 2009.11.01 12000
635 HUD rpg 만들기 vx - 맵이름 띠우는 스크립트 ^^ 74 아방스 2008.01.27 11920
634 HUD PRABS v1.0 [hud,주석액알,원거리공격,hotkeys,vx] 대박감이다. 47 유칸지 2008.08.13 11114
633 전투 사이드뷰배틀3.3 + ATB1.1 스크립트. 65 할렘 2009.02.01 10945
632 전투 ORBS [새로운 전투 방식] 48 file 아방스 2009.03.04 10208
631 그래픽 3D그래픽 파티클엔진 45 file RPGbooster 2008.10.08 10130
630 전투 rpgvx 간단액알 스크립트 제작: 41 *PS 2008.02.07 9821
629 메뉴 (모그메뉴 풀세트팩 SEL Style.) 유니크급 자료 147 file 할렘 2009.02.07 9558
628 전투 RPG Tankentai SBS 3.3 + ATB Kaduki Eng 58 아방스 2009.02.05 9071
627 전투 ATB전투방식.(사이드뷰X 백발의카임전투방식O) 14 file 이피쿤 2009.06.24 9035
626 메뉴 일본에서 만든 멋있는메뉴변경 스크립트 (한글 VX에서 쓰시면 자동으로 바뀜) 45 유칸지 2008.04.09 8861
625 전투 WGB배틀 시스템. 59 file 카르와푸딩의아틀리에 2009.06.30 8776
624 전투 Crissaegrim ABS 2.0.5 최신 48 file RPGbooster 2008.10.08 8765
623 전투 Requiem ABS 8 - 액션 배틀 시스템 8 36 아방스 2009.06.24 8540
622 전투 RPGTankentai SBS3.3b 버전 (사이드뷰) 21 file 카르와푸딩의아틀리에 2009.07.01 8455
621 전투 사이드뷰 스크립트 [2003 전투 방식] 39 아방스 2008.03.09 8406
620 맵/타일 RPG 만들기 VX 로 구현한 3D~ 42 아방스 2008.09.02 8405
619 메뉴 메뉴변경 스크립트 34 아방스 2008.01.24 7937
618 전투 PRABS 2.0 액션배틀시스템 58 file RPGbooster 2008.10.08 7572
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32