i don't know but i can confirm that, FakeClientCommand() cause player disconnected if it runs too often.
Code:
#pragma tabsize 0
#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>
#define COUNT (1000)
public Action cmd_test(int client, int args)
{
if(client > 0 && client <= MaxClients && IsClientInGame(client) && IsClientConnected(client))
{
for(int i = 0; i < COUNT; i++)
{
int userflags = GetUserFlagBits(client);
int cmdflags = GetCommandFlags("give");
SetUserFlagBits(client, ADMFLAG_ROOT);
SetCommandFlags("give", cmdflags & ~FCVAR_CHEAT);
FakeClientCommand(client, "give health");
SetCommandFlags("give", cmdflags);
SetUserFlagBits(client, userflags);
}
}
return Plugin_Handled;
}
public void OnPluginStart()
{
RegConsoleCmd("sm_test", cmd_test);
}