NotApollyon093 |
08-08-2020 15:17 |
[ANY] Plugin not logging commands
I'm working on some old code that no longer seems to do it's job. Can anyone spot the error? It's supposed to be logging all executed commands to a folder.
Code:
Code:
#pragma semicolon 1
#include <sourcemod>
new String:ClientSteamID[MAXPLAYERS+1][60];
public Plugin:myinfo =
{
name = "Log all executed commands by players",
author = "Seather + Dyl0n + [FJC] Apollyon094",
description = "displays on server console and logs sourcemod commands executed by players",
version = "0.0.2",
url = "http://www.sourcemod.net/"
};
public OnPluginStart()
{
HookAll(1);
}
HookAll(mode)
{
decl String:name[64];
new Handle:cvar, bool:isCommand, flags;
new commandCount = 0;
//Fetch first command
cvar = FindFirstConCommand(name, sizeof(name), isCommand, flags);
if (cvar == INVALID_HANDLE)
{
SetFailState("Could not load cvar list");
}
//Process + get more loop
do
{
//get rid of cvars
if (!isCommand)
{
continue;
}
commandCount++;
//PrintToServer("[show command] hook: %s", name);
new count = sizeof(name);
//Hook Command
if(mode == 1) {
if(count-3 > -1)
{
if(name[0] + name[1] + name[2] == 's' + 'm' + '_')
{
if(name[count-4] + name[count-3] + name[count-2] + name[count-1] != '.' + 's' + 'm' + 'x')
{
RegConsoleCmd(name, Command_All);
RegServerCmd(name, Command_SV);
}
}
}
}
} while (FindNextConCommand(cvar, name, sizeof(name), isCommand, flags));
CloseHandle(cvar);
}
//hooked in OnPluginStart
public Action:Command_All(client, args)
{
if(client != 0)
{
decl String:cmdname[128];
GetCmdArg(0, cmdname, sizeof(cmdname));
decl String:argstr[128];
GetCmdArgString(argstr, sizeof(argstr));
new String:PlayerInfo[60];
new String:PlayerName[32];
GetClientAuthId(client, AuthId_Steam2, PlayerInfo, sizeof(PlayerInfo));
strcopy(ClientSteamID[client], 60, PlayerInfo);
GetClientName(client, PlayerName, 31);
LogToFile("sourcemod/logs/execcommands.log", "%s [%s] %s %s", PlayerName, ClientSteamID[client], cmdname, argstr);
//PrintToServer("[show method 1] <%i> %s %s", client, cmdname, argstr);
}
return Plugin_Continue;
}
//hooked in OnPluginStart with server hook
public Action:Command_SV(args)
{
decl String:cmdname[128];
GetCmdArg(0, cmdname, sizeof(cmdname));
decl String:argstr[128];
GetCmdArgString(argstr, sizeof(argstr));
LogToFile("sourcemod/logs/execcommands.log", "cmd: %s args: %s", cmdname, argstr);
//PrintToServer("[show method 4] <-> %s %s", cmdname, argstr);
return Plugin_Continue;
}
Only stopped working after updating sourcemod after a long time
|