Первый вариант предложеный AtomicStryker предполагает указание команды, а потом всех параметров.
Мой вариант же самостоятельно определяет что является командой а что агрументами, поэтому не требуется парится с оптимизацией кода под эти нужды, но это более тяжелый вариант, однако нашлись те плагины где это гораздо выгодней по ресурсам.
Source / Код:
stock CheatCommand(client, String:command[], String:arguments[]="")
{
new userflags = GetUserFlagBits(client);
SetUserFlagBits(client, ADMFLAG_ROOT);
new flags = GetCommandFlags(command);
SetCommandFlags(command, flags & ~FCVAR_CHEAT);
FakeClientCommand(client, "%s %s", command, arguments);
SetCommandFlags(command, flags);
SetUserFlagBits(client, userflags);
}
stock CheatCommandEx(client, String:buffer[])
{
new args_num = ReplaceString(buffer, strlen(buffer), " ", " ");
decl String:sBuffers[args_num+1][100];
ExplodeString(buffer, " ", sBuffers, args_num+1, sizeof(sBuffers[]));
new flags = GetCommandFlags(sBuffers[0]);
SetCommandFlags(sBuffers[0], flags & ~FCVAR_CHEAT);
new userflags = GetUserFlagBits(client);
SetUserFlagBits(client, ADMFLAG_ROOT);
FakeClientCommand(client, buffer);
SetCommandFlags(sBuffers[0], flags);
SetUserFlagBits(client, userflags);
}