X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fbase.qh;h=73b23bbd3f224201ecffa53725fe544a3b225573;hb=30cd3220d0370aa10dfb62eeb2ee3145d56b1c68;hp=e26280e61a695cf0fedcff92ff3fd487c803a830;hpb=06244ad48a6bd57ce8a5fbcf4a11672861f063b3;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/base.qh b/qcsrc/server/mutators/base.qh index e26280e61..73b23bbd3 100644 --- a/qcsrc/server/mutators/base.qh +++ b/qcsrc/server/mutators/base.qh @@ -159,3 +159,32 @@ MUTATOR_HOOKABLE(PlayerUseKey); // called when the use key is pressed // if MUTATOR_RETURNVALUE is 1, don't do anything // return 1 if the use key actually did something + +MUTATOR_HOOKABLE(SV_ParseClientCommand); + // called when a client command is parsed + // NOTE: hooks MUST start with if(MUTATOR_RETURNVALUE) return 0; + // NOTE: return 1 if you handled the command, return 0 to continue handling + // NOTE: THESE HOOKS MUST NEVER EVER CALL tokenize() + // INPUT + string cmd_name; // command name + float cmd_argc; // also, argv() can be used + string cmd_string; // whole command, use only if you really have to + /* + // example: + MUTATOR_HOOKFUNCTION(foo_SV_ParseClientCommand) + { + if(MUTATOR_RETURNVALUE) // command was already handled? + return 0; + if(cmd_name == "echocvar" && cmd_argc >= 2) + { + print(cvar_string(argv(1)), "\n"); + return 1; + } + if(cmd_name == "echostring" && cmd_argc >= 2) + { + print(substring(cmd_string, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)), "\n"); + return 1; + } + return 0; + } + */