AlexPa1
Участник
- Сообщения
- 292
- Реакции
- 54
Добавил.Источник
Добавил.Источник
Я не знал, простите.@alex123pavlov, там нет полного плагина, лол
@BossKotoriiNeSmok, там у тебя ещё должна быть папка rankme с файлами инклюдов
потому что cannot read from file: "rankme/cmds"
--- Добавлено позже ---
@alex123pavlov, ты бы на сам плагин ссыль дал, а то у тебя в комменте меньше половины кода представлено, судя по твоему описанию функционала
1 вариантВсем помощничкам привет, нужен плагин который биндит команды от лица игрока, допустим нажал f4 открылось меню
new Float:g_fLastTime[MAXPLAYERS + 1];
public OnClientDisconnect(client) g_fLastTime[client] = 0.0;
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
if (impulse == 100)
{
decl Float:fTime;
if (((fTime = GetGameTime()) - g_fLastTime[client]) > 0.05)
{
g_fLastTime[client] = fTime;
FakeClientCommand(client, "MyCmd");
}
}
return Plugin_Continue;
}
public Action OnPlayerRunCmd(int iClient, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
static iPrevButtons[MAXPLAYERS+1];
if(!IsFakeClient(iClient) && (buttons & IN_USE) && !(iPrevButtons[iClient] & IN_USE))
{
FakeClientCommand(iClient, "say !ztele");
}
iPrevButtons[iClient] = buttons;
return Plugin_Continue;
}
public void OnPluginStart()
{
RegConsoleCmd("drop", button);
}
public Action button(iClient, args)
{
FakeClientCommand(iClient, "sm_osmotr");
1 вариант
2 вариантC-подобный:new Float:g_fLastTime[MAXPLAYERS + 1]; public OnClientDisconnect(client) g_fLastTime[client] = 0.0; public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) { if (impulse == 100) { decl Float:fTime; if (((fTime = GetGameTime()) - g_fLastTime[client]) > 0.05) { g_fLastTime[client] = fTime; FakeClientCommand(client, "MyCmd"); } } return Plugin_Continue; }
3 вариантC-подобный:public Action OnPlayerRunCmd(int iClient, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon) { static iPrevButtons[MAXPLAYERS+1]; if(!IsFakeClient(iClient) && (buttons & IN_USE) && !(iPrevButtons[iClient] & IN_USE)) { FakeClientCommand(iClient, "say !ztele"); } iPrevButtons[iClient] = buttons; return Plugin_Continue; }
C-подобный:public void OnPluginStart() { RegConsoleCmd("drop", button); } public Action button(iClient, args) { FakeClientCommand(iClient, "sm_osmotr");
Менять тут.(buttons & IN_USE) && !(iPrevButtons[iClient] & IN_USE))
Оффтоп@alex123pavlov, 3-й вариант отпадает, вообще не то. В 1-м не задействуются клавиши. Только 2-й, и то, у тебя стоит сейчас на клавишу E (англ. раскладка), т.е. клавиша использовать, если по дефолту Е стоит.
--- Добавлено позже ---
Менять тут.
Да это, а можно как-нибудь на другие кнопки ставить?Значит в entity_prop_stocks.inc посмотрите. На память же набирал.
@R1w3d, через 3 вариант. Посмотрите, какая команда висит на нужной кнопке (bind клавиша; следует учитывать, что если на этой кнопке у игроков висит что-то другое, то у них это работать не будет), и вставляете в RegConsoleCmd в кавычки.
public void OnPluginStart()
{
RegConsoleCmd("bind F5", button);
}
public Action button(iClient, args)
{
FakeClientCommand(iClient, "sm_menu");
}
Отсутствие дифузов - 50% успешно вырватьЛюди помогите мне, почему провод выбираешь правильный а бомба взрывается?
Вот что пишит плагин в чат:
[QuickDefuse] Вы выбрали Зеленый провод.
[QuickDefuse] Killer неудачно вырвал верный Зеленый провод, что привело к детонации!
А как убрать?Отсутствие дифузов - 50% успешно вырвать