Войти на сайт

Авторизация, ждите ...
×

ТЕМА: ввод текста с клавиатуры под MV

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87278

  • Sypherot
  • Sypherot аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1239
  • Спасибо получено: 1044
  • Проект месяца 2 местоДаритель СтимкеяПаладинЗа 3 место на конкурсе маппингаОраторПроект месяца 1 место2 место Готв2 место Проект месяца 3 место
Нужен скрипт, позволяющий вводить текст с клавиатуры с проверкой на "правильность" слова\предложения и чтобы окно ввод текста вызывалось через событие. То есть: игрок подходит к, скажем, камню с зашифрованной надписью, командой события вызывается картинка с этой надписью и окно, в котором игрок набирает какой-то текст, и если текст верен, то что-то происходит, а если нет - то не происходит ничего вообще (ни предупреждающих сигналов, ни чего-либо еще). Как-то так.
з.ы. волшебное искусство "Гугл-фу" не помогло, так что "гугл в помощь" - не вариант.
Всего хорошего, и спасибо за рыбу
Последнее редактирование: 8 года 5 мес. назад от Sypherot.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87359

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • 2 место 3 место ГотвУчитель
"Это же можно переделать из окна ввода имени персонажа за двадцать минут!" подумала я :\ И спустя сутки и около 250 строк кода - держи.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: DeadElf79, Ren310, KageDesu

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87363

  • Sypherot
  • Sypherot аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1239
  • Спасибо получено: 1044
  • Проект месяца 2 местоДаритель СтимкеяПаладинЗа 3 место на конкурсе маппингаОраторПроект месяца 1 место2 место Готв2 место Проект месяца 3 место
EvilCat пишет:
"Это же можно переделать из окна ввода имени персонажа за двадцать минут!" подумала я :\ И спустя сутки и около 250 строк кода - держи.
Попробовал этот скрипт, но мне нужен именно вод текста с клавиатуры, то есть игрок должен именно печатать текст, а не выбирать буквы в окне, да и 8 символов маловато будет, поскольку предполагается ввод целых предложений.
Всего хорошего, и спасибо за рыбу
Последнее редактирование: 8 года 5 мес. назад от Sypherot.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87370

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • 2 место 3 место ГотвУчитель
В плагине допускается ввод до 16 символов.

Ввод предложений с клавиатуры сделать не возьмусь, потому что там работы точно будет больше %)
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87371

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист JavaScript Даритель СтимкеяПрограммист RubyВетеранОратор
Примерно так:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Но там еще нужно добавить красивостей, возможно, улучшить проверку ответа и что-нибудь еще улучшить. :)
Вызов командой: Имя плагина open "Правильный ответ"
Последнее редактирование: 8 года 5 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Lucin, EvilCat

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87372

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • 2 место 3 место ГотвУчитель
var sceneName = SceneManager._scene.constructor.name;
        return (sceneName === "Scene_Answer");

Можно заменить на:
SceneManager._scene.constructor===Scene_Answer;

Или даже:
SceneManager._scene instanceof Scene_Answer;
(этот вариант - если у класса Scene_Answer не предполагаются классы-потомки или если потомки устраивают в данной проверке).
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Lekste, poca

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87383

  • Sypherot
  • Sypherot аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1239
  • Спасибо получено: 1044
  • Проект месяца 2 местоДаритель СтимкеяПаладинЗа 3 место на конкурсе маппингаОраторПроект месяца 1 место2 место Готв2 место Проект месяца 3 место
Lekste пишет:
Примерно так:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Но там еще нужно добавить красивостей, возможно, улучшить проверку ответа и что-нибудь еще улучшить. :)
Вызов командой: Имя плагина open "Правильный ответ"
Через команду плагина не вызывается вообще (то есть ничего не происходит), при вызове через скрипт выдает ошибку
Всего хорошего, и спасибо за рыбу
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87388

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист JavaScript Даритель СтимкеяПрограммист RubyВетеранОратор
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Заменил отдельную сцену на сцену карты.
Возникла проблема - после нажатия кнопки "Ок", нажатие на карте тоже срабатывает и ивент запускается заного.
Если кто знает как избежать этого, буду рад, если поправите - я уже устал воевать с этим странным двигом.

Результат ответа игрока можно узнать из SceneManager._scene._answerInputWindow.isPlayerAnswered:
true - ответил верно
false - закрыл окно так и не дав правильного ответа
Последнее редактирование: 8 года 5 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Lucin

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87390

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • 2 место 3 место ГотвУчитель
Надо как-то поставить интерпретатор на паузу до разрешения ввода - возможно, подсмотреть, как делается команда Wait. (У меня сейчас MV не под рукой.)

P.S. Похоже, ты уже подсмотрел...
Последнее редактирование: 8 года 5 мес. назад от EvilCat.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 5 мес. назад #87391

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист JavaScript Даритель СтимкеяПрограммист RubyВетеранОратор
Угу. Я пробовал и так, и код последней клавиши с её состоянием обнулять после скрытия окна, и устанавливать флаг необходимости закрытия, а потом ждать пока Input сбросит состояние кнопки.
Ничего не помогло. Либо открывается ивент, либо бесконечный цикл.

Аааа. Я похоже ошибку нашёл - в updateWaitingMode неправильно состояние waiting устанавливается. Нужно отрицание убрать. :)
Последнее редактирование: 8 года 5 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 4 мес. назад #87791

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист JavaScript Даритель СтимкеяПрограммист RubyВетеранОратор
Все. Сделал.

Скрипт:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Пример:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Демка:
yadi.sk/d/vWWBY6rDm2fcA
Последнее редактирование: 8 года 4 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Sypherot, DeadElf79, DK, Ren310, Lucin, Волчонок, KageDesu, EvilCat

ввод текста с клавиатуры под MV 8 года 4 мес. назад #87816

  • EvilCat
  • EvilCat аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 469
  • Спасибо получено: 850
  • 2 место 3 место ГотвУчитель
Три дня назад появился ещё такой плагин, который действует примерно как мой, но позволяет указать строку-вопросу прямо на экране ввода и не имеет зависимостей.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 3 мес. назад #88956

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • ОраторВетеранДаритель Стимкея2 место Проект месяца 1 местоПроект месяца 3 местоПаладинПроект месяца 2 местоУчительПрограммист JavaScript
Для русского языка требуется заменить константы (без этого вылетает ошибка)
const MIN_INPUT_FIELD_WIDTH = parameters;
const TEXT_COLOR = parameters;
const PLACEHOLDER_COLOR = parameters;
const PLACEHOLDER_TEXT = parameters;
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 3 мес. назад #88967

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Программист JavaScript Даритель СтимкеяПрограммист RubyВетеранОратор
Просто сделано оно странно. Надо переписать, чтобы имена констант брались из базового коментария, а не локализованого.
Администратор запретил публиковать записи гостям.

ввод текста с клавиатуры под MV 8 года 3 мес. назад #88969

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • ОраторВетеранДаритель Стимкея2 место Проект месяца 1 местоПроект месяца 3 местоПаладинПроект месяца 2 местоУчительПрограммист JavaScript
Как это сделать ?
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.455 секунд