Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Что то я завис с созданием меню. Не пойму что не так.
Сколько не пытаюсь создать меню не выводится и все тут. Вернее сказать не не выводится а тут же закрывается. Причина клиент закрыл меню.
Я уже все примеры создания меню испробовал. Результат один и тот же. Клиент закрыл меню. Самое интересное - скомпилированные плагины меню работает на ура (не мои).
Или дело в компиляторе, вернее в инклюдах. Я не пойму. У кого такое было отпишитесь.
Хочу попробовать исходник чей нибудь, с реально рабочим меню откомпилить у себя. Время выберу - попробую. Но пока - завис напрочь.
public OnPluginStart()
{
// зарегистрировали консольную команду menu_test1 для открытия меню.
RegConsoleCmd("menu_test1", Menu_Test1);
}
// хандл меню
public MenuHandler1(Handle:menu, MenuAction:action, param1, param2)
{
/* Если был выбран какой-либо пункт, то сообщим клиенту о его выборе. */
if (action == MenuAction_Select)
{
new String:info[32]; // переменная для хранения выбора
new bool:found = GetMenuItem(menu, param2, info, sizeof(info)); // получаем информацию о выбранном в меню пункте
PrintToConsole(param1, "Вы нажали: %d (найдено? %d информация: %s)", param2, found, info); // пишем клиенту в консоль
}
/* Если меню было отменено, то сообщим об этом серверу. */
else if (action == MenuAction_Cancel)
{ PrintToServer("Клиент %d' закрыл меню. Причина: %d", param1, param2);
}
/* Если меню "закончилось", то удалим его из памяти */
else if (action == MenuAction_End)
{
CloseHandle(menu);
}
}
Это пример из урока. https://wiki.alliedmods.net/Ru:Menu_API_(SourceMod)
И таких примеров полно. Я их почти все перепробовал. Результат один - я сразу же закрыл меню.
Поэтому у меня просьба - дайте кто нибудь полностью рабочий код. Попробую у себя откомпилировать.
Все-таки у меня подозрение на компилятор. Либо сама контра что то мутит. Так бы откомпилировал рабочий код, посмотрел бы в игре. Половина вопросов бы отпала. А так даже не знаю на что думать.
Кстати после компиляции sm plugin list показывает что плагин запущен. В логах ошибок нет. То-есть плагин работает. Получается какая то команда после вызова меню тут же его закрывает.
Да, еще одно, я плагины тестирую на локальном сервере. Может быть дело в этом? Хотя какая разница. Версия v86.
Еще одно.
При вызове аминки пишу в чате - !admin - отрабатывает все отлично.
пишу в консоли sm_admin - не отрабатывает, пишет - [SM] This command can only be used in-game.
Эта команда может использоваться только в игре, получается я не авторизован?!
Может быть что то с этим связанно.
Попробовать зарегать чат-команду, если на то пошло. Щас попробую.
Народ, вы не поверите. Чат команда работает отлично!
Консольная команда так же не работает. Что за проблема?
public OnPluginStart()
{
// зарегистрировали консольную команду menu_test1 для открытия меню.
RegConsoleCmd("menu_test1", Menu_Test1);
RegConsoleCmd( "say", Menu_Test1);
}
Я не пойму, ты прикалываешься?
Я же написал - чат команда отрабатывается. Консольная нет.
Если можно, дай рабочий на 100 процентов код меню. Откомпилирую, посмотрю, сразу будет видно где косяк. А так у меня есть сомнения что где то в коде ошибочка. Нужно эту ошибку исключить.
По моему мы с тобой на разных языках говорим. Я что то недопонимаю. Если в консоли ввести команду вот так sm_Menu_Test1 (:-D) просто скажет что такой команды нет. :nono: Или при регистрации нужно sm_ добавить.
Или я что то точно непонимаю.
Спасибо за статью, информация интересная, пригодится.
Но она не имеет отношения к этой проблеме.
Проблема решилась очень просто. Я плагин тестировал на локальном сервере. Проще говоря на клиенте. Закинул плагин на свой сервак на хосте и все проблемы разом пропали.
Команды отправляю с клиента. Отлично отрабатывает и чат-команды и команды с консоли.
В общем проблема решена. Тему можно закрыть. Всем спасибо.