I have used this procedure in my script:
blabla hue hue
That example just shows how to block certain commands by setting the result as true. That means the listed commands /kill, /brutalkill and /mercy won't do any harm ingame and they will be simply ignored.
Most of the admin cmds and nonstandart(aka bullshit) cmds can be actually seen in the logs. Classic player cmds and short ones are left out tho, probably to reduce the spam in the console.
So you gotta decide what you really want to see in your logs.
Here's an example:
function OnCommandOutput(Player: TActivePlayer; Command: string): Boolean;
begin
if ExecRegExpr('^/adminlog [A-Za-z0-9_]*', Command) then WriteLn(+Command+'('+Player.IP+'|'+Player.HWID+'['+Player.NAME+'])');
case lowercase(Command) of
'/kill','/brutalkill','/mercy','/smoke','/victory':
WriteLn(+Command+'('+Player.IP+'['+Player.NAME+'])');
end;
Result := FALSE;
end;
var
i: Byte;
begin
for i:=1 to 32 do
Players[i].OnCommand := @OnCommandOutput;
end.
#MakeSoldatGreatAgainBtw: I am neither pascalist nor scripter but this.script shall do the job tho.