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
941 아이템 SG_Hide free item cose by sandgolem (SDK호환) 백호 2009.02.22 935
940 전투 S.G DamageShield Script 백호 2009.02.22 935
939 오디오 WinAMP 플러그인을 이용하여 RMXP에서 다른 사운드포맷 지원하기 v3 by Guillame777@rmxp.net 백호 2009.02.22 936
938 기타 Text Scroll by Dubealex (Release 3) 2 file 백호 2009.02.22 939
937 메뉴 1-Scene CMS 1.1 by LegACy@rmxp.org (SDK호환) file 백호 2009.02.22 953
936 기타 [All RGSS] File-Ex file Cheapmunk 2014.12.29 961
935 파티 Party & Class Changing script 1 file 백호 2009.02.21 962
934 키입력 Mouse Input Module v5 by Near Fantastica (SDK호환) 2 백호 2009.02.22 962
933 기타 ATS-Advanced Time System 1 file 백호 2009.02.21 964
932 저장 SG_Automatic Save 백호 2009.02.22 970
931 스킬 랜덤 스킬 스크립트 2 file 백호 2009.02.21 978
930 메뉴 Event Spawner 1 file 백호 2009.02.22 980
929 기타 필드에서 마력을 출력합니다. 백호 2009.02.22 983
928 그래픽 Bitmap update 2.0 by Linkin_T 1 백호 2009.02.22 985
927 기타 Tetris Attack by trickster 1 file 백호 2009.02.22 986
926 기타 스크롤되는 파노라마(Autoscrolling Panorama) by RPG Advocate 백호 2009.02.22 993
925 기타 특수효과 ElseEX 스크립트 file 백호 2009.02.21 995
924 키입력 No F1, F12 and Alt+Return (Kein F1, F12 und Alt+Eingabe) by cremno 습작 2013.04.19 995
923 맵/타일 Map Loop Script 백호 2009.02.21 999
922 기타 Free Window Demo 1 file 백호 2009.02.22 1002
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52