From ea0155875429f34b85cba0122d73bcee246bb0a8 Mon Sep 17 00:00:00 2001 From: div0 Date: Thu, 29 Jun 2006 12:47:30 +0000 Subject: [PATCH] added command "gotomap" which does the same as chmap, but forces the intermission in between voting for chmap will be remapped to gotomap git-svn-id: svn://svn.icculus.org/nexuiz/trunk@1692 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/default.cfg | 3 ++- data/qcsrc/server/clientcommands.qc | 6 ++++++ data/qcsrc/server/g_world.qc | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/data/default.cfg b/data/default.cfg index 452e0e3eb..bbb03c895 100644 --- a/data/default.cfg +++ b/data/default.cfg @@ -34,6 +34,7 @@ alias ready "cmd ready" alias bsp "ls maps/*.bsp" alias mapcfg "ls maps/*.mapcfg" alias chmap "exec $exit_cfg ; exec game_reset.cfg; exec maps/$1.mapcfg" +alias gotomap "nextmap $1; timelimit -1" alias reset "exec game_reset.cfg" alias dem "ls demos/*.dem" @@ -628,7 +629,7 @@ bind F12 screenshot bind F4 ready // these commands can be voted -set sv_vote_commands "restart timelimit fraglimit chmap g_grappling_hook sv_defaultplayer_fbskin_green sv_defaultplayer_fbskin_red sv_defaultplayer_fbskin_orange sv_defaultplayer_fbskin_off" +set sv_vote_commands "restart timelimit fraglimit chmap gotomap g_grappling_hook sv_defaultplayer_fbskin_green sv_defaultplayer_fbskin_red sv_defaultplayer_fbskin_orange sv_defaultplayer_fbskin_off" // users can call a vote for the above commands set sv_vote_call 1 // users can call a vote to become master diff --git a/data/qcsrc/server/clientcommands.qc b/data/qcsrc/server/clientcommands.qc index 734932129..fb446a24a 100644 --- a/data/qcsrc/server/clientcommands.qc +++ b/data/qcsrc/server/clientcommands.qc @@ -92,6 +92,10 @@ void SV_ParseClientCommand(string s) { return; votecalled = TRUE; votecalledmaster = FALSE; + // remap chmap to gomap (forces intermission) + if(strlen(vote) >= 6) + if(substring(vote, 0, 6) == "chmap ") + vote = strcat("gotomap ", substring(vote, 6, strlen(vote) - 6)); votecalledvote = strzone(vote); votecaller = self; // remember who called the vote votefinished = time + cvar("sv_vote_timeout"); @@ -271,6 +275,8 @@ float ValidateMap(string vote) ext = ".bsp"; else if(argv(0) == "chmap") ext = ".mapcfg"; + else if(argv(0) == "gotomap") + ext = ".mapcfg"; else return TRUE; diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index f93fae299..40163e806 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -1143,7 +1143,7 @@ void() CheckRules_World = bcenterprint("^3Now playing ^1OVERTIME^3!\n\n^3Keep fragging until we have a ^1winner^3!"); } - if (!checkrules_oneminutewarning && timelimit && time > timelimit - 60) + if (!checkrules_oneminutewarning && timelimit > 0 && time > timelimit - 60) { checkrules_oneminutewarning = TRUE; sound(world, CHAN_AUTO, "announcer/robotic/1minuteremains.ogg", 1, ATTN_NONE); -- 2.39.2