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 기타 (T-RPG) 데미지 표시 시의 폰트를 설정 백호 2009.02.22 1348
253 기타 3d 렌더링스크립트 어렵게 찾음 9 라구나 2011.03.05 3610
252 기타 3D스크립트 48 file ok하승헌 2010.02.18 3808
251 기타 4방향 마우스 스크립트 12 file 아방스 2009.02.28 2662
250 기타 8방향 마우스 스크립트 10 file 아방스 2009.02.28 4063
249 기타 ABS 몬스터 HP 게이지 바 11 백호 2009.02.22 2485
248 기타 Activation_system file 백호 2009.02.22 775
247 기타 Advanced Gold display by Dubealex 1 백호 2009.02.22 761
246 기타 Advanced Gold Display by Dubealex (돈 액수를 세자리씩 끊어 표기) 2 Alkaid 2010.11.18 1559
245 기타 Advanced Weather System (AWS) 3 file 백호 2009.02.22 1272
244 기타 AMS-Advanced Message Script Edited by Dubleax 3 file 백호 2009.02.21 765
243 기타 AMS___Advanced_Message_Script 1 file 백호 2009.02.22 889
242 기타 Anti Event Lag Script 3 백호 2009.02.21 1057
241 기타 appletree님 요청) 화면 명암 주기 3 file 뮤바보 2013.01.31 2724
240 기타 ATS-Advanced Time System 1 file 백호 2009.02.21 964
239 기타 Boat Script 백호 2009.02.21 729
238 기타 Book Event v2 by Bruth 5 백호 2009.02.22 1694
237 기타 CG그림 감상 스크립트 file 백호 2009.02.21 1735
236 기타 CG모드 도입 스크립트 file 백호 2009.02.21 1383
235 기타 Chaos Project Debug System 1.06b by Blizzard file Alkaid 2010.09.07 1367
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13