Чтобы убрать меню с экрана игрока, ему нужно отправить новое меню, но без клавиш для выбора. Какой текст - не важно, разумнее использовать пустышку. Ну и минимальное время показа - 1 секунда.
Скрыть меню у определённого игрока:
show_menu( id, 0, "^n", 1 )Скрыть меню у всех игроков:
show_menu( 0, 0, "^n", 1 )
Таким же способом скрываются и 'новые' меню (см. newmenus.inc ): они всего лишь обёртка на т.н. 'старыми': на самом деле в игре меню одно и то же. Важно не забыть предварительно 'нажать' кнопку Выход за игрока с помощью:
menu_cancel(id)
• длинные строки в меню
Максимальный размер текста меню - 512 символов. Но размер пунктов меню не лимитируется: они могут быть произвольного размера. Ограничивается только длина текста, не содержащего служебные тэги \d, \r, \w, \y и \R - 80 символов. Поэтому если нужен длинный пункт - просто дополните текст тэгами в нужных местах. На экране помещаются 90 символов при разрешении 800x600 и 115 - при 1024x768. Пример ниже.
• трансляция команд в клавиши
Это встроенная возможность игры. В тексте меню указывается команда, а при показе меню она автоматически заменяется на кнопку, на которую назначена у игрока. Работает такая возможность только для 'плюсовых' команд: +attack, +use, +hook и т.д., но для любых из них.
Пример на последние 2 случая:
Чтобы меню выглядело как на скриншоте, необходимо предварительно забиндить клавишу:
bind "?" "+test"
Скрыть меню у определённого игрока:
Скрыть меню у всех игроков:
Ага, и когда мы вызовем функцию : player_menu_info
То он покажет что у мы видим меню.
Это Костыль.
Для закрытие меню есть :
menu_cancel
menu_destroy
Для понятие что у тебя открыто меню :
player_menu_info
Так что это не фишка, а как я уже говорил Костыль.
С Костылями будь осторожен, а то начнут пинаться.