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
517 메시지 어드밴스 텍스트 시스템 13 file 카르와푸딩의아틀리에 2009.06.30 4918
516 전투 사이드뷰배틀에서 시각적으로 위치 지정하기 9 file 078656577er 2009.10.14 4908
515 HUD 네비게이션 (나침반) 36 file 허걱 2009.08.25 4908
514 전투 전투 배경을 이미지로 설정하는 스크립트 20 file 아방스 2008.01.23 4889
513 메뉴 GuiRPG menu시스템 13 file 할렘 2009.02.07 4849
512 메뉴 캐릭터설명을 심플하게! 스크립트. 13 file 할렘 2009.02.03 4848
511 전투 VX에서 전투배경을 XP스타일로 나오게 하는 스크립트 7 아방스 2008.01.25 4839
510 타이틀/게임오버 타이틀에 스토리맵을 달자 26 file RPGbooster 2008.10.08 4829
509 기타 RPG 2000이나 RPG 2003처럼 전체화면으로 나오게 하는 스크립트(대박) 21 Man... 2008.10.28 4821
508 스킬 무기성장 랭크 시스템. 20 file 카르와푸딩의아틀리에 2009.07.08 4820
507 맵/타일 레이 월드맵 스크립트 14 file 카르와푸딩의아틀리에 2009.07.04 4813
506 기타 rpg vx 렉 줄이는 스크립트 34 아방스 2008.03.09 4813
505 기타 게임 해상도를 조절 하는 스크립트 19 아방스 2008.01.21 4780
504 타이틀/게임오버 타이틀 공지 37 file 허걱 2009.08.10 4748
503 HUD 맵 이름을 띠우는 스크립트 [메시지창] 24 아방스 2008.03.09 4748
502 미니맵 MiniMap 1.0 미니맵 스크립트. 39 아방스 2010.12.02 4740
» 이름입력 [rpg vx]한글 스크립트(저번 것보단 업그레이드 된 것입니다.^^) 17 file 레시온 2008.03.28 4736
500 케릭터 텍스트박스 18 file RPGbooster 2008.10.08 4709
499 메뉴 자작 메뉴 스크립트 for VX(L's Simple Custom Menu VX ver.) 5 Alkaid 2010.09.02 4705
498 ATB v1.0 배틀 시스템 + RPG Tankentai SBS v2.8 16 supergt 2008.10.11 4681
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32