- Сообщений: 29
- Спасибо получено: 2
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Кириллица при вводе имени
3 года 10 мес. назад #127294
от Hyperion
Hyperion создал тему: Кириллица при вводе имени
Не русифицировал VXA, он у меня так и остался на английском. Кириллица там и без этого прекрасно работает. Везде, кроме момента с вводом имени. (name input processing)
Если его поставить, ввод на латинице. Если переключить кнопкой "page", там тоже латиница, но какая-то странная.
Русификацию ставить на программу не хочу, да и не факт, что это поможет. Можно ли как-то сделать, чтобы кириллица спокойно вводилась?
Если его поставить, ввод на латинице. Если переключить кнопкой "page", там тоже латиница, но какая-то странная.
Русификацию ставить на программу не хочу, да и не факт, что это поможет. Можно ли как-то сделать, чтобы кириллица спокойно вводилась?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
3 года 10 мес. назад #127295
от Демий
Демий ответил в теме Кириллица при вводе имени
Надо заменить скрипт "Window_NameInput" с того что там есть на вот это:
Ну или просто поменять в блоке "LATIN1" символы, на те что надо.
Code:
#==============================================================================
# ** 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
Спасибо сказали: Hyperion
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
3 года 10 мес. назад #127315
от Hyperion
Hyperion ответил в теме Кириллица при вводе имени
Спасибо! Работает.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.089 секунд
