Я сам руби не знаю ВООБЩЕ, делал просто по аналогии, глядя на другие функции.
В двух словах всё выглядит так:
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, естественно, должно быть имя твоего класса, которое ты узнал в начале.