When setting option
"Blacklist Commands": true,this brakes commands for all players. I guess that commented part is wrong and should be changed.
Also, please, add a check if player is on event, don't block commands just for all.
Also, please, use message to let player know you blocked the command, don't just block it silently...
object OnPlayerCommand(BasePlayer player, string command, string[] args)
{
if (!init || !player.IsValid() || player.transform == null || !DuelTerritory(player.transform.position))
{
return null;
}
if (useBlacklistCommands && blacklistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
if (useWhitelistCommands && !whitelistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
return null;
}
object OnUserCommand(IPlayer p, string command, string[] args)
{
BasePlayer player = p.Object as BasePlayer;
if (!init || !player.IsValid() || player.transform == null || !DuelTerritory(player.transform.position))
{
return null;
}
if (useBlacklistCommands && blacklistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
if (useWhitelistCommands && !whitelistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
return null;
}
object OnServerCommand(ConsoleSystem.Arg arg)
{
var player = arg.Player();
if (!player.IsValid() || !DuelTerritory(player.transform.position))
{
return null;
}
string command = arg.cmd.FullName;
if (useBlacklistCommands && blacklistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
if (useWhitelistCommands && !whitelistCommands.Any(entry => entry.Replace("/", "").Equals(command, StringComparison.OrdinalIgnoreCase)))
{
player.ChatMessage(msg("CommandNotAllowed", player.UserIDString));
return true;
}
return null;
}