Бля, братан, я проанилизировал код и скажу.
Давай, подумаем вместе. У тебя в диалоги при вводе выводится хелпер и там, если нажимать Ctrl+1-5, то будет смена уровней происходить. Очень хорошо, но я не вижу проверки на нажатие этих клавиш кроме Ctrl+1
Значит 1) Тебе нужно, чтоб проверялись все условия на нажатие клавиш. Попробуй подумать, если нет, то я скину как бы я сделал.
Смотрим дальше у тебя есть действия, которые эмулирует клавиши, они везде одинаковые. 0x20 true или 0x20 false .
Так скажи нахуя ты зафлудил ними весь код ?
Значит 2) Сделал бы метку и Госабился бы на нее и снее возвращался
:tipa_tyt_kachatel
...
// Флуд эмуляции клавиш
gosub @keys_emul
:keys_emul
тут вся эта хуйня
return
Иии значит 3) при вызове диалога с помощью, ты записал текст в 33@ переменную, либо я долбоеб и что-то не понял, либо ты ошибся. 33@ -таймер(не используется для хранения данных), так вот, если все работает, то слава Богу, окей, а если нет, то замени на 0@-31@
Ааа да 4) Ты табуляцию для красоты использовал ? Нахуя ты выстроил ее в форме ДНК, табуляция должна помогать читать скрипт, а не ломать глаза.