Войти на сайт

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

ТЕМА: [RM VX ace] Дизейблеры клавиш.

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97518

  • Grivier
  • Grivier аватар
  • Вне сайта
  • Путник
  • Сообщений: 4
Доброго всем времени суток.
Подскажите пожалуйста. Разрабатываю игру на VX ace, и возник такой вопрос. Я использую скрипт Re weapon system II, и в некоторых заставках и диалогах если нажать кнопку атаки A, персонаж будет атаковать и издавать звук атаки во время допустим вставок с картинками и диалогами.
Есть ли какой-нибудь скрипт "дизейблер" клавиш клавиатуры, который по переключателю отключает некоторые (нужные) кнопки игроку? То есть, делает их неактивными.
Либо есть ли какой-нибудь другой способ решения данной проблемы?

Заранее спасибо.
Администратор запретил публиковать записи гостям.

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97520

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель конкурсаПроект года 3 местоВетеранПроект месяца 3 местоЗа 3 место на конкурсе маппингаПроект месяца 2 местоПроект месяца 1 местоРазработчикОраторПобедитель Сбитой кодировки
Я с чем-то подобным сталкивался, когда Dolly's Afterlife делал.

Я создал переменную и добавил в те места, где скрипт отслеживает нажатия кнопок, дополнительным условием чтобы эта переменная была false.

Когда начинается заставка - присваиваю переменной true, когда заканчивается - false.

В итоге во время заставок никакие кнопки действий не работают, как и нужно.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Grivier

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97524

  • Grivier
  • Grivier аватар
  • Вне сайта
  • Путник
  • Сообщений: 4
По-скольку в Руби я не очень шарю, чтобы самолично что-либо написать, можете пожалуйста объяснить по-подробнее, как что, и где это делается? ^^

P.S. Если нужен скрипт RE Weapons System II, то прикладываю его во вложения.
Последнее редактирование: 6 года 11 мес. назад от Grivier. Причина: Приложил скрипт Re Weapons System II
Администратор запретил публиковать записи гостям.

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97525

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1599
  • Спасибо получено: 1520
  • Разработчик3 место Готв1 место в ГотвВетеран3 местоУчительТестерПисатель 2 место
Ну что ж, скрипт в студию и, возможно кто-то заморчится сделать его модификацию. Наверно только так.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Grivier

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97526

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель конкурсаПроект года 3 местоВетеранПроект месяца 3 местоЗа 3 место на конкурсе маппингаПроект месяца 2 местоПроект месяца 1 местоРазработчикОраторПобедитель Сбитой кодировки
Я сам руби не знаю ВООБЩЕ, делал просто по аналогии, глядя на другие функции.

В двух словах всё выглядит так:
1. Открываешь скрипт, в начале должно быть объявление класса, в данном случае его имя game_player.
class Game_Player < Game_Character
чуть ниже идут функции класса
def map_passable?(mode)
...
end

Добавляешь к ним новую функцию:
def switchcontrols(snum)
  if snum==1
    @noctrl = false
  else
    @noctrl = true
  end
end

2. Находишь в скрипте проверки на нажатия клавиш, выглядят примерно так:
if Input.press?(Input::LEFT)
и дописываешь к ним доп. условие:
if Input.press?(Input::LEFT) && @noctrl == false

3. В событиях ивента, где нужно запретить управление, вставляешь "Выполнить скрипт..." и пишешь туда
$game_player.switchcontrols(0)
, а где нужно включить обратно
$game_player.switchcontrols(1)
Вместо game_player, естественно, должно быть имя твоего класса, которое ты узнал в начале.
Последнее редактирование: 6 года 11 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Paranoid, Grivier

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97527

  • Grivier
  • Grivier аватар
  • Вне сайта
  • Путник
  • Сообщений: 4
Огромнейшее Вам спасибо! B)

Пойду разбираться, и пробовать) логику построения я в принципе понял.
Администратор запретил публиковать записи гостям.

[RM VX ace] Дизейблеры клавиш. 6 года 11 мес. назад #97528

  • Grivier
  • Grivier аватар
  • Вне сайта
  • Путник
  • Сообщений: 4
Ещё раз огромное спасибо, всё получилось! :whistle:
Настроил всё как надо, всё чудесно и прекрасно работает))

Благодарю!
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.252 секунд