XP 스크립트

스테이터스 화면에서 C 를 누르면 자기가 적은 케릭터소개가 나옵니다 ^^

맨 밑에 스샷 있어용 ~ 자기가 수정하고 싶은곳을 수정하면 됩니다

스토리 게임 만들때 좋겟죠 ㅎㅎ/

 

▼▼▼▼ 스크립트 ▼▼▼▼

#==============================================================================
# ■ 캐릭터 소개 Ver.1.3.0 by Claimh
#------------------------------------------------------------------------------
#  스테이터스 화면시에 어떠한 버튼을 누르는 것으로
#  각 캐릭터의 상세 설명 화면을 표시할 수 있습니다.
#  버튼은HELP 의Input (을)를 보고, 확인해 주세요
#  표준에서는, 캐릭터의 연령, 출신지, 신장, 체중
#  그 외의 문장 설명을 대응하고 있습니다
#  이외에 추가하고 싶은 경우는, 개조해 주세요
# 출처 : 십자군의 RPG 세상
#==============================================================================

module Chara_Review
#----------------------------------------------------------------------------
#   커스터마이즈 START
#----------------------------------------------------------------------------
  # 캐릭터 소개로 전환하는 버튼( 디폴트:C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # 연령(액터ID 의 순서에 넣어 가 주세요)
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # 액터ID => "나이"
     1 => "??",
     2 => "??",
     3 => "??",
     4 => "??",
     5 => "??",
     6 => "??",
     7 => "??",
     8 => "??"
  }
  #--------------------------------------------------------------------------
  # ● 출신지
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # 액터ID => "출신지"
     1 => "??",
     2 => "??",
     3 => "??",
     4 => "??",
     5 => "??",
     6 => "??",
     7 => "??",
     8 => "??"
  }
  #--------------------------------------------------------------------------
  # ● 신장
  #--------------------------------------------------------------------------
  CHARA_H = {
   # 액터ID => " 신장"
     1 => "??",
     2 => "??",
     3 => "??",
     4 => "??",
     5 => "??",
     6 => "??",
     7 => "??",
     8 => "??"
  }
  #--------------------------------------------------------------------------
  # ● 체중
  #--------------------------------------------------------------------------
  CHARA_W = {
   # 액터ID => " 체중"
     1 => "??",
     2 => "??",
     3 => "??",
     4 => "??",
     5 => "??",
     6 => "??",
     7 => "??",
     8 => "??"
  }
  #--------------------------------------------------------------------------
  # ● 그 외 문장(n 을 넣으면 개행합니다)
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # 액터ID 1
    1 => "이곳에 내용 적으세요",
    # 액터ID 2
    2 => "이곳에 내용 적으세요",
    # 액터ID 3
    3 => "이곳에 내용 적으세요",
    # 액터ID 4
    4 => "이곳에 내용 적으세요",
    # 액터ID 5
    5 => "이곳에 내용 적으세요",
    # 액터ID 6
    6 => "이곳에 내용 적으세요",
    # 액터ID 7
    7 => "이곳에 내용 적으세요",
    # 액터ID 8
    8 => "이곳에 내용 적으세요"
  }

#----------------------------------------------------------------------------
#   커스터마이즈END
#----------------------------------------------------------------------------
end


#==============================================================================
# ■ Window_Charactor
#------------------------------------------------------------------------------
# ■ 캐릭터 소개 화면
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #     actor : 액터
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    draw_battler_graphics(actor, 100, 200)
    self.contents.font.color = system_color
    self.contents.draw_text(250, 10, 80, 32, "이름 : ")
    self.contents.draw_text(250, 50, 80, 32, "나이 : ")
    self.contents.draw_text(250, 90, 80, 32, "출신지 : ")
    self.contents.draw_text(250, 130, 80, 32, "신장 : ")
    self.contents.draw_text(250, 170, 80, 32, "체중 : ")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 350, 10)
    self.contents.draw_text(350, 50, 80, 32, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(350, 90, 180, 32, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(350, 130 , 200, 32, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(350, 170, 250, 32, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(50, 250, 600, 32, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 버틀러 그래픽의 묘화
  #--------------------------------------------------------------------------
  def draw_battler_graphics(actor, x, y)
    battler = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    w = battler.width
    h = battler.height
    self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h))
  end
  #--------------------------------------------------------------------------
  # ● 개행을 인식해 표시
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*32, width, 32, info_box[i])
      break if (y+i*32) > (self.height-32)
    end
  end
end


#==============================================================================
# ■ Scene_Charactor
#------------------------------------------------------------------------------
# 캐릭터 소개 화면의 처리를 실시하는 클래스입니다.
#==============================================================================

class Scene_Charactor
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #     actor_index : 액터 인덱스
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  def main
    # 액터를 취득
    @actor = $game_party.actors[@actor_index]
    # 스테이터스 윈도우를 작성
    @status_window = Window_Charactor.new(@actor)
    # 트란지션 실행
    Graphics.transition
    # 메인 루프
    loop do
      # 게임 화면을 갱신
      Graphics.update
      # 입력 정보를 갱신
      Input.update
      # 프레임 갱신
      update
      # 화면이 바뀌면 루프를 중단
      if $scene != self
        break
      end
    end
    # 트란지션 준비
    Graphics.freeze
    # 윈도우를 해방
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
      # 캔슬 SE (을)를 연주
      $game_system.se_play($data_system.cancel_se)
      # 메뉴 화면으로 전환해
      $scene = Scene_Menu.new(3)
      return
    end
    # R 버튼이 밀렸을 경우
    if Input.trigger?(Input::R)
      # 커서 SE (을)를 연주
      $game_system.se_play($data_system.cursor_se)
      # 다음의 액터에게
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      # 다른 캐릭터 소개 화면으로 전환해
      @status_window.refresh($game_party.actors[@actor_index])
      return
    end
    # L 버튼이 밀렸을 경우
    if Input.trigger?(Input::L)
      # 커서 SE (을)를 연주
      $game_system.se_play($data_system.cursor_se)
      # 전의 액터에게
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      # 다른 캐릭터 소개 화면으로 전환해
      @status_window.refresh($game_party.actors[@actor_index])
      return
    end
  end
end


#==============================================================================
# ■ Scene_Status
#------------------------------------------------------------------------------
# 결정 버튼으로 캐릭터 소개 화면에
#==============================================================================

class Scene_Status
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      # # 결정 SE (을)를 연주
      $game_system.se_play($data_system.decision_se)
      # 캐릭터 소개 화면으로 전환해
      $scene = Scene_Charactor.new(@actor_index)
      return
    end
    update_chara
  end
end

Comment '22'
  • ?
    21stcentury 2008.10.06 15:26
    XP전용이네...
  • ?
    Man... 2008.10.29 18:42
    VX도 되나요?
    (예상 대답: 아니요)
  • profile
    NewSet 2008.11.05 15:40
    아니요
  • ?
    큐트이브 2008.12.06 21:19
    왜 사용이 불가능 하나요?
    비슷한것 같은데
  • ?
    독도2005 2008.11.06 21:40
    정답 : 아니오
    이 스크립트는 RPGXP용 스크립트 입니다.
    RPGVX에서는 사용이 불가능 합니다.
  • ?
    큐트이브 2008.12.06 21:20
    ... HP,SP도 보이나요?
  • ?
    레핀 2009.01.14 13:58
    이거 유용하네요 ^^  감사합니다~
  • ?
    키라링 2009.01.18 22:29
    ㅎㅎ
  • ?
    RJ 2009.04.26 16:29
    저는 vx쓰지만 좋은 정보 인듯
  • ?
    파란제비 2009.10.24 15:33
    오올... 좋아보이는걸여 ㅋㅋㅋ
  • ?
    펩시-굿 2009.10.24 17:59
    오오 글은 많지만 알기 쉬워서 금방 알아봄ㅎ
  • ?
    만득이 2010.01.21 21:27

    잘쓰겟습니다..

  • ?
    白月のはる 2010.03.19 20:33

    나한테는 아직 쓸때가없어보이는군 ㅠㅠ;

  • ?
    亞진리亞 2010.05.30 12:54

    설명창 들어가는방법이 ;;;;

  • ?
    놀고싶어라 2010.06.16 21:32

    감사..

  • ?
    놀고싶어라 2010.06.16 21:40

    근데 안되네... xp인데..

  • ?
    콩밥 2010.07.12 19:15

    뭔가좀 밋밋한느낌이;;

  • ?
    쵸쵸 2010.08.12 13:10

    왜 에러가 나는걸까요///

  • ?
    ★coco★ 2010.08.29 21:22

    ㄷㄷ;;좋은거가튼데

  • ?
    핵타루 2010.09.17 17:34

    우아 좋아보인다;;

  • ?
    David:) 2011.07.30 21:55

    좋네요 ㅎㅎ :)

  • profile
    책벌레공상가 2013.05.17 12:18
    C로 눌러서 전환할 거 없이 아예 처음부터 스테이터스 화면에서 캐릭터 소개를 나오게 하고 싶다면
    [Windows_Status]를 다음과 같이 바꾸고

    #==============================================================================
    # ■ 캐릭터 소개 Ver.1.3.0 by Claimh
    #------------------------------------------------------------------------------
    # 스테이터스 화면시에 어떠한 버튼을 누르는 것으로
    # 각 캐릭터의 상세 설명 화면을 표시할 수 있습니다.
    # 버튼은HELP 의Input (을)를 보고, 확인해 주세요
    # 표준에서는, 캐릭터의 연령, 출신지, 신장, 체중
    # 그 외의 문장 설명을 대응하고 있습니다
    # 이외에 추가하고 싶은 경우는, 개조해 주세요
    # 출처 : 십자군의 RPG 세상
    #==============================================================================

    module Chara_Review
    #----------------------------------------------------------------------------
    # 커스터마이즈 START
    #----------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    # 연령(액터ID 의 순서에 넣어 가 주세요)
    #--------------------------------------------------------------------------
    CHARA_AGE = {
    # 액터ID => "나이"
    1 => "??",
    2 => "??",
    3 => "??",
    4 => "??",
    5 => "??",
    6 => "??",
    7 => "??",
    8 => "??"
    }
    #--------------------------------------------------------------------------
    # ● 출신지
    #--------------------------------------------------------------------------
    CHARA_FROM = {
    # 액터ID => "출신지"
    1 => "??",
    2 => "??",
    3 => "??",
    4 => "??",
    5 => "??",
    6 => "??",
    7 => "??",
    8 => "??"
    }
    #--------------------------------------------------------------------------
    # ● 신장
    #--------------------------------------------------------------------------
    CHARA_H = {
    # 액터ID => " 신장"
    1 => "??",
    2 => "??",
    3 => "??",
    4 => "??",
    5 => "??",
    6 => "??",
    7 => "??",
    8 => "??"
    }
    #--------------------------------------------------------------------------
    # ● 체중
    #--------------------------------------------------------------------------
    CHARA_W = {
    # 액터ID => " 체중"
    1 => "??",
    2 => "??",
    3 => "??",
    4 => "??",
    5 => "??",
    6 => "??",
    7 => "??",
    8 => "??"
    }
    #--------------------------------------------------------------------------
    # ● 그 외 문장(n 을 넣으면 개행합니다)
    #--------------------------------------------------------------------------
    CHARA_INFO = {
    # 액터ID 1
    1 => "이곳에 내용 적으세요",
    # 액터ID 2
    2 => "이곳에 내용 적으세요",
    # 액터ID 3
    3 => "이곳에 내용 적으세요",
    # 액터ID 4
    4 => "이곳에 내용 적으세요",
    # 액터ID 5
    5 => "이곳에 내용 적으세요",
    # 액터ID 6
    6 => "이곳에 내용 적으세요",
    # 액터ID 7
    7 => "이곳에 내용 적으세요",
    # 액터ID 8
    8 => "이곳에 내용 적으세요"
    }

    #----------------------------------------------------------------------------
    # 커스터마이즈END
    #----------------------------------------------------------------------------
    end

    #==============================================================================
    # ■ Window_Charactor
    #------------------------------------------------------------------------------
    # ■ 캐릭터 소개 화면
    #==============================================================================
    class Window_Charactor < Window_Base
    #--------------------------------------------------------------------------
    # ● 오브젝트 초기화
    # actor : 액터
    #--------------------------------------------------------------------------
    def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
    end
    #--------------------------------------------------------------------------
    # ● 리프레쉬
    #--------------------------------------------------------------------------
    def refresh(actor)
    self.contents.clear
    return if actor.nil?
    draw_battler_graphics(actor, 100, 200)
    self.contents.font.color = system_color
    self.contents.draw_text(250, 10, 80, 32, "이름 : ")
    self.contents.draw_text(250, 50, 80, 32, "생일 : ")
    self.contents.draw_text(250, 90, 80, 32, "학년 : ")
    self.contents.draw_text(250, 130, 80, 32, "신장 : ")
    self.contents.draw_text(250, 170, 80, 32, "체중 : ")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 350, 10)
    self.contents.draw_text(350, 50, 80, 32, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(350, 90, 180, 32, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(350, 130 , 200, 32, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(350, 170, 250, 32, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(50, 250, 600, 32, Chara_Review::CHARA_INFO[actor.id])
    end
    end

    class Window_Base < Window
    #--------------------------------------------------------------------------
    # ● 버틀러 그래픽의 묘화
    #--------------------------------------------------------------------------
    def draw_battler_graphics(actor, x, y)
    battler = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    w = battler.width
    h = battler.height
    self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h))
    end
    #--------------------------------------------------------------------------
    # ● 개행을 인식해 표시
    #--------------------------------------------------------------------------
    def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/n/)
    for i in 0...info_box.size
    self.contents.draw_text( x, y+i*32, width, 32, info_box[i])
    break if (y+i*32) > (self.height-32)
    end
    end
    end


    [Scene_Status]의 21~22번째 줄을

    # 스테이터스 윈도우를 작성
    @status_window = Window_Charactor.new(@actor)

    위와 같이 변경해 주세요~

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6312
81 상태/속성 Cool Edited Status Screen. 10 아방스 2009.01.12 2433
80 메뉴 파이널 판타지 7 스타일 메뉴 7 아방스 2009.01.12 3241
79 메뉴 자세한 캐릭터 정보표시 스크립트 버전2 5 아방스 2009.01.12 2330
78 메뉴 자세항 개인 상태화면 8 아방스 2009.01.12 2365
77 [자작]일괄조작 관련 스크립트 5 나뚜루 2009.01.10 1913
76 타이틀/게임오버 타이틀 전에 로고 띄우기, 홈피 띄우기, 메일 보내기 13 file 유아 2009.01.09 3558
75 온라인 Mr.Metring NPE 1.0 [RPG XP 온라인 스크립트] 35 아방스 2009.01.07 6538
74 전투 xas히어로에디션 3.4 14 ps인간 2009.01.04 4044
73 온라인 채팅 가능 온라인 스크립트 배포 107 file 아방스 2009.01.03 10687
72 상점 ▼▲▼ XRXS36. 숍·변동시장 ▼▲▼ (시세) 8 D.S.Y 2008.12.09 2025
71 이름입력 대화창에 얼굴, 이름 띄우기 37 킬라롯 2008.11.09 7502
70 HUD HP과 SP 바 19 Man... 2008.11.04 4540
» 기타 캐릭터 소개 화면 22 file 독도2005 2008.10.05 4106
68 전투 전투불능 케릭터 강제삭제 7 독도2005 2008.10.05 1918
67 메뉴 링메뉴 New 9 sdjfl465 2008.09.27 2862
66 테두리 글자 & 그림자 글자 12 아방스 2008.09.19 2643
65 스크립트를 배우시기 전에..... 5 독도2005 2008.08.31 2328
64 Fog of War 4 file 실마릴 2008.06.19 2499
63 메뉴 링 메뉴 소지금,플레이시간 추가 버젼 17 Neowitch* 2008.04.20 3026
62 메뉴 링 메뉴 16 Neowitch* 2008.04.18 3479
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Next
/ 52