From ed0850e6e816fc0020b71832c8bdf0ef037664c3 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 1 Apr 2011 15:07:57 +0200 Subject: [PATCH] new command: sv_cmd adminmsg "string" shows using the "infobar" console command on the client --- qcsrc/server/gamecommand.qc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/gamecommand.qc b/qcsrc/server/gamecommand.qc index e1d7cb15d..9f29cc137 100644 --- a/qcsrc/server/gamecommand.qc +++ b/qcsrc/server/gamecommand.qc @@ -680,7 +680,7 @@ void GameCommand(string command) if(argv(0) == "help" || argc == 0) { print("Usage: sv_cmd COMMAND..., where possible commands are:\n"); - print(" adminmsg clientnumber \"message\"\n"); + print(" adminmsg clientnumber \"message\" [infobartime]\n"); print(" teamstatus\n"); print(" printstats\n"); print(" make_mapinfo\n"); @@ -761,7 +761,7 @@ void GameCommand(string command) } if(argv(0) == "adminmsg") - if(argc == 3) + if(argc >= 3 && argc <= 4) { entno = stof(argv(1)); @@ -774,8 +774,20 @@ void GameCommand(string command) if(client.flags & FL_CLIENT) { - centerprint_atprio(client, CENTERPRIO_ADMIN, strcat("^3", admin_name(), ":\n\n^7", argv(2))); - sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n")); + if(argc == 4) + { + s = argv(2); + s = strreplace(s, "\n", ""); + s = strreplace(s, "\\", "\\\\"); + s = strreplace(s, "$", "$$"); + s = strreplace(s, "\"", "\\\""); + stuffcmd(client, sprintf("\ninfobar %f \"%s\"\n", stof(argv(3)), s)); + } + else + { + centerprint_atprio(client, CENTERPRIO_ADMIN, strcat("^3", admin_name(), ":\n\n^7", argv(2))); + sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n")); + } print("Message sent to ", client.netname, "\n"); } else -- 2.39.2