From f36b00f4d496cb90c8c77d0e6ae570502f3199ae Mon Sep 17 00:00:00 2001
From: Mattes D
- The server calls this hook even for unregistered (unknown) console commands. However, it doesn't call
- the hook for unregistered in-game commands, simply because there's no way to distinguish between a
- command and a chat message. If a plugin needs to intercept unknown in-game commands, it should use the
- {{OnChat|HOOK_CHAT}} hook.
+ The server calls this hook even for unregistered (unknown) console commands. It also calls the hook
+ for unknown in-game commands, as long as they begin with a slash ('/'). If a plugin needs to intercept
+ in-game chat messages not beginning with a slash, it should use the {{OnChat|HOOK_CHAT}} hook.
]],
Params =
{
diff --git a/src/Bindings/PluginManager.cpp b/src/Bindings/PluginManager.cpp
index 15bea22bd..db2493955 100644
--- a/src/Bindings/PluginManager.cpp
+++ b/src/Bindings/PluginManager.cpp
@@ -1445,6 +1445,13 @@ cPluginManager::CommandResult cPluginManager::HandleCommand(cPlayer & a_Player,
if (cmd == m_Commands.end())
{
// Command not found
+ // If it started with a slash, ask the plugins if they still want to handle it:
+ if (!a_Command.empty() && (a_Command[0] == '/'))
+ {
+ CommandResult Result = crUnknownCommand;
+ CallHookExecuteCommand(&a_Player, Split, a_Command, Result);
+ return Result;
+ }
return crUnknownCommand;
}
--
cgit v1.2.3
From 2cdc2a16e4631c541f0b520f547621a23fe90baa Mon Sep 17 00:00:00 2001
From: Mattes D