Комбинация клавиш

Больше
10 года 9 мес. назад #83937 от 「Kibō」
Собсна использую текучку от фалко, но она мне многим, чем не нравится и пытаюсь ее переписать, это не так важно :)
хочу дописать комбинацию клавиш, например
Code:
if Input.trigger?(:A) + Input.trigger?(:B) + Input.trigger?(:С) do_something end
что в итоге должно было бы выйти, при последовательном прожатии клавиш A, B, C что-нибудь бы происходило, но оно и не должно занимать много по времени. предположим максимальная задержка между нажатием кнопок равна в 10 кадров.
что-то подобное используется в скрипте Янфлая Input Combo Skills при параметре <combo special string: x>

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Коммерсант Проект года 1 место Учитель Проект месяца 1 место
Больше
10 года 9 мес. назад #83940 от Iren_Rin
Iren_Rin ответил в теме Комбинация клавиш
Так в чем вопрос то?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 9 мес. назад #83942 от 「Kibō」
「Kibō」 ответил в теме Комбинация клавиш
дэк, а как это реализовать?
Code:
if Keys.trigger?(Keys::DOWN) + Keys.trigger?(Keys::LEFT) + Keys.trigger?(Key::Weapon[0]) actor.change_equip_by_id(0, 4) use_weapon(actor.equips[0].id) end
из этого когда должна выйти смена экипировки и использование предмета, собсна при другом условии работает на ура
это же действие выдает, естественно же, ошибку при таком условии

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Коммерсант Проект года 1 место Учитель Проект месяца 1 место
Больше
10 года 9 мес. назад #83943 от Iren_Rin
Iren_Rin ответил в теме Комбинация клавиш
Замени в услвоии + на && или and для начала. Но условие тогда будет проверять однавременное нажатие трех этих клавиш.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 9 мес. назад #83944 от 「Kibō」
「Kibō」 ответил в теме Комбинация клавиш
это я знаю, мне не нужно одновременное нажатие клавиш, тк давно уже сделано при использование стрелок и кнопки действия

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 9 мес. назад #83954 от DeadElf79
DeadElf79 ответил в теме Комбинация клавиш
задержка производится совсем по-другому и указанный выше скрипт не пойдет. по идее, если немного пооткрывать мейкер (пару раз), то это вполне реализуемо на ивентах с помощью команд "ждать клавишу" и "ждать N кадров".

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 9 мес. назад #83955 от Kian Ni
Kian Ni ответил в теме Комбинация клавиш
А что если?
Code:
if Input.trigger?(:A) if Input.trigger?(:B) if Input.trigger?(:С) do_something end end end

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 9 мес. назад - 10 года 9 мес. назад #83960 от 「Kibō」
「Kibō」 ответил в теме Комбинация клавиш

DeadElf79 пишет: задержка производится совсем по-другому и указанный выше скрипт не пойдет. по идее, если немного пооткрывать мейкер (пару раз), то это вполне реализуемо на ивентах с помощью команд "ждать клавишу" и "ждать N кадров".

идея на ивентах сразу отпадает, мукер такое кол-во ивентов не выдержит, но идею понял, пробнем на скриптах такое запилить
Kian Ni, хмм, если логически подумать, то так и должно быть, надо попробовать как оно себя вести будет при разных условиях

upd:
Code:
if Keys.trigger?(Keys::DOWN) if Keys.trigger?(Keys::LEFT) || Keys.trigger?(Keys::RIGHT) if Keys.trigger?(Key::Weapon[0]) $game_player.animation_id = 1 end end end
все же нет, не работает
попробовал тригер изменить на релиз (это скрипт использования всех кнопок с клавиатуры, релиз почти тоже саое что и тригер, только только в "обратную сторону"), тоже 0 реакции

upd2:
однако, головой все раскинув хорошо, подумал, а на кой мне это надо? :)
в текучке же еще есть 2 итема и 4 скила, которые принципе можно комбинировать так же
Code:
class Game_Player < Game_Character def update_tool_usage #=============================================================================== # WEAPON #=============================================================================== if Keys.trigger?(Key::Weapon[0]) actor.change_equip_by_id(0, 1) use_weapon(actor.equips[0].id) end if Keys.trigger?(Key::Weapon[0]) && (Keys.press?(Keys::LEFT) || Keys.press?(Keys::RIGHT)) actor.change_equip_by_id(0, 2) use_weapon(actor.equips[0].id) end if Keys.trigger?(Key::Weapon[0]) && Keys.press?(Keys::UP) actor.change_equip_by_id(0, 4) use_weapon(actor.equips[0].id) end if Keys.trigger?(Key::Weapon[0]) && Keys.press?(Keys::DOWN) actor.change_equip_by_id(0, 4) use_weapon(actor.equips[0].id) end #=============================================================================== # ARMOR #=============================================================================== if Keys.trigger?(Key::Armor[0]) actor.change_equip_by_id(1, 1) use_armor(actor.equips[1].id) end if Keys.trigger?(Key::Armor[0]) && (Keys.press?(Keys::LEFT) || Keys.press?(Keys::RIGHT)) actor.change_equip_by_id(1, 2) use_armor(actor.equips[1].id) end if Keys.trigger?(Key::Armor[0]) && Keys.press?(Keys::UP) actor.change_equip_by_id(1, 4) use_armor(actor.equips[1].id) end if Keys.trigger?(Key::Armor[0]) && Keys.press?(Keys::DOWN) actor.change_equip_by_id(1, 4) use_armor(actor.equips[1].id) end #=============================================================================== end end
Последнее редактирование: 10 года 9 мес. назад пользователем 「Kibō」.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.103 секунд
Работает на Kunena форум