default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd blurtest");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 cl_cmd blurtest");
+ LOG_HELP(" No arguments required.");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO(
- "Usage:^3 lv_cmd boxparticles effectname own org_from org_to, dir_from, dir_to, countmultiplier, flags\n"
- " 'effectname' is the name of a particle effect in effectinfo.txt\n"
- " 'own' is the entity number of the owner (negative for csqc ent, positive for svqc ent)\n"
- " 'org_from' is the starting origin of the box\n"
- " 'org_to' is the ending origin of the box\n"
- " 'dir_from' is the minimum velocity\n"
- " 'dir_to' is the maximum velocity\n"
- " 'countmultiplier' defines a multiplier for the particle count (affects count only, not countabsolute or trailspacing)\n"
- " 'flags' can contain:\n"
- " 1 to respect globals particles_alphamin, particles_alphamax (set right before via prvm_globalset client)\n"
- " 2 to respect globals particles_colormin, particles_colormax (set right before via prvm_globalset client)\n"
- " 4 to respect globals particles_fade (set right before via prvm_globalset client)\n"
- " 128 to draw a trail, not a box\n"
+ LOG_HELP(
+ "Usage:^3 lv_cmd boxparticles effectname own org_from org_to, dir_from, dir_to, countmultiplier, flags\n"
+ " 'effectname' is the name of a particle effect in effectinfo.txt\n"
+ " 'own' is the entity number of the owner (negative for csqc ent, positive for svqc ent)\n"
+ " 'org_from' is the starting origin of the box\n"
+ " 'org_to' is the ending origin of the box\n"
+ " 'dir_from' is the minimum velocity\n"
+ " 'dir_to' is the maximum velocity\n"
+ " 'countmultiplier' defines a multiplier for the particle count (affects count only, not countabsolute or trailspacing)\n"
+ " 'flags' can contain:\n"
+ " 1 to respect globals particles_alphamin, particles_alphamax (set right before via prvm_globalset client)\n"
+ " 2 to respect globals particles_colormin, particles_colormax (set right before via prvm_globalset client)\n"
+ " 4 to respect globals particles_fade (set right before via prvm_globalset client)\n"
+ " 128 to draw a trail, not a box"
);
return;
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd create_scrshot_ent [path]");
- LOG_INFO(" Where 'path' can be the subdirectory of data/data in which the file is saved.");
+ LOG_HELP("Usage:^3 cl_cmd create_scrshot_ent [path]");
+ LOG_HELP(" Where 'path' can be the subdirectory of data/data in which the file is saved.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd debugmodel model");
- LOG_INFO(" Where 'model' is a string of the model name to use for the debug model.");
+ LOG_HELP("Usage:^3 cl_cmd debugmodel model");
+ LOG_HELP(" Where 'model' is a string of the model name to use for the debug model.");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd handlevote vote");
- LOG_INFO(" Where 'vote' is the selection for either the current poll or uid2name.");
+ LOG_HELP("Usage:^3 cl_cmd handlevote vote");
+ LOG_HELP(" Where 'vote' is the selection for either the current poll or uid2name.");
return;
}
}
{
if (argv(2) == "help")
{
- LOG_INFO(" quickmenu [[default | file | \"\"] submenu file]");
- LOG_INFO("Called without options (or with \"\") loads either the default quickmenu or a quickmenu file if hud_panel_quickmenu_file is set to a valid filename.");
- LOG_INFO("A submenu name can be given to open the quickmenu directly in a submenu; it requires to specify 'default', 'file' or '\"\"' option.");
- LOG_INFO("A file name can also be given to open a different quickmenu");
+ LOG_HELP(" quickmenu [[default | file | \"\"] submenu file]");
+ LOG_HELP("Called without options (or with \"\") loads either the default quickmenu or a quickmenu file if hud_panel_quickmenu_file is set to a valid filename.");
+ LOG_HELP("A submenu name can be given to open the quickmenu directly in a submenu; it requires to specify 'default', 'file' or '\"\"' option.");
+ LOG_HELP("A file name can also be given to open a different quickmenu");
return;
}
string file = ((argv(4) == "") ? autocvar_hud_panel_quickmenu_file : argv(4));
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd hud action [configname | radartoggle | layout]");
- LOG_INFO(" Where 'action' is the command to complete,");
- LOG_INFO(" 'configname' is the name to save to for \"save\" action,");
- LOG_INFO(" 'radartoggle' is to control hud_panel_radar_maximized for \"radar\" action,");
- LOG_INFO(" and 'layout' is how to organize the scoreboard columns for the set action.");
- LOG_INFO(" Full list of commands here: \"configure, quickmenu, minigame, save, scoreboard_columns_help, scoreboard_columns_set, radar.\"");
+ LOG_HELP("Usage:^3 cl_cmd hud action [configname | radartoggle | layout]");
+ LOG_HELP(" Where 'action' is the command to complete,");
+ LOG_HELP(" 'configname' is the name to save to for \"save\" action,");
+ LOG_HELP(" 'radartoggle' is to control hud_panel_radar_maximized for \"radar\" action,");
+ LOG_HELP(" and 'layout' is how to organize the scoreboard columns for the set action.");
+ LOG_HELP(" Full list of commands here: \"configure, quickmenu, minigame, save, scoreboard_columns_help, scoreboard_columns_set, radar.\"");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd localprint \"message\"");
- LOG_INFO(" 'message' is the centerprint message to send to yourself.");
+ LOG_HELP("Usage:^3 cl_cmd localprint \"message\"");
+ LOG_HELP(" 'message' is the centerprint message to send to yourself.");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd mv_download mapid");
- LOG_INFO(" Where 'mapid' is the id number of the map to request an image of on the map vote selection menu.");
+ LOG_HELP("Usage:^3 cl_cmd mv_download mapid");
+ LOG_HELP(" Where 'mapid' is the id number of the map to request an image of on the map vote selection menu.");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd sendcvar <cvar>");
- LOG_INFO(" Where 'cvar' is the cvar to send to the server.");
+ LOG_HELP("Usage:^3 cl_cmd sendcvar <cvar>");
+ LOG_HELP(" Where 'cvar' is the cvar to send to the server.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- print("\nUsage:^3 cl_cmd \n");
- print(" No arguments required.\n");
+ LOG_HELP("Usage:^3 cl_cmd ");
+ LOG_HELP(" No arguments required.");
return;
}
}
void LocalCommand_macro_help()
{
- FOREACH(CLIENT_COMMANDS, true, LOG_INFOF(" ^2%s^7: %s", it.m_name, it.m_description));
+ FOREACH(CLIENT_COMMANDS, true, LOG_HELPF(" ^2%s^7: %s", it.m_name, it.m_description));
}
bool LocalCommand_macro_command(int argc, string command)
{
if (argc == 1)
{
- LOG_INFO("Client console commands:");
+ LOG_HELP("Client console commands:");
LocalCommand_macro_help();
- LOG_INFO("\nGeneric commands shared by all programs:");
+ LOG_HELP("\nGeneric commands shared by all programs:");
GenericCommand_macro_help();
- LOG_INFO("\nUsage:^3 cl_cmd COMMAND...^7, where possible commands are listed above.");
- LOG_INFO("For help about a specific command, type cl_cmd help COMMAND");
+ LOG_HELP("\nUsage:^3 cl_cmd COMMAND...^7, where possible commands are listed above.");
+ LOG_HELP("For help about a specific command, type cl_cmd help COMMAND");
return;
}
switch(label)
{
- case "bckills": if (!mode) return CTX(_("SCO^bckills")); else LOG_INFO(strcat("^3", "bckills", " ^7", _("Number of ball carrier kills")));
- case "bctime": if (!mode) return CTX(_("SCO^bctime")); else LOG_INFO(strcat("^3", "bctime", " ^7", _("Total amount of time holding the ball in Keepaway")));
- case "caps": if (!mode) return CTX(_("SCO^caps")); else LOG_INFO(strcat("^3", "caps", " ^7", _("How often a flag (CTF) or a key (KeyHunt) was captured")));
- case "captime": if (!mode) return CTX(_("SCO^captime")); else LOG_INFO(strcat("^3", "captime", " ^7", _("Time of fastest capture (CTF)")));
- case "deaths": if (!mode) return CTX(_("SCO^deaths")); else LOG_INFO(strcat("^3", "deaths", " ^7", _("Number of deaths")));
- case "destroyed": if (!mode) return CTX(_("SCO^destroyed")); else LOG_INFO(strcat("^3", "destroyed", " ^7", _("Number of keys destroyed by pushing them into void")));
- case "dmg": if (!mode) return CTX(_("SCO^damage")); else LOG_INFO(strcat("^3", "dmg", " ^7", _("The total damage done")));
- case "dmgtaken": if (!mode) return CTX(_("SCO^dmgtaken")); else LOG_INFO(strcat("^3", "dmgtaken", " ^7", _("The total damage taken")));
- case "drops": if (!mode) return CTX(_("SCO^drops")); else LOG_INFO(strcat("^3", "drops", " ^7", _("Number of flag drops")));
- case "elo": if (!mode) return CTX(_("SCO^elo")); else LOG_INFO(strcat("^3", "elo", " ^7", _("Player ELO")));
- case "fastest": if (!mode) return CTX(_("SCO^fastest")); else LOG_INFO(strcat("^3", "fastest", " ^7", _("Time of fastest lap (Race/CTS)")));
- case "faults": if (!mode) return CTX(_("SCO^faults")); else LOG_INFO(strcat("^3", "faults", " ^7", _("Number of faults committed")));
- case "fckills": if (!mode) return CTX(_("SCO^fckills")); else LOG_INFO(strcat("^3", "fckills", " ^7", _("Number of flag carrier kills")));
- case "fps": if (!mode) return CTX(_("SCO^fps")); else LOG_INFO(strcat("^3", "fps", " ^7", _("FPS")));
- case "frags": if (!mode) return CTX(_("SCO^frags")); else LOG_INFO(strcat("^3", "frags", " ^7", _("Number of kills minus suicides")));
- case "goals": if (!mode) return CTX(_("SCO^goals")); else LOG_INFO(strcat("^3", "goals", " ^7", _("Number of goals scored")));
- case "kckills": if (!mode) return CTX(_("SCO^kckills")); else LOG_INFO(strcat("^3", "kckills", " ^7", _("Number of keys carrier kills")));
- case "kd": if (!mode) return CTX(_("SCO^k/d")); else LOG_INFO(strcat("^3", "kd", " ^7", _("The kill-death ratio")));
- case "kdr": if (!mode) return CTX(_("SCO^kdr")); else LOG_INFO(strcat("^3", "kdr", " ^7", _("The kill-death ratio")));
- case "kdratio": if (!mode) return CTX(_("SCO^kdratio")); else LOG_INFO(strcat("^3", "kdratio", " ^7", _("The kill-death ratio")));
- case "kills": if (!mode) return CTX(_("SCO^kills")); else LOG_INFO(strcat("^3", "kills", " ^7", _("Number of kills")));
- case "laps": if (!mode) return CTX(_("SCO^laps")); else LOG_INFO(strcat("^3", "laps", " ^7", _("Number of laps finished (Race/CTS)")));
- case "lives": if (!mode) return CTX(_("SCO^lives")); else LOG_INFO(strcat("^3", "lives", " ^7", _("Number of lives (LMS)")));
- case "losses": if (!mode) return CTX(_("SCO^losses")); else LOG_INFO(strcat("^3", "losses", " ^7", _("Number of times a key was lost")));
- case "name": if (!mode) return CTX(_("SCO^name")); else LOG_INFO(strcat("^3", "name", " ^7", _("Player name")));
- case "nick": if (!mode) return CTX(_("SCO^nick")); else LOG_INFO(strcat("^3", "nick", " ^7", _("Player name")));
- case "objectives": if (!mode) return CTX(_("SCO^objectives")); else LOG_INFO(strcat("^3", "objectives", " ^7", _("Number of objectives destroyed")));
- case "pickups": if (!mode) return CTX(_("SCO^pickups")); else LOG_INFO(strcat("^3", "pickups", " ^7", _("How often a flag (CTF) or a key (KeyHunt) or a ball (Keepaway) was picked up")));
- case "ping": if (!mode) return CTX(_("SCO^ping")); else LOG_INFO(strcat("^3", "ping", " ^7", _("Ping time")));
- case "pl": if (!mode) return CTX(_("SCO^pl")); else LOG_INFO(strcat("^3", "pl", " ^7", _("Packet loss")));
- case "pushes": if (!mode) return CTX(_("SCO^pushes")); else LOG_INFO(strcat("^3", "pushes", " ^7", _("Number of players pushed into void")));
- case "rank": if (!mode) return CTX(_("SCO^rank")); else LOG_INFO(strcat("^3", "rank", " ^7", _("Player rank")));
- case "returns": if (!mode) return CTX(_("SCO^returns")); else LOG_INFO(strcat("^3", "returns", " ^7", _("Number of flag returns")));
- case "revivals": if (!mode) return CTX(_("SCO^revivals")); else LOG_INFO(strcat("^3", "revivals", " ^7", _("Number of revivals")));
- case "rounds": if (!mode) return CTX(_("SCO^rounds won")); else LOG_INFO(strcat("^3", "rounds", " ^7", _("Number of rounds won")));
- case "score": if (!mode) return CTX(_("SCO^score")); else LOG_INFO(strcat("^3", "score", " ^7", _("Total score")));
- case "suicides": if (!mode) return CTX(_("SCO^suicides")); else LOG_INFO(strcat("^3", "suicides", " ^7", _("Number of suicides")));
- case "sum": if (!mode) return CTX(_("SCO^sum")); else LOG_INFO(strcat("^3", "sum", " ^7", _("Number of kills minus deaths")));
- case "takes": if (!mode) return CTX(_("SCO^takes")); else LOG_INFO(strcat("^3", "takes", " ^7", _("Number of domination points taken (Domination)")));
- case "teamkills": if (!mode) return CTX(_("SCO^teamkills")); else LOG_INFO(strcat("^3", "teamkills", " ^7", _("Number of teamkills")));
- case "ticks": if (!mode) return CTX(_("SCO^ticks")); else LOG_INFO(strcat("^3", "ticks", " ^7", _("Number of ticks (Domination)")));
- case "time": if (!mode) return CTX(_("SCO^time")); else LOG_INFO(strcat("^3", "time", " ^7", _("Total time raced (Race/CTS)")));
+ case "bckills": if (!mode) return CTX(_("SCO^bckills")); else LOG_HELP(strcat("^3", "bckills", " ^7", _("Number of ball carrier kills")));
+ case "bctime": if (!mode) return CTX(_("SCO^bctime")); else LOG_HELP(strcat("^3", "bctime", " ^7", _("Total amount of time holding the ball in Keepaway")));
+ case "caps": if (!mode) return CTX(_("SCO^caps")); else LOG_HELP(strcat("^3", "caps", " ^7", _("How often a flag (CTF) or a key (KeyHunt) was captured")));
+ case "captime": if (!mode) return CTX(_("SCO^captime")); else LOG_HELP(strcat("^3", "captime", " ^7", _("Time of fastest capture (CTF)")));
+ case "deaths": if (!mode) return CTX(_("SCO^deaths")); else LOG_HELP(strcat("^3", "deaths", " ^7", _("Number of deaths")));
+ case "destroyed": if (!mode) return CTX(_("SCO^destroyed")); else LOG_HELP(strcat("^3", "destroyed", " ^7", _("Number of keys destroyed by pushing them into void")));
+ case "dmg": if (!mode) return CTX(_("SCO^damage")); else LOG_HELP(strcat("^3", "dmg", " ^7", _("The total damage done")));
+ case "dmgtaken": if (!mode) return CTX(_("SCO^dmgtaken")); else LOG_HELP(strcat("^3", "dmgtaken", " ^7", _("The total damage taken")));
+ case "drops": if (!mode) return CTX(_("SCO^drops")); else LOG_HELP(strcat("^3", "drops", " ^7", _("Number of flag drops")));
+ case "elo": if (!mode) return CTX(_("SCO^elo")); else LOG_HELP(strcat("^3", "elo", " ^7", _("Player ELO")));
+ case "fastest": if (!mode) return CTX(_("SCO^fastest")); else LOG_HELP(strcat("^3", "fastest", " ^7", _("Time of fastest lap (Race/CTS)")));
+ case "faults": if (!mode) return CTX(_("SCO^faults")); else LOG_HELP(strcat("^3", "faults", " ^7", _("Number of faults committed")));
+ case "fckills": if (!mode) return CTX(_("SCO^fckills")); else LOG_HELP(strcat("^3", "fckills", " ^7", _("Number of flag carrier kills")));
+ case "fps": if (!mode) return CTX(_("SCO^fps")); else LOG_HELP(strcat("^3", "fps", " ^7", _("FPS")));
+ case "frags": if (!mode) return CTX(_("SCO^frags")); else LOG_HELP(strcat("^3", "frags", " ^7", _("Number of kills minus suicides")));
+ case "goals": if (!mode) return CTX(_("SCO^goals")); else LOG_HELP(strcat("^3", "goals", " ^7", _("Number of goals scored")));
+ case "kckills": if (!mode) return CTX(_("SCO^kckills")); else LOG_HELP(strcat("^3", "kckills", " ^7", _("Number of keys carrier kills")));
+ case "kd": if (!mode) return CTX(_("SCO^k/d")); else LOG_HELP(strcat("^3", "kd", " ^7", _("The kill-death ratio")));
+ case "kdr": if (!mode) return CTX(_("SCO^kdr")); else LOG_HELP(strcat("^3", "kdr", " ^7", _("The kill-death ratio")));
+ case "kdratio": if (!mode) return CTX(_("SCO^kdratio")); else LOG_HELP(strcat("^3", "kdratio", " ^7", _("The kill-death ratio")));
+ case "kills": if (!mode) return CTX(_("SCO^kills")); else LOG_HELP(strcat("^3", "kills", " ^7", _("Number of kills")));
+ case "laps": if (!mode) return CTX(_("SCO^laps")); else LOG_HELP(strcat("^3", "laps", " ^7", _("Number of laps finished (Race/CTS)")));
+ case "lives": if (!mode) return CTX(_("SCO^lives")); else LOG_HELP(strcat("^3", "lives", " ^7", _("Number of lives (LMS)")));
+ case "losses": if (!mode) return CTX(_("SCO^losses")); else LOG_HELP(strcat("^3", "losses", " ^7", _("Number of times a key was lost")));
+ case "name": if (!mode) return CTX(_("SCO^name")); else LOG_HELP(strcat("^3", "name", " ^7", _("Player name")));
+ case "nick": if (!mode) return CTX(_("SCO^nick")); else LOG_HELP(strcat("^3", "nick", " ^7", _("Player name")));
+ case "objectives": if (!mode) return CTX(_("SCO^objectives")); else LOG_HELP(strcat("^3", "objectives", " ^7", _("Number of objectives destroyed")));
+ case "pickups": if (!mode) return CTX(_("SCO^pickups")); else LOG_HELP(strcat("^3", "pickups", " ^7", _("How often a flag (CTF) or a key (KeyHunt) or a ball (Keepaway) was picked up")));
+ case "ping": if (!mode) return CTX(_("SCO^ping")); else LOG_HELP(strcat("^3", "ping", " ^7", _("Ping time")));
+ case "pl": if (!mode) return CTX(_("SCO^pl")); else LOG_HELP(strcat("^3", "pl", " ^7", _("Packet loss")));
+ case "pushes": if (!mode) return CTX(_("SCO^pushes")); else LOG_HELP(strcat("^3", "pushes", " ^7", _("Number of players pushed into void")));
+ case "rank": if (!mode) return CTX(_("SCO^rank")); else LOG_HELP(strcat("^3", "rank", " ^7", _("Player rank")));
+ case "returns": if (!mode) return CTX(_("SCO^returns")); else LOG_HELP(strcat("^3", "returns", " ^7", _("Number of flag returns")));
+ case "revivals": if (!mode) return CTX(_("SCO^revivals")); else LOG_HELP(strcat("^3", "revivals", " ^7", _("Number of revivals")));
+ case "rounds": if (!mode) return CTX(_("SCO^rounds won")); else LOG_HELP(strcat("^3", "rounds", " ^7", _("Number of rounds won")));
+ case "score": if (!mode) return CTX(_("SCO^score")); else LOG_HELP(strcat("^3", "score", " ^7", _("Total score")));
+ case "suicides": if (!mode) return CTX(_("SCO^suicides")); else LOG_HELP(strcat("^3", "suicides", " ^7", _("Number of suicides")));
+ case "sum": if (!mode) return CTX(_("SCO^sum")); else LOG_HELP(strcat("^3", "sum", " ^7", _("Number of kills minus deaths")));
+ case "takes": if (!mode) return CTX(_("SCO^takes")); else LOG_HELP(strcat("^3", "takes", " ^7", _("Number of domination points taken (Domination)")));
+ case "teamkills": if (!mode) return CTX(_("SCO^teamkills")); else LOG_HELP(strcat("^3", "teamkills", " ^7", _("Number of teamkills")));
+ case "ticks": if (!mode) return CTX(_("SCO^ticks")); else LOG_HELP(strcat("^3", "ticks", " ^7", _("Number of ticks (Domination)")));
+ case "time": if (!mode) return CTX(_("SCO^time")); else LOG_HELP(strcat("^3", "time", " ^7", _("Total time raced (Race/CTS)")));
default: return label;
}
return label;
void Cmd_Scoreboard_Help()
{
- LOG_INFO(_("You can modify the scoreboard using the ^2scoreboard_columns_set command."));
- LOG_INFO(_("Usage:"));
- LOG_INFO("^2scoreboard_columns_set ^3default");
- LOG_INFO(_("^2scoreboard_columns_set ^3field1 field2 ..."));
- LOG_INFO(_("^2scoreboard_columns_set ^7without arguments reads the arguments from the cvar scoreboard_columns"));
- LOG_INFO(_(" ^5Note: ^7scoreboard_columns_set without arguments is executed on every map start"));
- LOG_INFO(_("^2scoreboard_columns_set ^3expand_default ^7loads default layout and expands it into the cvar scoreboard_columns so you can edit it"));
- LOG_INFO(_("You can use a ^3|^7 to start the right-aligned fields."));
- LOG_INFO(_("The following field names are recognized (case insensitive):"));
- LOG_INFO("");
+ LOG_HELP(_("You can modify the scoreboard using the ^2scoreboard_columns_set command."));
+ LOG_HELP(_("Usage:"));
+ LOG_HELP("^2scoreboard_columns_set ^3default");
+ LOG_HELP(_("^2scoreboard_columns_set ^3field1 field2 ..."));
+ LOG_HELP(_("^2scoreboard_columns_set ^7without arguments reads the arguments from the cvar scoreboard_columns"));
+ LOG_HELP(_(" ^5Note: ^7scoreboard_columns_set without arguments is executed on every map start"));
+ LOG_HELP(_("^2scoreboard_columns_set ^3expand_default ^7loads default layout and expands it into the cvar scoreboard_columns so you can edit it"));
+ LOG_HELP(_("You can use a ^3|^7 to start the right-aligned fields."));
+ LOG_HELP(_("The following field names are recognized (case insensitive):"));
+ LOG_HELP("");
PrintScoresLabels();
- LOG_INFO("");
+ LOG_HELP("");
- LOG_INFO(_("Before a field you can put a + or - sign, then a comma separated list\n"
+ LOG_HELP(_("Before a field you can put a + or - sign, then a comma separated list\n"
"of game types, then a slash, to make the field show up only in these\n"
"or in all but these game types. You can also specify 'all' as a\n"
"field to show all fields available for the current game mode."));
- LOG_INFO("");
+ LOG_HELP("");
- LOG_INFO(_("The special game type names 'teams' and 'noteams' can be used to\n"
+ LOG_HELP(_("The special game type names 'teams' and 'noteams' can be used to\n"
"include/exclude ALL teams/noteams game modes."));
- LOG_INFO("");
+ LOG_HELP("");
- LOG_INFO(_("Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4"));
- LOG_INFO(_("will display name, ping and pl aligned to the left, and the fields\n"
+ LOG_HELP(_("Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4"));
+ LOG_HELP(_("will display name, ping and pl aligned to the left, and the fields\n"
"right of the vertical bar aligned to the right."));
- LOG_INFO(_("'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+ LOG_HELP(_("'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
"other gamemodes except DM."));
}
LOG_INFO("Incorrect parameters for ^2addtolist^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " addtolist variable value");
- LOG_INFO(" Where 'variable' is what to add 'value' to.");
- LOG_INFO("See also: ^2removefromlist^7");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " addtolist variable value");
+ LOG_HELP(" Where 'variable' is what to add 'value' to.");
+ LOG_HELP("See also: ^2removefromlist^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " qc_curl [--key N] [--cvar] [--exec] URL [postargs...]");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " qc_curl [--key N] [--cvar] [--exec] URL [postargs...]");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpcommands");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpcommands");
+ LOG_HELP(" No arguments required.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2maplist^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " maplist action [map]");
- LOG_INFO(" Where 'action' is the command to complete,");
- LOG_INFO(" and 'map' is what it acts upon (if required).");
- LOG_INFO(" Full list of commands here: \"add, cleanup, remove, shuffle.\"");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " maplist action [map]");
+ LOG_HELP(" Where 'action' is the command to complete,");
+ LOG_HELP(" and 'map' is what it acts upon (if required).");
+ LOG_HELP(" Full list of commands here: \"add, cleanup, remove, shuffle.\"");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " nextframe command...");
- LOG_INFO(" Where command will be executed next frame of this VM");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " nextframe command...");
+ LOG_HELP(" Where command will be executed next frame of this VM");
return;
}
}
LOG_INFO("Incorrect parameters for ^2removefromlist^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " removefromlist variable value");
- LOG_INFO(" Where 'variable' is what cvar to remove 'value' from.");
- LOG_INFO("See also: ^2addtolist^7");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " removefromlist variable value");
+ LOG_HELP(" Where 'variable' is what cvar to remove 'value' from.");
+ LOG_HELP("See also: ^2addtolist^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " restartnotifs");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " restartnotifs");
+ LOG_HELP(" No arguments required.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2settemp^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " settemp \"cvar\" \"arguments\"");
- LOG_INFO(" Where 'cvar' is the cvar you want to temporarily set with 'arguments'.");
- LOG_INFO("See also: ^2settemp_restore^7");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " settemp \"cvar\" \"arguments\"");
+ LOG_HELP(" Where 'cvar' is the cvar you want to temporarily set with 'arguments'.");
+ LOG_HELP("See also: ^2settemp_restore^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " settemp_restore");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2settemp^7");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " settemp_restore");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2settemp^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " [function to run]");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " [function to run]");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " "));
- print(" No arguments required.\n");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " ");
+ LOG_HELP(" No arguments required.");
return;
}
}
void GenericCommand_macro_help()
{
- FOREACH(GENERIC_COMMANDS, true, LOG_INFOF(" ^2%s^7: %s", it.m_name, it.m_description));
+ FOREACH(GENERIC_COMMANDS, true, LOG_HELPF(" ^2%s^7: %s", it.m_name, it.m_description));
}
float GenericCommand_macro_command(int argc, string command)
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " rpn EXPRESSION...");
- LOG_INFO(" Operator description (x: string, s: set, f: float):");
- LOG_INFO(" x pop -----------------------------> : removes the top");
- LOG_INFO(" x dup -----------------------------> x x : duplicates the top");
- LOG_INFO(" x x exch --------------------------> x x : swap the top two");
- LOG_INFO(" /cvarname load --------------------> x : loads a cvar");
- LOG_INFO(" /cvarname x def -------------------> : writes to a cvar");
- LOG_INFO(" f f add|sub|mul|div|mod|pow -------> f : adds/... two numbers");
- LOG_INFO(" f f and|or|xor|bitand|bitor|bitxor > f : logical and bitwise operations");
- LOG_INFO(" f f eq|ne|gt|ge|lt|le|max|min -----> f : compares two numbers");
- LOG_INFO(" f neg|abs|sgn|rand|floor|ceil------> f : negates/... a number");
- LOG_INFO(" f not|bitnot ----------------------> f : logical and bitwise negation");
- LOG_INFO(" f exp|log|sin|cos -----------------> f : exponential function & Co.");
- LOG_INFO(" f f f bound -----------------------> f : bounds the middle number");
- LOG_INFO(" f1 f2 b when ----------------------> f : f1 if b, f2 otherwise");
- LOG_INFO(" s s union|intersection|difference -> s : set operations");
- LOG_INFO(" s shuffle -------------------------> s : randomly arrange elements");
- LOG_INFO(" /key /value put -------------------> : set a database key");
- LOG_INFO(" /key get --------------------------> s : get a database value");
- LOG_INFO(" x dbpush --------------------------> : pushes the top onto the database");
- LOG_INFO(" dbpop|dbget -----------------------> x : removes/reads DB's top");
- LOG_INFO(" dblen|dbat ------------------------> f : gets the DB's size/cursor pos");
- LOG_INFO(" dbclr -----------------------------> : clear the DB");
- LOG_INFO(" s dbsave|dbload--------------------> : save/load the DB to/from a file");
- LOG_INFO(" x dbins ---------------------------> : moves the top into the DB");
- LOG_INFO(" dbext|dbread ----------------------> x : extract/get from the DB's cursor");
- LOG_INFO(" f dbmov|dbgoto --------------------> : move or set the DB's cursor");
- LOG_INFO(" s localtime -----------------------> s : formats the current local time");
- LOG_INFO(" s gmtime --------------------------> s : formats the current UTC time");
- LOG_INFO(" time ------------------------------> f : seconds since VM start");
- LOG_INFO(" s /MD4 digest ---------------------> s : MD4 digest");
- LOG_INFO(" s /SHA256 digest ------------------> s : SHA256 digest");
- LOG_INFO(" s /formatstring sprintf1s ---------> s : sprintf with 1 string (pad, cut)");
- LOG_INFO(" s eval ----------------------------> : does something eval");
- LOG_INFO(" Set operations operate on 'such''strings'.");
- LOG_INFO(" Unknown tokens insert their cvar value.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " rpn EXPRESSION...");
+ LOG_HELP(" Operator description (x: string, s: set, f: float):");
+ LOG_HELP(" x pop -----------------------------> : removes the top");
+ LOG_HELP(" x dup -----------------------------> x x : duplicates the top");
+ LOG_HELP(" x x exch --------------------------> x x : swap the top two");
+ LOG_HELP(" /cvarname load --------------------> x : loads a cvar");
+ LOG_HELP(" /cvarname x def -------------------> : writes to a cvar");
+ LOG_HELP(" f f add|sub|mul|div|mod|pow -------> f : adds/... two numbers");
+ LOG_HELP(" f f and|or|xor|bitand|bitor|bitxor > f : logical and bitwise operations");
+ LOG_HELP(" f f eq|ne|gt|ge|lt|le|max|min -----> f : compares two numbers");
+ LOG_HELP(" f neg|abs|sgn|rand|floor|ceil------> f : negates/... a number");
+ LOG_HELP(" f not|bitnot ----------------------> f : logical and bitwise negation");
+ LOG_HELP(" f exp|log|sin|cos -----------------> f : exponential function & Co.");
+ LOG_HELP(" f f f bound -----------------------> f : bounds the middle number");
+ LOG_HELP(" f1 f2 b when ----------------------> f : f1 if b, f2 otherwise");
+ LOG_HELP(" s s union|intersection|difference -> s : set operations");
+ LOG_HELP(" s shuffle -------------------------> s : randomly arrange elements");
+ LOG_HELP(" /key /value put -------------------> : set a database key");
+ LOG_HELP(" /key get --------------------------> s : get a database value");
+ LOG_HELP(" x dbpush --------------------------> : pushes the top onto the database");
+ LOG_HELP(" dbpop|dbget -----------------------> x : removes/reads DB's top");
+ LOG_HELP(" dblen|dbat ------------------------> f : gets the DB's size/cursor pos");
+ LOG_HELP(" dbclr -----------------------------> : clear the DB");
+ LOG_HELP(" s dbsave|dbload--------------------> : save/load the DB to/from a file");
+ LOG_HELP(" x dbins ---------------------------> : moves the top into the DB");
+ LOG_HELP(" dbext|dbread ----------------------> x : extract/get from the DB's cursor");
+ LOG_HELP(" f dbmov|dbgoto --------------------> : move or set the DB's cursor");
+ LOG_HELP(" s localtime -----------------------> s : formats the current local time");
+ LOG_HELP(" s gmtime --------------------------> s : formats the current UTC time");
+ LOG_HELP(" time ------------------------------> f : seconds since VM start");
+ LOG_HELP(" s /MD4 digest ---------------------> s : MD4 digest");
+ LOG_HELP(" s /SHA256 digest ------------------> s : SHA256 digest");
+ LOG_HELP(" s /formatstring sprintf1s ---------> s : sprintf with 1 string (pad, cut)");
+ LOG_HELP(" s eval ----------------------------> : does something eval");
+ LOG_HELP(" Set operations operate on 'such''strings'.");
+ LOG_HELP(" Unknown tokens insert their cvar value.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " debugdraw_sv");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get bufhandle string_index");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " bufstr_get bufhandle string_index");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " version");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " version");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " cvar_localchanges");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 " GetProgramCommandPrefix() " find classname");
- LOG_INFO(" Where 'classname' is the classname to search for.");
+ LOG_HELP("Usage:^3 " GetProgramCommandPrefix() " find classname");
+ LOG_HELP(" Where 'classname' is the classname to search for.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2findat^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 " GetProgramCommandPrefix() " findat \"0 0 0\"");
+ LOG_HELP("Usage:^3 " GetProgramCommandPrefix() " findat \"x y z\"");
return;
}
}
}
default:
case CMD_REQUEST_USAGE: {
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpeffectinfo [filename]");
- LOG_INFO(" Where 'filename' is the file to write (default is effectinfo_dump.txt),");
- LOG_INFO(" if supplied with '-' output to console as well as default,");
- LOG_INFO(" if left blank, it will only write to default.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpeffectinfo [filename]");
+ LOG_HELP(" Where 'filename' is the file to write (default is effectinfo_dump.txt),");
+ LOG_HELP(" if supplied with '-' output to console as well as default,");
+ LOG_HELP(" if left blank, it will only write to default.");
return;
}
}
}
default:
case CMD_REQUEST_USAGE: {
- LOG_INFOF("Usage:^3 %s dumpitems", GetProgramCommandPrefix());
+ LOG_HELPF("Usage:^3 %s dumpitems", GetProgramCommandPrefix());
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpnotifs [filename]");
- LOG_INFO(" Where 'filename' is the file to write (default is notifications_dump.cfg),");
- LOG_INFO(" if supplied with '-' output to console as well as default,");
- LOG_INFO(" if left blank, it will only write to default.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpnotifs [filename]");
+ LOG_HELP(" Where 'filename' is the file to write (default is notifications_dump.cfg),");
+ LOG_HELP(" if supplied with '-' output to console as well as default,");
+ LOG_HELP(" if left blank, it will only write to default.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets [filename]");
- LOG_INFO(" Where 'filename' is the file to write (default is turrets_dump.cfg),");
- LOG_INFO(" if supplied with '-' output to console as well as default,");
- LOG_INFO(" if left blank, it will only write to default.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpturrets [filename]");
+ LOG_HELP(" Where 'filename' is the file to write (default is turrets_dump.cfg),");
+ LOG_HELP(" if supplied with '-' output to console as well as default,");
+ LOG_HELP(" if left blank, it will only write to default.");
return;
}
}
}
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 cl_cmd weapon_find weapon");
- LOG_INFO(" Where 'weapon' is the lowercase weapon name, 'all' or 'unowned'.");
+ LOG_HELP("Usage:^3 cl_cmd weapon_find weapon");
+ LOG_HELP(" Where 'weapon' is the lowercase weapon name, 'all' or 'unowned'.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 ", GetProgramCommandPrefix(), " dumpweapons [filename]");
- LOG_INFO(" Where 'filename' is the file to write (default is weapons_dump.cfg),");
- LOG_INFO(" if supplied with '-' output to console as well as default,");
- LOG_INFO(" if left blank, it will only write to default.");
+ LOG_HELP("Usage:^3 ", GetProgramCommandPrefix(), " dumpweapons [filename]");
+ LOG_HELP(" Where 'filename' is the file to write (default is weapons_dump.cfg),");
+ LOG_HELP(" if supplied with '-' output to console as well as default,");
+ LOG_HELP(" if left blank, it will only write to default.");
return;
}
}
if (autocvar_developer > 1) dprint(msg); \
MACRO_END
+// simpler version for help messages
+#define LOG_HELP(...) _LOG_HELP(strcat1n(__VA_ARGS__))
+#define LOG_HELPF(...) _LOG_HELP(sprintf(__VA_ARGS__))
+#define _LOG_HELP(s) print("^7", s, "\n")
+
// TODO: this sucks, lets find a better way to do backtraces?
#define _backtrace() builtin_remove(NULL)
if (argv(0) == "help" || argc == 0)
{
- LOG_INFO(_("Usage: menu_cmd command..., where possible commands are:"));
- LOG_INFO(_(" sync - reloads all cvars on the current menu page"));
- LOG_INFO(_(" directmenu ITEM - select a menu item as main item"));
- LOG_INFO(_(" dumptree - dump the state of the menu as a tree to the console"));
- LOG_INFO("\n");
+ LOG_HELP(_("Usage: menu_cmd command..., where possible commands are:"));
+ LOG_HELP(_(" sync - reloads all cvars on the current menu page"));
+ LOG_HELP(_(" directmenu ITEM - select a menu item as main item"));
+ LOG_HELP(_(" dumptree - dump the state of the menu as a tree to the console"));
- LOG_INFO("Generic commands shared by all programs:");
+ LOG_HELP("\nGeneric commands shared by all programs:");
GenericCommand_macro_help();
return;
if (argc == 1)
{
- LOG_INFO(_("Available options:"));
+ LOG_HELP(_("Available options:"));
FOREACH_ENTITY_ORDERED(it.name != "", {
if (it.classname == "vtbl") continue;
if (!startsWith(s, filter)) continue;
s = substring(s, strlen(filter), strlen(s) - strlen(filter));
}
- LOG_INFO(" ", s);
+ LOG_HELP(" ", s);
});
}
else if (argc == 2 && !isdemo()) // don't allow this command in demos
break;
}
- string prelude = strcat(
- "Command: ", bot_cmd_string[i], "\n",
- "Parameter: <", stype, ">", "\n",
- "Description: "
- );
+ string desc = "";
switch(i)
{
case BOT_CMD_PAUSE:
- LOG_INFO(prelude, "Stops the bot completely. Any command other than 'continue' will be ignored.");
+ desc = "Stops the bot completely. Any command other than 'continue' will be ignored.";
break;
case BOT_CMD_CONTINUE:
- LOG_INFO(prelude, "Disable paused status");
+ desc = "Disable paused status";
break;
case BOT_CMD_WAIT:
- LOG_INFO(prelude, "Pause command parsing and bot ai for N seconds. Pressed key will remain pressed");
+ desc = "Pause command parsing and bot ai for N seconds. Pressed key will remain pressed";
break;
case BOT_CMD_WAIT_UNTIL:
- LOG_INFO(prelude, "Pause command parsing and bot ai until time is N from the last barrier. Pressed key will remain pressed");
+ desc = "Pause command parsing and bot ai until time is N from the last barrier. Pressed key will remain pressed";
break;
case BOT_CMD_BARRIER:
- LOG_INFO(prelude, "Waits till all bots that have a command queue reach this command. Pressed key will remain pressed");
+ desc = "Waits till all bots that have a command queue reach this command. Pressed key will remain pressed";
break;
case BOT_CMD_TURN:
- LOG_INFO(prelude, "Look to the right or left N degrees. For turning to the left use positive numbers.");
+ desc = "Look to the right or left N degrees. For turning to the left use positive numbers.";
break;
case BOT_CMD_MOVETO:
- LOG_INFO(prelude, "Walk to an specific coordinate on the map. Usage: moveto \'x y z\'");
+ desc = "Walk to an specific coordinate on the map. Usage: moveto \'x y z\'";
break;
case BOT_CMD_MOVETOTARGET:
- LOG_INFO(prelude, "Walk to the specific target on the map");
+ desc = "Walk to the specific target on the map";
break;
case BOT_CMD_RESETGOAL:
- LOG_INFO(prelude, "Resets the goal stack");
+ desc = "Resets the goal stack";
break;
case BOT_CMD_CC:
- LOG_INFO(prelude, "Execute client command. Examples: cc \"say something\"; cc god; cc \"name newnickname\"; cc kill;");
+ desc = "Execute client command. Examples: cc \"say something\"; cc god; cc \"name newnickname\"; cc kill;";
break;
case BOT_CMD_IF:
- LOG_INFO(prelude, "Perform simple conditional execution.\n"
- "Syntax: \n"
- " sv_cmd .. if \"condition\"\n"
- " sv_cmd .. <instruction if true>\n"
- " sv_cmd .. <instruction if true>\n"
- " sv_cmd .. else\n"
- " sv_cmd .. <instruction if false>\n"
- " sv_cmd .. <instruction if false>\n"
- " sv_cmd .. fi\n"
- "Conditions: a=b, a>b, a<b, a\t\t(spaces not allowed)\n"
- " Values in conditions can be numbers, cvars in the form cvar.cvar_string or special fields\n"
- "Fields: health, speed, flagcarrier\n"
- "Examples: if health>50; if health>cvar.g_balance_laser_primary_damage; if flagcarrier;"
- );
+ desc = "Perform simple conditional execution.\n"
+ "Syntax: \n"
+ " sv_cmd .. if \"condition\"\n"
+ " sv_cmd .. <instruction if true>\n"
+ " sv_cmd .. <instruction if true>\n"
+ " sv_cmd .. else\n"
+ " sv_cmd .. <instruction if false>\n"
+ " sv_cmd .. <instruction if false>\n"
+ " sv_cmd .. fi\n"
+ "Conditions: a=b, a>b, a<b, a\t\t(spaces not allowed)\n"
+ " Values in conditions can be numbers, cvars in the form cvar.cvar_string or special fields\n"
+ "Fields: health, speed, flagcarrier\n"
+ "Examples: if health>50; if health>cvar.g_balance_laser_primary_damage; if flagcarrier;";
break;
case BOT_CMD_RESETAIM:
- LOG_INFO(prelude, "Points the aim to the coordinates x,y 0,0");
+ desc = "Points the aim to the coordinates x,y 0,0";
break;
case BOT_CMD_AIM:
- LOG_INFO(prelude, "Move the aim x/y (horizontal/vertical) degrees relatives to the bot\n"
+ desc = "Move the aim x/y (horizontal/vertical) degrees relatives to the bot\n"
"There is a 3rd optional parameter telling in how many seconds the aim has to reach the new position\n"
"Examples: aim \"90 0\" // Turn 90 degrees inmediately (positive numbers move to the left/up)\n"
- " aim \"0 90 2\" // Will gradually look to the sky in the next two seconds"
- );
+ " aim \"0 90 2\" // Will gradually look to the sky in the next two seconds";
break;
case BOT_CMD_AIMTARGET:
- LOG_INFO(prelude, "Points the aim to given target");
+ desc = "Points the aim to given target";
break;
case BOT_CMD_PRESSKEY:
- LOG_INFO(prelude, "Press one of the following keys: forward, backward, left, right, jump, crouch, attack1, attack2, use");
- LOG_INFO("Multiple keys can be pressed at time (with many presskey calls) and it will remain pressed until the command \"releasekey\" is called");
- LOG_INFO("Note: The script will not return the control to the bot ai until all keys are released");
+ desc = "Press one of the following keys: forward, backward, left, right, jump, crouch, attack1, attack2, use"
+ "Multiple keys can be pressed at time (with many presskey calls) and it will remain pressed until the command \"releasekey\" is called"
+ "Note: The script will not return the control to the bot ai until all keys are released";
break;
case BOT_CMD_RELEASEKEY:
- LOG_INFO(prelude, "Release previoulsy used keys. Use the parameter \"all\" to release all keys");
+ desc = "Release previoulsy used keys. Use the parameter \"all\" to release all keys";
break;
case BOT_CMD_SOUND:
- LOG_INFO(prelude, "play sound file at bot location");
+ desc = "play sound file at bot location";
break;
case BOT_CMD_DEBUG_ASSERT_CANFIRE:
- LOG_INFO(prelude, "verify the state of the weapon entity");
+ desc = "verify the state of the weapon entity";
break;
default:
- LOG_INFO(prelude, "This command has no description yet.");
+ desc = "This command has no description yet.";
break;
}
+ LOG_HELP("Command: ", bot_cmd_string[i], "\nParameter: <", stype, ">", "\nDescription: ", desc);
}
}
LOG_INFO("Incorrect parameters for ^2ban^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd ban address [bantime] [reason]");
- LOG_INFO(" 'address' is the IP address or range of the player to ban,");
- LOG_INFO(" 'bantime' is the amount of time that the ban is active (default if not provided),");
- LOG_INFO(" and 'reason' is the string to label the ban with as reason for banning.");
- LOG_INFO("See also: ^2banlist, kickban, unban^7");
+ LOG_HELP("Usage:^3 sv_cmd ban address [bantime] [reason]");
+ LOG_HELP(" 'address' is the IP address or range of the player to ban,");
+ LOG_HELP(" 'bantime' is the amount of time that the ban is active (default if not provided),");
+ LOG_HELP(" and 'reason' is the string to label the ban with as reason for banning.");
+ LOG_HELP("See also: ^2banlist, kickban, unban^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd banlist");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2ban, kickban, unban^7");
+ LOG_HELP("Usage:^3 sv_cmd banlist");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2ban, kickban, unban^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2kickban^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd kickban client [bantime] [masksize] [reason]");
- LOG_INFO(" 'client' is the entity number or name of the player to ban,");
- LOG_INFO(" 'bantime' is the amount of time that the ban is active (default if not provided),");
- LOG_INFO(" 'masksize' is the range of the IP address (1-thru-4, default if not provided),");
- LOG_INFO(" and 'reason' is the string to label the ban with as reason for banning.");
- LOG_INFO("See also: ^2ban, banlist, unban^7");
+ LOG_HELP("Usage:^3 sv_cmd kickban client [bantime] [masksize] [reason]");
+ LOG_HELP(" 'client' is the entity number or name of the player to ban,");
+ LOG_HELP(" 'bantime' is the amount of time that the ban is active (default if not provided),");
+ LOG_HELP(" 'masksize' is the range of the IP address (1-thru-4, default if not provided),");
+ LOG_HELP(" and 'reason' is the string to label the ban with as reason for banning.");
+ LOG_HELP("See also: ^2ban, banlist, unban^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2mute^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd mute client");
- LOG_INFO(" 'client' is the entity number or name of the player to mute.");
- LOG_INFO("See also: ^2unmute^7");
+ LOG_HELP("Usage:^3 sv_cmd mute client");
+ LOG_HELP(" 'client' is the entity number or name of the player to mute.");
+ LOG_HELP("See also: ^2unmute^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd unban banid");
- LOG_INFO(" Where 'banid' is the ID of the ban of which to remove.");
- LOG_INFO("See also: ^2ban, banlist, kickban^7");
+ LOG_HELP("Usage:^3 sv_cmd unban banid");
+ LOG_HELP(" Where 'banid' is the ID of the ban of which to remove.");
+ LOG_HELP("See also: ^2ban, banlist, kickban^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2mute^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd unmute client");
- LOG_INFO(" 'client' is the entity number or name of the player to unmute.");
- LOG_INFO("See also: ^2mute^7");
+ LOG_HELP("Usage:^3 sv_cmd unmute client");
+ LOG_HELP(" 'client' is the entity number or name of the player to unmute.");
+ LOG_HELP("See also: ^2mute^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- print("\nUsage:^3 sv_cmd \n");
- print(" No arguments required.\n");
+ LOG_HELP("Usage:^3 sv_cmd ");
+ LOG_HELP(" No arguments required.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2adminmsg^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd adminmsg clients \"message\" [infobartime]");
- LOG_INFO(" 'clients' is a list (separated by commas) of player entity ID's or nicknames");
- LOG_INFO(" If infobartime is provided, the message will be sent to infobar.");
- LOG_INFO(" Otherwise, it will just be sent as a centerprint message.");
- LOG_INFO("Examples: adminmsg 2,4 \"this infomessage will last for ten seconds\" 10");
- LOG_INFO(" adminmsg 2,5 \"this message will be a centerprint\"");
+ LOG_HELP("Usage:^3 sv_cmd adminmsg clients \"message\" [infobartime]");
+ LOG_HELP(" 'clients' is a list (separated by commas) of player entity ID's or nicknames");
+ LOG_HELP(" If infobartime is provided, the message will be sent to infobar.");
+ LOG_HELP(" Otherwise, it will just be sent as a centerprint message.");
+ LOG_HELP("Examples: adminmsg 2,4 \"this infomessage will last for ten seconds\" 10");
+ LOG_HELP(" adminmsg 2,5 \"this message will be a centerprint\"");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd allready");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 sv_cmd allready");
+ LOG_HELP(" No arguments required.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd allspec [reason]");
- LOG_INFO(" Where 'reason' is an optional argument for explanation of allspec command.");
- LOG_INFO("See also: ^2moveplayer, shuffleteams^7");
+ LOG_HELP("Usage:^3 sv_cmd allspec [reason]");
+ LOG_HELP(" Where 'reason' is an optional argument for explanation of allspec command.");
+ LOG_HELP("See also: ^2moveplayer, shuffleteams^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2anticheat^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd anticheat client");
- LOG_INFO(" 'client' is the entity number or name of the player.");
+ LOG_HELP("Usage:^3 sv_cmd anticheat client");
+ LOG_HELP(" 'client' is the entity number or name of the player.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd bbox");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2gettaginfo, trace^7");
+ LOG_HELP("Usage:^3 sv_cmd bbox");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2gettaginfo, trace^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2bot_cmd^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd bot_cmd client command [argument]");
- LOG_INFO(" 'client' can be either the name of the bot or a progressive number (not the entity number!)");
- LOG_INFO(" can also be '*' or 'all' to allow sending the command to all the bots");
- LOG_INFO(" For full list of commands, see bot_cmd help [command].");
- LOG_INFO("Examples: sv_cmd bot_cmd 1 cc \"say something\"");
- LOG_INFO(" sv_cmd bot_cmd 1 presskey jump");
- LOG_INFO(" sv_cmd bot_cmd * pause");
+ LOG_HELP("Usage:^3 sv_cmd bot_cmd client command [argument]");
+ LOG_HELP(" 'client' can be either the name of the bot or a progressive number (not the entity number!)");
+ LOG_HELP(" can also be '*' or 'all' to allow sending the command to all the bots");
+ LOG_HELP(" For full list of commands, see bot_cmd help [command].");
+ LOG_HELP("Examples: sv_cmd bot_cmd 1 cc \"say something\"");
+ LOG_HELP(" sv_cmd bot_cmd 1 presskey jump");
+ LOG_HELP(" sv_cmd bot_cmd * pause");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd cointoss [result1 result2]");
- LOG_INFO(" Where 'result1' and 'result2' are user created options.");
+ LOG_HELP("Usage:^3 sv_cmd cointoss [result1 result2]");
+ LOG_HELP(" Where 'result1' and 'result2' are user created options.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2database^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd database action filename");
- LOG_INFO(" Where 'action' is the command to complete,");
- LOG_INFO(" and 'filename' is what it acts upon.");
- LOG_INFO(" Full list of commands here: \"save, dump, load.\"");
+ LOG_HELP("Usage:^3 sv_cmd database action filename");
+ LOG_HELP(" Where 'action' is the command to complete,");
+ LOG_HELP(" and 'filename' is what it acts upon.");
+ LOG_HELP(" Full list of commands here: \"save, dump, load.\"");
return;
}
}
LOG_INFO("Incorrect parameters for ^2defer_clear^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd defer_clear client");
- LOG_INFO(" 'client' is the entity number or name of the player.");
- LOG_INFO("See also: ^2defer_clear_all^7");
+ LOG_HELP("Usage:^3 sv_cmd defer_clear client");
+ LOG_HELP(" 'client' is the entity number or name of the player.");
+ LOG_HELP("See also: ^2defer_clear_all^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd defer_clear_all");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2defer_clear^7");
+ LOG_HELP("Usage:^3 sv_cmd defer_clear_all");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2defer_clear^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2delrec^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd delrec ranking [map]");
- LOG_INFO(" 'ranking' is which ranking level to clear up to, ");
- LOG_INFO(" it will clear all records up to nth place.");
- LOG_INFO(" if 'map' is not provided it will use current map.");
+ LOG_HELP("Usage:^3 sv_cmd delrec ranking [map]");
+ LOG_HELP(" 'ranking' is which ranking level to clear up to, ");
+ LOG_HELP(" it will clear all records up to nth place.");
+ LOG_HELP(" if 'map' is not provided it will use current map.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd effectindexdump");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 sv_cmd effectindexdump");
+ LOG_HELP(" No arguments required.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd extendmatchtime");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2reducematchtime^7");
+ LOG_HELP("Usage:^3 sv_cmd extendmatchtime");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2reducematchtime^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2gametype^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd gametype mode");
- LOG_INFO(" Where 'mode' is the gametype mode to switch to.");
- LOG_INFO("See also: ^2gotomap^7");
+ LOG_HELP("Usage:^3 sv_cmd gametype mode");
+ LOG_HELP(" Where 'mode' is the gametype mode to switch to.");
+ LOG_HELP("See also: ^2gotomap^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2gettaginfo^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd gettaginfo model frame index [command one] [command two]");
- LOG_INFO("See also: ^2bbox, trace^7");
+ LOG_HELP("Usage:^3 sv_cmd gettaginfo model frame index [command one] [command two]");
+ LOG_HELP("See also: ^2bbox, trace^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2gettaginfo^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd gettaginfo model frame index [command one] [command two]");
- LOG_INFO("See also: ^2bbox, trace^7");
+ LOG_HELP("Usage:^3 sv_cmd gettaginfo model frame index [command one] [command two]");
+ LOG_HELP("See also: ^2bbox, trace^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2gotomap^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd gotomap map");
- LOG_INFO(" Where 'map' is the *.bsp file to change to.");
- LOG_INFO("See also: ^2gametype^7");
+ LOG_HELP("Usage:^3 sv_cmd gotomap map");
+ LOG_HELP(" Where 'map' is the *.bsp file to change to.");
+ LOG_HELP("See also: ^2gametype^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd lockteams");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2unlockteams^7");
+ LOG_HELP("Usage:^3 sv_cmd lockteams");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2unlockteams^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd make_mapinfo");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2radarmap^7");
+ LOG_HELP("Usage:^3 sv_cmd make_mapinfo");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2radarmap^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2moveplayer^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd moveplayer clients destination");
- LOG_INFO(" 'clients' is a list (separated by commas) of player entity ID's or nicknames");
- LOG_INFO(" 'destination' is what to send the player to, be it team or spectating");
- LOG_INFO(" Full list of destinations here: \"spec, spectator, red, blue, yellow, pink, auto.\"");
- LOG_INFO("Examples: sv_cmd moveplayer 1,3,5 red");
- LOG_INFO(" sv_cmd moveplayer 2 spec");
- LOG_INFO("See also: ^2allspec, shuffleteams^7");
+ LOG_HELP("Usage:^3 sv_cmd moveplayer clients destination");
+ LOG_HELP(" 'clients' is a list (separated by commas) of player entity ID's or nicknames");
+ LOG_HELP(" 'destination' is what to send the player to, be it team or spectating");
+ LOG_HELP(" Full list of destinations here: \"spec, spectator, red, blue, yellow, pink, auto.\"");
+ LOG_HELP("Examples: sv_cmd moveplayer 1,3,5 red");
+ LOG_HELP(" sv_cmd moveplayer 2 spec");
+ LOG_HELP("See also: ^2allspec, shuffleteams^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd nospectators");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 sv_cmd nospectators");
+ LOG_HELP(" No arguments required.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd printstats");
- LOG_INFO(" No arguments required.");
+ LOG_HELP("Usage:^3 sv_cmd printstats");
+ LOG_HELP(" No arguments required.");
return;
}
}
LOG_INFO("Incorrect parameters for ^2radarmap^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd radarmap [--force] [--loop] [--quit] [--block | --trace | --sample | --lineblock] [--sharpen N] [--res W H] [--qual Q]");
- LOG_INFO(" The quality factor Q is roughly proportional to the time taken.");
- LOG_INFO(" trace supports no quality factor; its result should look like --block with infinite quality factor.");
- LOG_INFO("See also: ^2make_mapinfo^7");
+ LOG_HELP("Usage:^3 sv_cmd radarmap [--force] [--loop] [--quit] [--block | --trace | --sample | --lineblock] [--sharpen N] [--res W H] [--qual Q]");
+ LOG_HELP(" The quality factor Q is roughly proportional to the time taken.");
+ LOG_HELP(" trace supports no quality factor; its result should look like --block with infinite quality factor.");
+ LOG_HELP("See also: ^2make_mapinfo^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd reducematchtime");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2extendmatchtime^7");
+ LOG_HELP("Usage:^3 sv_cmd reducematchtime");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2extendmatchtime^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2setbots^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd setbots botnumber");
- LOG_INFO(" Where 'botnumber' is the amount of bots to set bot_number cvar to.");
- LOG_INFO("See also: ^2bot_cmd^7");
+ LOG_HELP("Usage:^3 sv_cmd setbots botnumber");
+ LOG_HELP(" Where 'botnumber' is the amount of bots to set bot_number cvar to.");
+ LOG_HELP("See also: ^2bot_cmd^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd shuffleteams");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2moveplayer, allspec^7");
+ LOG_HELP("Usage:^3 sv_cmd shuffleteams");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2moveplayer, allspec^7");
return;
}
}
LOG_INFO("Incorrect parameters for ^2stuffto^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd stuffto client \"command\"");
- LOG_INFO(" 'client' is the entity number or name of the player,");
- LOG_INFO(" and 'command' is the command to be sent to that player.");
+ LOG_HELP("Usage:^3 sv_cmd stuffto client \"command\"");
+ LOG_HELP(" 'client' is the entity number or name of the player,");
+ LOG_HELP(" and 'command' is the command to be sent to that player.");
return;
}
}
#else
if (request)
{
- LOG_INFO("stuffto command is not enabled on this server.");
+ LOG_HELP("stuffto command is not enabled on this server.");
return;
}
#endif
LOG_INFO("Incorrect parameters for ^2trace^7");
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd trace command [startpos endpos] [endpos_height]");
- LOG_INFO(" Where startpos and endpos are parameters for 'walk' and 'showline' commands,");
- LOG_INFO(" 'endpos_height' is an optional parameter for 'walk' command,");
- LOG_INFO(" Full list of commands here: \"debug, debug2, walk, showline.\"");
- LOG_INFO("See also: ^2bbox, gettaginfo^7");
+ LOG_HELP("Usage:^3 sv_cmd trace command [startpos endpos] [endpos_height]");
+ LOG_HELP(" Where startpos and endpos are parameters for 'walk' and 'showline' commands,");
+ LOG_HELP(" 'endpos_height' is an optional parameter for 'walk' command,");
+ LOG_HELP(" Full list of commands here: \"debug, debug2, walk, showline.\"");
+ LOG_HELP("See also: ^2bbox, gettaginfo^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd unlockteams");
- LOG_INFO(" No arguments required.");
- LOG_INFO("See also: ^2lockteams^7");
+ LOG_HELP("Usage:^3 sv_cmd unlockteams");
+ LOG_HELP(" No arguments required.");
+ LOG_HELP("See also: ^2lockteams^7");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- LOG_INFO("Usage:^3 sv_cmd warp [level]");
- LOG_INFO(" 'level' is the level to change campaign mode to.");
- LOG_INFO(" if 'level' is not provided it will change to the next level.");
+ LOG_HELP("Usage:^3 sv_cmd warp [level]");
+ LOG_HELP(" 'level' is the level to change campaign mode to.");
+ LOG_HELP(" if 'level' is not provided it will change to the next level.");
return;
}
}
default:
case CMD_REQUEST_USAGE:
{
- print("\nUsage:^3 sv_cmd \n");
- print(" No arguments required.\n");
+ LOG_HELP("Usage:^3 sv_cmd ");
+ LOG_HELP(" No arguments required.");
return;
}
}
void GameCommand_macro_help()
{
- FOREACH(SERVER_COMMANDS, true, { LOG_INFOF(" ^2%s^7: %s", it.m_name, it.m_description); });
+ FOREACH(SERVER_COMMANDS, true, { LOG_HELPF(" ^2%s^7: %s", it.m_name, it.m_description); });
}
float GameCommand_macro_command(int argc, string command)
{
if (argc == 1)
{
- LOG_INFO("Server console commands:");
+ LOG_HELP("Server console commands:");
GameCommand_macro_help();
- LOG_INFO("\nBanning commands:");
+ LOG_HELP("\nBanning commands:");
BanCommand_macro_help();
- LOG_INFO("\nCommon networked commands:");
+ LOG_HELP("\nCommon networked commands:");
CommonCommand_macro_help(NULL);
- LOG_INFO("\nGeneric commands shared by all programs:");
+ LOG_HELP("\nGeneric commands shared by all programs:");
GenericCommand_macro_help();
- LOG_INFO(
- "\nUsage:^3 sv_cmd COMMAND...^7, where possible commands are listed above.\n"
- "For help about a specific command, type sv_cmd help COMMAND"
- );
+ LOG_HELP("\nUsage:^3 sv_cmd COMMAND...^7, where possible commands are listed above.\n"
+ "For help about a specific command, type sv_cmd help COMMAND");
return;
}