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 6153
254 기타 횡스크롤 스크립트 한국말 번역. 15 file 백호 2009.02.21 3311
253 기타 회복으로 데미지를 받는 좀비 스크립트 7 백호 2009.02.22 2004
252 기타 홈페이지 띄우기 (VX 상관없음.) 6 KNAVE 2009.08.25 2137
251 기타 현재시간표시 33 file 코아 코스튬 2010.10.09 2529
250 기타 현재 맵BGM을 그대로 전투 BGM으로 연결 from phylomortis.com 백호 2009.02.22 1180
249 기타 한글 입력 스크립트 입니다. (vx -> xp) 23 file 헤르코스 2009.04.18 3397
248 기타 한계 돌파스크립트 8 G MAX 2009.09.03 2206
247 기타 하나더올립니다....하암........이건...렙제라네요 7 벨☆ 2010.01.23 1754
246 기타 필요 경험치 직접 정하기 9 백호 2009.02.21 1408
245 기타 필드에서 체력을 출력합니다. 4 백호 2009.02.22 1737
244 기타 필드에서 마력을 출력합니다. 백호 2009.02.22 983
243 기타 필드에서 경험치%를 표시합니다. 4 file 백호 2009.02.22 1448
242 기타 플레이어 발소리 스크립트 20 백호 2009.02.22 3107
241 기타 프리 윈도우 스크립트 (상입오두막 출처) 6 백호 2009.02.21 1449
240 기타 프레임 적용 스크립트 1 file 백호 2009.02.21 1007
239 기타 풀스크린 스크립트 2 백호 2009.02.22 1407
238 기타 폰트 자동 설치 스크립트 12 file 백호 2009.02.22 2865
237 기타 포커(Blackjack) 게임을 도입하는 스크립트 5 file 백호 2009.02.21 1674
236 기타 파노라마 스크롤 스크립트 개량판 by Guillaume777 1 백호 2009.02.22 896
235 기타 특수효과 ElseEX 스크립트 file 백호 2009.02.21 995
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13