View Single Post
little_froy
Senior Member
Join Date: May 2021
Old 12-20-2022 , 02:08   Re: Is IsClientInGame() really includes IsClientConnected check?
Reply With Quote #3

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);
}

Last edited by little_froy; 12-20-2022 at 02:10.
little_froy is online now