VX 스크립트

#==============================================================================
# ■ Window_NameInput
#------------------------------------------------------------------------------
#  이름 입력 화면에서, 문자를 선택하는 윈도우입니다.
#==============================================================================

class Window_NameInput < Window_Base
  #--------------------------------------------------------------------------
  # ● 문자표
  #--------------------------------------------------------------------------
  HIRAGANA = [ '가','갸','거','겨','고',  '교','구','규','그','기',
               '냐','냐','너','녀','노',  '뇨','누','뉴','느','니',
               '다','댜','더','뎌','도',  '됴','두','듀','드','디',
               '라','랴','러','려','로',  '료','루','류','르','리',
               '마','먀','머','며','모',  '묘','무','뮤','므','미',
               '바','뱌','버','벼','보',  '뵤','부','뷰','브','비',
               '사','샤','서','셔','소',  '쇼','수','슈','스','시',
               '아','야','어','여','오',  '요','우','유','으','이',
               '자','쟈','저','져','조',  '죠','주','쥬','next','OK']
  KATAKANA = [ '차','챠','처','쳐','초',    '쵸','추','츄','츠','치',
               '카','캬','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']
   hangul =  [ '레','시','온','의','한', '글','화','방','스','에',
               '올','림','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']             
  TABLE = [HIRAGANA, KATAKANA, hangul]
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #     mode : 초기 입력 모드 (0 = 히라가나, 1 = 카타카나)
  #--------------------------------------------------------------------------
  def initialize(mode = 0)
    super(88, 148, 368, 248)
    @mode = mode
    @index = 0
    refresh
    update_cursor
  end
  #--------------------------------------------------------------------------
  # ● 문자의 취득
  #--------------------------------------------------------------------------
  def character
    if @index < 88
      return TABLE[@mode][@index]
    else
      return ""
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서 위치 모드 변환 판정 (히라가나/카타카나)
  #--------------------------------------------------------------------------
  def is_mode_change
    return (@index == 88)
  end
  #--------------------------------------------------------------------------
  # ● 커서 위치 결정 판정
  #--------------------------------------------------------------------------
  def is_decision
    return (@index == 89)
  end
  #--------------------------------------------------------------------------
  # ● 항목을 묘화 하는 구형의 취득
  #     index : 항목 번호
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = index % 10 * 32 + index % 10 / 5 * 16
    rect.y = index / 10 * WLH
    rect.width = 32
    rect.height = WLH
    return rect
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0..89
      rect = item_rect(i)
      rect.x += 2
      rect.width -= 4
      self.contents.draw_text(rect, TABLE[@mode][i], 1)
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서의 갱신
  #--------------------------------------------------------------------------
  def update_cursor
    self.cursor_rect = item_rect(@index)
  end
  #--------------------------------------------------------------------------
  # ● 커서를 아래에 이동
  #     wrap : rack-around 허가
  #--------------------------------------------------------------------------
  def cursor_down(wrap)
    if @index < 80
      @index += 10
    elsif wrap
      @index -= 80
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서를 위에 이동
  #     wrap : rack-around 허가
  #--------------------------------------------------------------------------
  def cursor_up(wrap)
    if @index >= 10
      @index -= 10
    elsif wrap
      @index += 80
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서를 오른쪽으로 이동
  #     wrap : rack-around 허가
  #--------------------------------------------------------------------------
  def cursor_right(wrap)
    if @index % 10 < 9
      @index += 1
    elsif wrap
      @index -= 9
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서를 왼쪽으로 이동
  #     wrap : rack-around 허가
  #--------------------------------------------------------------------------
  def cursor_left(wrap)
    if @index % 10 > 0
      @index -= 1
    elsif wrap
      @index += 9
    end
  end
  #--------------------------------------------------------------------------
  # ● 커서를 결정에 이동
  #--------------------------------------------------------------------------
  def cursor_to_decision
    @index = 89
  end
  #--------------------------------------------------------------------------
  # ● 다음의 페이지로 이동
  #--------------------------------------------------------------------------
  def cursor_pagedown
    @mode = (@mode + 1) % TABLE.size
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 전의 페이지로 이동
  #--------------------------------------------------------------------------
  def cursor_pageup
    @mode = (@mode + TABLE.size - 1) % TABLE.size
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    super
    last_mode = @mode
    last_index = @index
    if Input.repeat?(Input::DOWN)
      cursor_down(Input.trigger?(Input::DOWN))
    end
    if Input.repeat?(Input::UP)
      cursor_up(Input.trigger?(Input::UP))
    end
    if Input.repeat?(Input::RIGHT)
      cursor_right(Input.trigger?(Input::RIGHT))
    end
    if Input.repeat?(Input::LEFT)
      cursor_left(Input.trigger?(Input::LEFT))
    end
    if Input.trigger?(Input::A)
      cursor_to_decision
    end
    if Input.trigger?(Input::R)
      cursor_pagedown
    end
    if Input.trigger?(Input::L)
      cursor_pageup
    end
    if Input.trigger?(Input::C) and is_mode_change
      cursor_pagedown
    end
    if @index != last_index or @mode != last_mode
      Sound.play_cursor
    end
    update_cursor
  end
end


=======================================================================================================
위에 제가 편집한 스크립트를 사용하시려면 아래와 같이 하여주시기 바랍니다.

아마 rpg vx를 최신 버전으로 업그레이드 시키셨다면,  스크립트에서 ' 소재'부분에 'Windows_NameInput_ENG'라는 스크립트를 보실 것입니다. 그걸 삭제해주세요.

그 다음,  '윈도우' 부분으로 가주세요. 그곳에 가면 'Windows_NameInput'이라고 적혀져 있을 것입니다. 거기 있는 내용을 다 지우시고, 제가 위에 올린 스크립트를 복사해서 붙여넣기 해주시면 됩니다.


저번에 올린 스크립트는 한글글자수가 너무 적어서 불편했는데, 요번에는 한글 숫자를 늘렸습니다.



ps.   약간만 관찰하시면 아시겠지만,

HIRAGANA = [ '가','갸','거','겨','고',  '교','구','규','그','기',
               '냐','냐','너','녀','노',  '뇨','누','뉴','느','니',
               '다','댜','더','뎌','도',  '됴','두','듀','드','디',
               '라','랴','러','려','로',  '료','루','류','르','리',
               '마','먀','머','며','모',  '묘','무','뮤','므','미',
               '바','뱌','버','벼','보',  '뵤','부','뷰','브','비',
               '사','샤','서','셔','소',  '쇼','수','슈','스','시',
               '아','야','어','여','오',  '요','우','유','으','이',
               '자','쟈','저','져','조',  '죠','주','쥬','next','OK']
  KATAKANA = [ '차','챠','처','쳐','초',    '쵸','추','츄','츠','치',
               '카','캬','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']
   hangul =  [ '레','시','온','의','한', '글','화','방','스','에',
               '올','림','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']             
  TABLE = [HIRAGANA, KATAKANA, hangul]


여기서 table에 이름 몇개를 더해주고, 그 이름에 원하는 한글들을 적어주면, 자신이 원하는 양만큼 한글 입력이 가능하겠죠?^^

예를 들어서 한글을 몇개 더 적고 싶다 싶으면,

TABLE = [HIRAGANA, KATAKANA, hangul, Avans]

'Avans'라는 테이블을 하나 더 만들었습니다.

그리고

hangul =  [ '레','시','온','의','한', '글','화','방','스','에',
               '올','림','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']    

이거 밑에다가 

Avans  =  [ '아','방','슈','트','랏', '슈','타','이','의','대',
               '모','험','커','켜','코',  '쿄','쿠','큐','크','키',
               '타','탸','터','텨','토',  '툐','투','튜','트','티',
               '파','퍄','퍼','펴','포',  '표','푸','퓨','프','피',
               '하','햐','허','혀','호',  '효','후','휴','흐','히',
               '반','즈','지','칼','랄',  '엔','에','개','게','알',
               '먼','당','테','스','몽',  '랜','달','펜','간','장',
               '델','질','텔','죤','존',  '볼','곤','벨','안','얀',
               '골','든','검','심','헌',  '게','임','탈','next','OK']    

이런 식으로 추가해주시면 됩니다.^^

ps2. 참고로 문장 삽입해서 같이 이용하실 때, 'c[n]'과 같은 명령어는 사용하지 말아주세요. 제가 올린 스크립트뿐만 아니라, 기본으로 되어 있는 스크립트에서 이름 입력할 때도, 같이 사용하니까 에러나더라고요-_-;;; 저도 이런 에러가 왜 발생하는지 찾는 과정에서 위에 처럼 스크립트 변경하는 방법을 알게 된거고요 ㅋㅋ

Comment '17'
  • ?
    레시온 2008.03.28 14:31
    끄응............ㄱ-;; 창조도시 사이트가니까, '가가상'님께서 저보다 먼저 올리셨군요;;; 그분이 올리신게 더 글자수가 많으므로 그분것을 참조해보시는 것이 더 좋을 듯 합니다.;;
  • ?
    작은악마 2008.03.28 17:49
    2~3번쨰 그림 액박입니다.
  • ?
    레시온 2008.03.29 00:49

    예..ㅠㅠ 안뜨네요;;; 밑에 다운 받아서 봐주시면...ㅠㅠ(그냥, 저렇게 된다는 거 설명하려고 올린 거였는데;;; 정말 죄송;;)

  • ?
    스나이퍼 2008.04.16 19:49

    어캐 사용 하죠?
    저가 왕 초보라서;;

  • ?
    이근역 2008.04.23 17:55

    안타깝게도 완전하지 못하네요...

  • ?
    시라소몬 2008.05.24 19:08
    이것보다 더 엄청 좋은것도 있던데...
  • ?
    Baya 2008.05.29 23:01

    으어~ 어려워 보여 HAHAHAHA

  • ?
    zeromax's joke 2008.06.09 21:35
    전 이상하게 안된다능..
    소재 첫번째 영문 수정판 지우고
    Window_NameInput에 덮어 썻는데도 안되는..
    하고 나면 무슨 에러..
  • ?
    G.O.D of vx 2008.07.14 15:29
    액박!!!!!!
  • ?
    RPG달인 2008.07.17 16:54
    제가 그 스크립트를 변경해서 가 갸 거 겨 고 교 구 규 그 기 각 갹 걱 격 곡 굑 국 귝 극 긱 간 갼 건 견 곤 굔 군 균 근 긴
    이런식으로 힣까지 갈겁니다.
    테이블이 약 17개 정도 되더레요?
  • ?
    SKILL 2008.12.27 20:06
    아님;; 27개정도임;; 대박;; 개노가다;; 안할래;;
  • ?
    게임 하고파 2008.07.20 14:16

    머여....

  • profile
    카와이 2009.01.13 14:03
    멋쟁이
  • ?
    레미파라솔 2009.02.12 19:40
    감사합니다!!!
  • ?
    1000℃ 복숭아 2009.12.31 19:44

    저는 왜 안돼는걸까나요 '_'

  • ?
    2303 2010.04.18 03:27

    저도 그 방식을 채용하지만...

    15~20개 만들어야 합니다.

    이대로는 한계입니다!!

  • ?
    vx맨 2011.04.07 22:32

    어디다 부착해야하지


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
277 기타 [요청자료] 유즈미짱 님께서 요청한 그림표시 입니다. 5 file 허걱 2009.07.08 2976
276 메시지 [완성]RPG Maker VX용 한글 조사 자동결정 10 file 시릴캣 2009.08.13 4598
275 장비 [스크립트]무기에 옵션을 부가하자 18 아방이 2008.01.29 5380
274 변수/스위치 [무한응용가능]스위치/변수 저장/로딩 스크립트 7 카리스 2010.03.31 2854
273 전투 [덮어씌우기]Window_ActorCommand_EX 4 맛난호빵 2011.03.12 2341
272 기타 [XP / VX 공용] rand() 함수 확장 스크립트 4 허걱 2011.09.13 2362
271 직업 [VX] Blue Mage by Fomar0153 9 WMN 2008.04.06 2785
270 전투 [vx] ATB 시스템. 10 만들어보자꾸나 2008.07.05 4925
269 기타 [VX] Anti-Lag 1.2c by Anaryu[예제첨부] 3 file WMN 2008.04.06 2371
268 스킬 [ultimate series]스킬,아이템 데미지계산식을 자기입맛에 맞게 고치는 스크립트 16 file EuclidE 2010.05.04 4373
» 이름입력 [rpg vx]한글 스크립트(저번 것보단 업그레이드 된 것입니다.^^) 17 file 레시온 2008.03.28 4736
266 전투 [RPG VX]기술에 쿨타임을 부여하는 스크립트 3 스리아씨 2013.12.05 2348
265 스킬 [RPG VX] 턴알 스킬 쿨타임 스크립트! (잘돌아감) 5 듀란테 2015.08.18 1671
264 타이틀/게임오버 [NO.0 간단 스크립트] 타이틀에 제작자 정보 올려보기 14 file NO.0 2011.01.30 3362
263 기타 [KGC]한계돌파 9 방콕족의생활 2008.06.13 3599
262 기타 [kcg] 슬립 데미지 상세화 19 BoneheadedAlien 2009.02.22 3242
261 HUD Zelda Health System 11 file 비극ㆍ 2010.04.18 2850
260 스킬 YERD - 커스텀 스킬 이펙트 13 file 훈덕 2009.11.08 4080
259 상점 YERD - 커먼이벤트 샵 12 file 훈덕 2009.11.08 3961
258 메뉴 YERD - 커먼 이벤트 메뉴 4 file 훈덕 2009.11.08 3849
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 32 Next
/ 32