Код
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
new trigger[MAXPLAYERS+1] = 0;
public OnPluginStart() {
HookEvent("player_spawn", player_spawn);
}
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) {
if (trigger[client] == 0) {
if(GetClientButtons(client) & IN_DUCK) {
CreateTimer(3.0, aTimer, client);
}
}
if (trigger[client] == 1) {
buttons &= ~IN_DUCK;
return Plugin_Changed;
}
return Plugin_Continue;
}
public player_spawn(Handle:event,const String:name[],bool:dontBroadcast) {
new client = GetClientOfUserId(GetEventInt(event, "userid"));
trigger[client] = 0;
}
public Action:aTimer(Handle:timer, any:client) {
if (IsClientInGame(client)) trigger[client] = 1;
}
Так должно работать, проверки только еще допиши, в игре плеер или нет и т.п..Добавлено (03.03.2013, 21:47:11)
---------------------------------------------
кстати пока писал, возник вопрос, как проверить что игрок отжал кнопку? Если есть такая проверка то можно было бы чуть чуть изменить скрипт и было бы идеально...