X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fgamecommand.qc;h=b0085224fadb3064e9aef6a817c1c2a6fc263222;hb=0731fd69a669075745c22c9e7e8413fe05583b50;hp=e1d7cb15df518149d7665ef07918f80dd8ade1e9;hpb=3fbe5da6eae001732b902e3c5247a3668a27f294;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/gamecommand.qc b/qcsrc/server/gamecommand.qc index e1d7cb15d..b0085224f 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,24 +761,40 @@ void GameCommand(string command) } if(argv(0) == "adminmsg") - if(argc == 3) + if(argc >= 3 && argc <= 4) { entno = stof(argv(1)); - if((entno < 1) | (entno > maxclients)) { + if((entno < 0) | (entno > maxclients)) { print("Player ", argv(1), " doesn't exist\n"); return; } - client = edict_num(entno); - - if(client.flags & FL_CLIENT) + n = 0; + for(i = (entno ? entno : 1); i <= (entno ? entno : maxclients); ++i) { - 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"); + client = edict_num(i); + if(client.flags & FL_CLIENT) + { + 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"); + ++n; + } } - else + if(!n) print("Client not found\n"); return;