Нужно отловить нажатие кнопки игроком.

oleg_nelasy

Участник
Сообщения
664
Реакции
46
Здраствуйте хочу запретить на сервере родной выбор команды с помощью "GameRules_SetProp("m_bIsQueuedMatchmaking", 1);" так как выяснилось в текущей момент нормально с ним взаимодействовать нельзя. Нужно поймать когда клиент нажимает на кнопку вызова меню смены команд и открыть для него мое меню.

Пробивал отловить кнопку как-то так но на нужную клавишу реакции нет.

C-подобный:
public void OnPlayerRunCmdPost(int iClient, int buttons, int impulse, const float vel[3], const float angles[3], int weapon, int subtype, int cmdnum, int tickcount, int seed, const int mouse[2])
{
    if(buttons != 0)
        PrintToChat(iClient, "buttons = [%d]", buttons);
}
 

GARAYEV

𝓗𝓔𝓘𝓢𝓔𝓝𝓑𝓔𝓡𝓖
Сообщения
264
Реакции
372
а если так

C-подобный:
public void OnPluginStart()
{
    AddCommandListener(TeamMenu, "teammenu");
}

public Action TeamMenu(int iClient, char[] command, int iArgs) 
{
   //тут делаешь что хочешь
}
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
Никак, это клиентская команда
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
@oleg_nelasy, кнопки не отлавливаются. Движок "биндит" кнопки на команды, а кнопки - смещённый бит. Все кнопки с клавиатуры не забиндить, поэтому их количество ограничено. Никаких кнопок М, лишь "BUTTON_BUYMENU" (лишь пример, какой-нибудь 1<<27), то есть отловить именно кнопку М нельзя. И опять же: teammenu - клиентская команда, которая показывает на клиенте выбор меню (чтобы не писать jointeam 1,2,3 в консоли)
 
Сверху Снизу