X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fgamecommand.qc;h=70371f42b782a48634a552a4c0d287b26ac9531b;hp=4dda518def09fb2302922120adaea8b270813d54;hb=6f4349956b11b36ba20e65e34d39b5029a5eb3ac;hpb=0817ac3136dc197b7d11943e5fc4ca81975a4fdd diff --git a/qcsrc/server/gamecommand.qc b/qcsrc/server/gamecommand.qc index 4dda518def..70371f42b7 100644 --- a/qcsrc/server/gamecommand.qc +++ b/qcsrc/server/gamecommand.qc @@ -529,7 +529,7 @@ void GameCommand_adminmsg(float request, float argc) } else { - centerprint_atprio(client, CENTERPRIO_ADMIN, strcat("^3", admin_name(), ":\n\n^7", argv(2))); + centerprint(client, strcat("^3", admin_name(), ":\n\n^7", argv(2))); sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n")); } dprint("Message sent to ", client.netname, "\n"); @@ -1695,7 +1695,7 @@ void GameCommand_radarmap(float request, float argc) { switch(argv(i)) { - case "--force": { radarmapper.count |= 1; break; } + case "--force": { radarmapper.count |= 1; break; } case "--loop": { radarmapper.count |= 2; break; } case "--quit": { radarmapper.count |= 4; break; } case "--block": { radarmapper.count &~= 24; break; } @@ -2092,6 +2092,41 @@ void GameCommand_unlockteams(float request) } } +void GameCommand_warp(float request, float argc) +{ + switch (request) + { + case GC_REQUEST_HELP: + print(" ^2warp^7: Choose different level in campaign\n"); + return; + + case GC_REQUEST_COMMAND: + if(autocvar_g_campaign) + { + + if(argc >= 2) + { + CampaignLevelWarp(stof(argv(1))); + print("Successfully warped to campaign level ", stof(argv(1)), ".\n"); + } + else + { + CampaignLevelWarp(-1); + print("Successfully warped to next campaign level.\n"); + } + } + else + print("Not in campaign, can't level warp\n"); + return; + + default: + case GC_REQUEST_USAGE: + print("\nUsage:^3 sv_cmd level\n"); + print(" 'level' is the level to change campaign mode to.\n"); + return; + } +} + // ========================================= // Main Function Called By Engine (sv_cmd) @@ -2148,6 +2183,7 @@ void GameCommand(string command) GameCommand_time(GC_REQUEST_HELP); GameCommand_trace(GC_REQUEST_HELP, 0); GameCommand_unlockteams(GC_REQUEST_HELP); + GameCommand_warp(GC_REQUEST_HELP, 0); GameCommand_Vote("help", world); GameCommand_Ban("help"); GameCommand_Generic("help"); @@ -2172,7 +2208,7 @@ void GameCommand(string command) else search_request_type = GC_REQUEST_COMMAND; // continue as usual and scan for normal commands - switch(strtolower( ((strtolower(argv(0)) == "help") ? argv(1) : argv(0)) )) // if first argument is help, then search for the second argument. Else, search for first. + switch(strtolower((search_request_type == GC_REQUEST_USAGE) ? argv(1) : argv(0))) // if first argument is help, then search for the second argument. Else, search for first. { // Do not hard code aliases for these, instead create them in defaultXonotic.cfg // also: keep in alphabetical order, please ;) @@ -2214,6 +2250,7 @@ void GameCommand(string command) case "time": GameCommand_time(search_request_type); break; case "trace": GameCommand_trace(search_request_type, argc); break; case "unlockteams": GameCommand_unlockteams(search_request_type); break; + case "warp": GameCommand_warp(search_request_type, argc); break; default: print("Invalid command. For a list of supported commands, try sv_cmd help.\n");