diff --git a/README b/README index e8d4c936..0a2f360e 100644 --- a/README +++ b/README @@ -298,6 +298,8 @@ New commands which - print out the path on disk to a loaded item + tell - send message to a single client (new to server) + --------------------------------------------------------- README for Users ----- diff --git a/code/server/sv_ccmds.c b/code/server/sv_ccmds.c index 8ddb94dc..5f5400b6 100644 --- a/code/server/sv_ccmds.c +++ b/code/server/sv_ccmds.c @@ -1164,6 +1164,45 @@ static void SV_ConSay_f(void) { SV_SendServerCommand(NULL, "chat \"%s\"", text); } +/* +================== +SV_ConTell_f +================== +*/ +static void SV_ConTell_f(void) { + char *p; + char text[1024]; + client_t *cl; + + // make sure server is running + if ( !com_sv_running->integer ) { + Com_Printf( "Server is not running.\n" ); + return; + } + + if ( Cmd_Argc() < 3 ) { + Com_Printf ("Usage: tell \n"); + return; + } + + cl = SV_GetPlayerByNum(); + if ( !cl ) { + return; + } + + strcpy (text, "console_tell: "); + p = Cmd_ArgsFrom(2); + + if ( *p == '"' ) { + p++; + p[strlen(p)-1] = 0; + } + + strcat(text, p); + + SV_SendServerCommand(cl, "chat \"%s\"", text); +} + /* ================== @@ -1299,6 +1338,7 @@ void SV_AddOperatorCommands( void ) { Cmd_AddCommand ("killserver", SV_KillServer_f); if( com_dedicated->integer ) { Cmd_AddCommand ("say", SV_ConSay_f); + Cmd_AddCommand ("tell", SV_ConTell_f); } Cmd_AddCommand("rehashbans", SV_RehashBans_f);