diff options
author | Tim Angus <tim@ngus.net> | 2006-04-22 23:01:43 +0000 |
---|---|---|
committer | Tim Angus <tim@ngus.net> | 2006-04-22 23:01:43 +0000 |
commit | 523411fb188b851ed46e72acfd9bd981abf432fc (patch) | |
tree | 3e957db85cb70f6e3cd4fd692847a7a561ecb6cc | |
parent | f559c2d486ce3bab66a4f1c0601e934ee841a317 (diff) |
* Fixed retarded exploitable "kick" command
* Removed ability to change the timelimit by vote
* Added sprint ability to human tutorial text
-rw-r--r-- | src/cgame/cg_tutorial.c | 4 | ||||
-rw-r--r-- | src/game/g_cmds.c | 10 | ||||
-rw-r--r-- | src/qcommon/qcommon.h | 2 | ||||
-rw-r--r-- | src/server/sv_ccmds.c | 63 |
4 files changed, 41 insertions, 38 deletions
diff --git a/src/cgame/cg_tutorial.c b/src/cgame/cg_tutorial.c index 035d8304..91df7864 100644 --- a/src/cgame/cg_tutorial.c +++ b/src/cgame/cg_tutorial.c @@ -487,6 +487,10 @@ static void CG_HumanText( char *text, playerState_t *ps ) Q_strcat( text, MAX_TUTORIAL_TEXT, va( "Press %s to use a structure\n", CG_KeyNameForCommand( "+button7" ) ) ); + + Q_strcat( text, MAX_TUTORIAL_TEXT, + va( "Press %s to sprint\n", + CG_KeyNameForCommand( "boost" ) ) ); } /* diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index 274f4a4a..875a922a 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -755,13 +755,11 @@ void Cmd_CallVote_f( gentity_t *ent ) else if( !Q_stricmp( arg1, "map" ) ) { } else if( !Q_stricmp( arg1, "kick" ) ) { } else if( !Q_stricmp( arg1, "clientkick" ) ) { } - else if( !Q_stricmp( arg1, "timelimit" ) ) { } else { trap_SendServerCommand( ent-g_entities, "print \"Invalid vote string\n\"" ); trap_SendServerCommand( ent-g_entities, "print \"Vote commands are: map_restart, nextmap, map <mapname>, " - "kick <player>, clientkick <clientnum>, " - "timelimit <time>\n\"" ); + "kick <player>, clientkick <clientnum>\n\"" ); return; } @@ -808,7 +806,8 @@ void Cmd_CallVote_f( gentity_t *ent ) Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "%s", level.voteString ); } - trap_SendServerCommand( -1, va( "print \"%s called a vote\n\"", ent->client->pers.netname ) ); + trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE + " called a vote\n\"", ent->client->pers.netname ) ); // start the voting, the caller autoamtically votes yes level.voteTime = level.time; @@ -952,7 +951,8 @@ void Cmd_CallTeamVote_f( gentity_t *ent ) if( i >= level.maxclients ) { - trap_SendServerCommand( ent-g_entities, va( "print \"%s is not a valid player on your team\n\"", arg2 ) ); + trap_SendServerCommand( ent-g_entities, va( "print \"%s " + S_COLOR_WHITE "is not a valid player on your team\n\"", arg2 ) ); return; } } diff --git a/src/qcommon/qcommon.h b/src/qcommon/qcommon.h index 96d6e517..eb89de47 100644 --- a/src/qcommon/qcommon.h +++ b/src/qcommon/qcommon.h @@ -33,8 +33,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #endif #endif -//#define PRE_RELEASE_DEMO - //============================================================================ // diff --git a/src/server/sv_ccmds.c b/src/server/sv_ccmds.c index fde921d1..55ee62fd 100644 --- a/src/server/sv_ccmds.c +++ b/src/server/sv_ccmds.c @@ -155,7 +155,7 @@ static void SV_Map_f( void ) { } cmd = Cmd_Argv(0); - if ( !Q_stricmp( cmd, "devmap" ) || !Q_stricmp( cmd, "spdevmap" ) ) { + if ( !Q_stricmp( cmd, "devmap" ) ) { cheat = qtrue; killBots = qtrue; } else { @@ -307,6 +307,35 @@ static void SV_MapRestart_f( void ) { /* ================== +SV_KickAll_f + +Kick all users off of the server FIXME: move to game +================== +*/ +static void SV_KickAll_f( void ) { + client_t *cl; + int i; + + // make sure server is running + if ( !com_sv_running->integer ) { + Com_Printf( "Server is not running.\n" ); + return; + } + + for ( i=0, cl=svs.clients ; i < sv_maxclients->integer ; i++,cl++ ) { + if ( !cl->state ) { + continue; + } + if( cl->netchan.remoteAddress.type == NA_LOOPBACK ) { + continue; + } + SV_DropClient( cl, "was kicked" ); + cl->lastPacketTime = svs.time; // in case there is a funny zombie + } +} + +/* +================== SV_Kick_f Kick a user off of the server FIXME: move to game @@ -314,7 +343,6 @@ Kick a user off of the server FIXME: move to game */ static void SV_Kick_f( void ) { client_t *cl; - int i; // make sure server is running if ( !com_sv_running->integer ) { @@ -323,36 +351,12 @@ static void SV_Kick_f( void ) { } if ( Cmd_Argc() != 2 ) { - Com_Printf ("Usage: kick <player name>\nkick all = kick everyone\nkick allbots = kick all bots\n"); + Com_Printf ("Usage: kick <player name>\n"); return; } cl = SV_GetPlayerByName(); if ( !cl ) { - if ( !Q_stricmp(Cmd_Argv(1), "all") ) { - for ( i=0, cl=svs.clients ; i < sv_maxclients->integer ; i++,cl++ ) { - if ( !cl->state ) { - continue; - } - if( cl->netchan.remoteAddress.type == NA_LOOPBACK ) { - continue; - } - SV_DropClient( cl, "was kicked" ); - cl->lastPacketTime = svs.time; // in case there is a funny zombie - } - } - else if ( !Q_stricmp(Cmd_Argv(1), "allbots") ) { - for ( i=0, cl=svs.clients ; i < sv_maxclients->integer ; i++,cl++ ) { - if ( !cl->state ) { - continue; - } - if( cl->netchan.remoteAddress.type != NA_BOT ) { - continue; - } - SV_DropClient( cl, "was kicked" ); - cl->lastPacketTime = svs.time; // in case there is a funny zombie - } - } return; } if( cl->netchan.remoteAddress.type == NA_LOOPBACK ) { @@ -708,6 +712,7 @@ void SV_AddOperatorCommands( void ) { Cmd_AddCommand ("heartbeat", SV_Heartbeat_f); Cmd_AddCommand ("kick", SV_Kick_f); + Cmd_AddCommand ("kickAll", SV_KickAll_f); Cmd_AddCommand ("banUser", SV_Ban_f); Cmd_AddCommand ("banClient", SV_BanNum_f); Cmd_AddCommand ("clientkick", SV_KickNum_f); @@ -718,11 +723,7 @@ void SV_AddOperatorCommands( void ) { Cmd_AddCommand ("map_restart", SV_MapRestart_f); Cmd_AddCommand ("sectorlist", SV_SectorList_f); Cmd_AddCommand ("map", SV_Map_f); -#ifndef PRE_RELEASE_DEMO Cmd_AddCommand ("devmap", SV_Map_f); - Cmd_AddCommand ("spmap", SV_Map_f); - Cmd_AddCommand ("spdevmap", SV_Map_f); -#endif Cmd_AddCommand ("killserver", SV_KillServer_f); if( com_dedicated->integer ) { Cmd_AddCommand ("say", SV_ConSay_f); |