Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Кириллица при вводе имени

Кириллица при вводе имени 1 мес. 1 нед. назад #127294

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 2
Не русифицировал VXA, он у меня так и остался на английском. Кириллица там и без этого прекрасно работает. Везде, кроме момента с вводом имени. (name input processing)
Если его поставить, ввод на латинице. Если переключить кнопкой "page", там тоже латиница, но какая-то странная.
Русификацию ставить на программу не хочу, да и не факт, что это поможет. Можно ли как-то сделать, чтобы кириллица спокойно вводилась?
Администратор запретил публиковать записи гостям.

Кириллица при вводе имени 1 мес. 1 нед. назад #127295

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1555
  • Спасибо получено: 1463
  • РазработчикУчитель3 место Готв1 место в ГотвПисатель 2 местоТестер3 местоВетеран
Надо заменить скрипт "Window_NameInput" с того что там есть на вот это:
#==============================================================================
# ** Window_NameInput
#------------------------------------------------------------------------------
#  This window is used to select text characters on the name input screen.
#==============================================================================
 
class Window_NameInput < Window_Selectable
  #--------------------------------------------------------------------------
  # * Character Tables (Latin)
  #--------------------------------------------------------------------------
  LATIN1 = [ 'А','Б','В','Г','Д',  'а','б','в','г','д',
             'Е','Ё','Ж','З','И',  'е','ё','ж','з','и',
             'Й','К','Л','М','Н',  'й','к','л','м','н',
             'О','П','Р','С','Т',  'о','п','р','с','т',
             'У','Ф','Х','Ц','Ч',  'у','ф','х','ц','ч',
             'Ш','Щ','Ъ','Ы','Ь',  'ш','щ','ъ','ы','ь',
             'Э','Ю','Я','№','#',  'э','ю','я','{','}',
             '0','1','2','3','4',  '!','?','$','%','&',
             '5','6','7','8','9',  '«','»',' ','Page','OK']
  LATIN2 = [ 'A','B','C','D','E',  'a','b','c','d','e',
             'F','G','H','I','J',  'f','g','h','i','j',
             'K','L','M','N','O',  'k','l','m','n','o',
             'P','Q','R','S','T',  'p','q','r','s','t',
             'U','V','W','X','Y',  'u','v','w','x','y',
             'Z','[',']','^','_',  'z','{','}','|','~',
             '0','1','2','3','4',  '!','#','$','%','&',
             '5','6','7','8','9',  '(',')','*','+','-',
             '/','=','@','<','>',  ':',';',' ','Page','OK']
  #--------------------------------------------------------------------------
  # * Character Tables (Japanese)
  #--------------------------------------------------------------------------
  JAPAN1 = [ 'あ','い','う','え','お',  'が','ぎ','ぐ','げ','ご',
             'か','き','く','け','こ',  'ざ','じ','ず','ぜ','ぞ',
             'さ','し','す','せ','そ',  'だ','ぢ','づ','で','ど',
             'た','ち','つ','て','と',  'ば','び','ぶ','べ','ぼ',
             'な','に','ぬ','ね','の',  'ぱ','ぴ','ぷ','ぺ','ぽ',
             'は','ひ','ふ','へ','ほ',  'ぁ','ぃ','ぅ','ぇ','ぉ',
             'ま','み','む','め','も',  'っ','ゃ','ゅ','ょ','ゎ',
             'や','ゆ','よ','わ','ん',  'ー','~','・','=','☆',
             'ら','り','る','れ','ろ',  'ゔ','を',' ','カナ','決定']
  JAPAN2 = [ 'ア','イ','ウ','エ','オ',  'ガ','ギ','グ','ゲ','ゴ',
             'カ','キ','ク','ケ','コ',  'ザ','ジ','ズ','ゼ','ゾ',
             'サ','シ','ス','セ','ソ',  'ダ','ヂ','ヅ','デ','ド',
             'タ','チ','ツ','テ','ト',  'バ','ビ','ブ','ベ','ボ',
             'ナ','ニ','ヌ','ネ','ノ',  'パ','ピ','プ','ペ','ポ',
             'ハ','ヒ','フ','ヘ','ホ',  'ァ','ィ','ゥ','ェ','ォ',
             'マ','ミ','ム','メ','モ',  'ッ','ャ','ュ','ョ','ヮ',
             'ヤ','ユ','ヨ','ワ','ン',  'ー','~','・','=','☆',
             'ラ','リ','ル','レ','ロ',  'ヴ','ヲ',' ','英数','決定']
  JAPAN3 = [ 'A','B','C','D','E',  'a','b','c','d','e',
             'F','G','H','I','J',  'f','g','h','i','j',
             'K','L','M','N','O',  'k','l','m','n','o',
             'P','Q','R','S','T',  'p','q','r','s','t',
             'U','V','W','X','Y',  'u','v','w','x','y',
             'Z','[',']','^','_',  'z','{','}','|','~',
             '0','1','2','3','4',  '!','#','$','%','&',
             '5','6','7','8','9',  '(',')','*','+','-',
             '/','=','@','<','>',  ':',';',' ','かな','決定']
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(edit_window)
    super(edit_window.x, edit_window.y + edit_window.height + 8,
          edit_window.width, fitting_height(9))
    @edit_window = edit_window
    @page = 0
    @index = 0
    refresh
    update_cursor
    activate
  end
  #--------------------------------------------------------------------------
  # * Get Text Table
  #--------------------------------------------------------------------------
  def table
    return [JAPAN1, JAPAN2, JAPAN3] if $game_system.japanese?
    return [LATIN1, LATIN2]
  end
  #--------------------------------------------------------------------------
  # * Get Text Character
  #--------------------------------------------------------------------------
  def character
    @index < 88 ? table[@page][@index] : ""
  end
  #--------------------------------------------------------------------------
  # * Determining if Page Changed and Cursor Location
  #--------------------------------------------------------------------------
  def is_page_change?
    @index == 88
  end
  #--------------------------------------------------------------------------
  # * Determine Cursor Location: Confirmation
  #--------------------------------------------------------------------------
  def is_ok?
    @index == 89
  end
  #--------------------------------------------------------------------------
  # * Get Rectangle for Displaying Item
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new
    rect.x = index % 10 * 32 + index % 10 / 5 * 16
    rect.y = index / 10 * line_height
    rect.width = 32
    rect.height = line_height
    rect
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    change_color(normal_color)
    90.times {|i| draw_text(item_rect(i), table[@page][i], 1) }
  end
  #--------------------------------------------------------------------------
  # * Update Cursor
  #--------------------------------------------------------------------------
  def update_cursor
    cursor_rect.set(item_rect(@index))
  end
  #--------------------------------------------------------------------------
  # * Determine if Cursor is Moveable
  #--------------------------------------------------------------------------
  def cursor_movable?
    active
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Down
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_down(wrap)
    if @index < 80 or wrap
      @index = (index + 10) % 90
    end
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Up
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_up(wrap)
    if @index >= 10 or wrap
      @index = (index + 80) % 90
    end
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Right
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_right(wrap)
    if @index % 10 < 9
      @index += 1
    elsif wrap
      @index -= 9
    end
  end
  #--------------------------------------------------------------------------
  # * Move Cursor Left
  #     wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_left(wrap)
    if @index % 10 > 0
      @index -= 1
    elsif wrap
      @index += 9
    end
  end
  #--------------------------------------------------------------------------
  # * Move to Next Page
  #--------------------------------------------------------------------------
  def cursor_pagedown
    @page = (@page + 1) % table.size
    refresh
  end
  #--------------------------------------------------------------------------
  # * Move to Previous Page
  #--------------------------------------------------------------------------
  def cursor_pageup
    @page = (@page + table.size - 1) % table.size
    refresh
  end
  #--------------------------------------------------------------------------
  # * Cursor Movement Processing
  #--------------------------------------------------------------------------
  def process_cursor_move
    last_page = @page
    super
    update_cursor
    Sound.play_cursor if @page != last_page
  end
  #--------------------------------------------------------------------------
  # * Handling Processing for OK and Cancel Etc.
  #--------------------------------------------------------------------------
  def process_handling
    return unless open? && active
    process_jump if Input.trigger?(:A)
    process_back if Input.repeat?(:B)
    process_ok   if Input.trigger?(:C)
  end
  #--------------------------------------------------------------------------
  # * Jump to OK
  #--------------------------------------------------------------------------
  def process_jump
    if @index != 89
      @index = 89
      Sound.play_cursor
    end
  end
  #--------------------------------------------------------------------------
  # * Go Back One Character
  #--------------------------------------------------------------------------
  def process_back
    Sound.play_cancel if @edit_window.back
  end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    if !character.empty?
      on_name_add
    elsif is_page_change?
      Sound.play_ok
      cursor_pagedown
    elsif is_ok?
      on_name_ok
    end
  end
  #--------------------------------------------------------------------------
  # * Add Text to Name
  #--------------------------------------------------------------------------
  def on_name_add
    if @edit_window.add(character)
      Sound.play_ok
    else
      Sound.play_buzzer
    end
  end
  #--------------------------------------------------------------------------
  # * Decide Name
  #--------------------------------------------------------------------------
  def on_name_ok
    if @edit_window.name.empty?
      if @edit_window.restore_default
        Sound.play_ok
      else
        Sound.play_buzzer
      end
    else
      Sound.play_ok
      call_ok_handler
    end
  end
end
Ну или просто поменять в блоке "LATIN1" символы, на те что надо.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Hyperion

Кириллица при вводе имени 1 мес. 5 дн. назад #127315

  • Hyperion
  • Hyperion аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 2
Спасибо! Работает.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.278 секунд