new IsPlayerVoted[MAXPLAYERS+1] = {0, ...};
new Handle:g_hSvAlltalk = INVALID_HANDLE;
public OnPluginStart()
{
RegConsoleCmd("sm_alltalk", votealltalk);
RegConsoleCmd("sm_at", votealltalk);
g_hSvAlltalk = FindConVar("sv_alltalk");
}
public Action:votealltalk(client, args)
{
if(client && IsClientInGame(client))
{
IsPlayerVoted[client] = !IsPlayerVoted[client];
new votes;
new client_count;
for(new i = 1; i <= MaxClients; i++)
if(IsClientInGame(i) && !IsFakeClient(i))
{
votes += IsPlayerVoted[i];
client_count++;
}
//if((votes/client_count*100) > 40)
if(RoundFloat(FloatMul((float(votes)/float(client_count)),100.0)) >= 50)
SetConVarBool(g_hSvAlltalk, true);
else
SetConVarBool(g_hSvAlltalk, false);
PrintToChatAll("[VoteAllTalk] %N %s за AllTalk! (%d/%d)", client, IsPlayerVoted[client] ? "проголосовал" : "забрал свой голос", votes, RoundFloat(float(client_count)*0.50));
}
return Plugin_Handled;
}
public OnClientConnected(client)
IsPlayerVoted[client] = 0;
public OnClientDisconnect(client)
IsPlayerVoted[client] = 0;