Added 'teamname' command for MM, and tweaked the cvar system.

This commit is contained in:
Daniel Simoes 2002-04-07 12:49:53 +00:00
parent d4a7e30ff0
commit 0ee64e3271
11 changed files with 134 additions and 38 deletions

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.43 2002/04/07 12:49:53 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.42 2002/04/03 09:26:47 jbravo
// New FF system. Warns and then finally kickbans teamwounders and
// teamkillers
@ -975,6 +978,7 @@ void CG_InitConsoleCommands( void ) {
trap_AddCommand ("captain");
trap_AddCommand ("ready");
trap_AddCommand ("sub");
trap_AddCommand ("teamname");
// aasimon: refeere mm
trap_AddCommand ("reflogin");
trap_AddCommand ("ref");

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.64 2002/04/07 12:49:53 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.63 2002/04/03 03:13:48 blaze
// NEW BREAKABLE CODE - will break all old breakables(wont appear in maps)
//
@ -1590,8 +1593,9 @@ extern vmCvar_t cg_RQ3_team_round_going;
extern vmCvar_t cg_RQ3_team1name;
extern vmCvar_t cg_RQ3_team2name;
//Slicer: matchmode team status cvars
extern vmCvar_t RQ3_team1;
extern vmCvar_t RQ3_team2;
extern vmCvar_t cg_RQ3_team1ready;
extern vmCvar_t cg_RQ3_team2ready;
//
// cg_main.c

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.53 2002/04/07 12:49:53 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.52 2002/04/03 03:13:49 blaze
// NEW BREAKABLE CODE - will break all old breakables(wont appear in maps)
//
@ -290,8 +293,8 @@ vmCvar_t cg_RQ3_team1name;
vmCvar_t cg_RQ3_team2name;
//Slicer: matchmode team status cvars
vmCvar_t MM_team1;
vmCvar_t MM_team2;
vmCvar_t cg_RQ3_team1ready;
vmCvar_t cg_RQ3_team2ready;
// NiceAss: Taken out of the missionpack
vmCvar_t cg_enableBreath;
// JBravo: ditto
@ -453,8 +456,8 @@ static cvarTable_t cvarTable[] = { // bk001129
{ &cg_RQ3_team2name, "g_RQ3_team2name", "0", 0},
{ &cg_gravity, "g_gravity", "0", 0},
//Slicer: Team Status Cvars for MM
{ &MM_team1, "MM_team1", "0", 0},
{ &MM_team2, "MM_team2", "0", 0}
{ &cg_RQ3_team1ready, "g_RQ3_team1ready", "0", 0},
{ &cg_RQ3_team2ready, "g_RQ3_team2ready", "0", 0}
// { &cg_pmove_fixed, "cg_pmove_fixed", "0", CVAR_USERINFO | CVAR_ARCHIVE }
};

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.63 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.62 2002/04/07 03:22:48 jbravo
// Tweaks and crashbug fixes
//
@ -1740,10 +1743,10 @@ void ClientDisconnect( int clientNum ) {
if(g_RQ3_matchmode.integer) {
switch(ent->client->pers.captain ) {
case TEAM_RED:
trap_Cvar_Set("RQ3_team1", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
break;
case TEAM_BLUE:
trap_Cvar_Set("RQ3_team2", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
break;
default:
break;

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.91 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.90 2002/04/07 03:22:48 jbravo
// Tweaks and crashbug fixes
//
@ -892,10 +895,10 @@ void SetTeam( gentity_t *ent, char *s )
// client->sess.savedTeam = team;
switch(ent->client->pers.captain) {
case TEAM_RED:
trap_Cvar_Set("RQ3_team1", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
break;
case TEAM_BLUE:
trap_Cvar_Set("RQ3_team2", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
break;
default:
break;
@ -2945,6 +2948,8 @@ void ClientCommand( int clientNum ) {
MM_Ready_f( ent );
else if (Q_stricmp (cmd, "sub") == 0)
MM_Sub_f( ent );
else if (Q_stricmp (cmd, "teamname") == 0)
MM_TeamName_f(ent);
// aasimon: referee for MM
else if (Q_stricmp (cmd, "reflogin") == 0)
Ref_Auth ( ent );

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.66 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.65 2002/04/03 09:26:47 jbravo
// New FF system. Warns and then finally kickbans teamwounders and
// teamkillers
@ -659,6 +662,7 @@ char *G_NewString( const char *string );
//
// g_cmds.c
//
char *ConcatArgs( int start );
void Cmd_Score_f (gentity_t *ent);
void StopFollowing( gentity_t *ent );
void BroadcastTeamChange( gclient_t *client, int oldTeam );
@ -1081,8 +1085,8 @@ extern vmCvar_t g_RQ3_maxteamkills; // JBravo: Max teamkills
extern vmCvar_t g_RQ3_twbanrounds; // JBravo: no. of games team wounders are banned
extern vmCvar_t g_RQ3_tkbanrounds; // JBravo: no. of games team killers are banned
//Slicer: Team Status Cvars for MM
extern vmCvar_t RQ3_team1;
extern vmCvar_t RQ3_team2;
extern vmCvar_t g_RQ3_team1ready;
extern vmCvar_t g_RQ3_team2ready;
//aasimon: Ref System for MM
extern vmCvar_t g_RQ3_AllowRef;
extern vmCvar_t g_RQ3_RefPass;

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.43 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.42 2002/04/03 09:26:47 jbravo
// New FF system. Warns and then finally kickbans teamwounders and
// teamkillers
@ -195,8 +198,8 @@ vmCvar_t g_RQ3_maxteamkills;
vmCvar_t g_RQ3_twbanrounds;
vmCvar_t g_RQ3_tkbanrounds;
//Slicer: Team Status Cvars for MM
vmCvar_t RQ3_team1;
vmCvar_t RQ3_team2;
vmCvar_t g_RQ3_team1ready;
vmCvar_t g_RQ3_team2ready;
// aasimon: Ref System for MM
vmCvar_t g_RQ3_AllowRef;
vmCvar_t g_RQ3_RefPass;
@ -327,8 +330,8 @@ static cvarTable_t gameCvarTable[] = {
{ &g_RQ3_tgren, "g_RQ3_tgren", "0", CVAR_ARCHIVE, 0, qtrue},
{ &g_RQ3_limchasecam, "g_RQ3_limchasecam", "0", CVAR_ARCHIVE, 0, qtrue},
{ &g_RQ3_sniperup, "g_RQ3_sniperup", "0", CVAR_ARCHIVE, 0, qtrue},
{ &g_RQ3_team1name, "g_RQ3_team1name", "Robbers", CVAR_SYSTEMINFO | CVAR_SERVERINFO | CVAR_USERINFO | CVAR_LATCH, 0, qtrue, qtrue },
{ &g_RQ3_team2name, "g_RQ3_team2name", "Swat", CVAR_SYSTEMINFO | CVAR_SERVERINFO | CVAR_USERINFO | CVAR_LATCH, 0, qtrue, qtrue },
{ &g_RQ3_team1name, "g_RQ3_team1name", "Robbers", CVAR_SYSTEMINFO | CVAR_SERVERINFO , 0, qfalse },
{ &g_RQ3_team2name, "g_RQ3_team2name", "Swat", CVAR_SYSTEMINFO | CVAR_SERVERINFO , 0, qfalse },
{ &g_RQ3_teamCount1, "g_RQ3_teamCount1", "0", CVAR_SYSTEMINFO, 0, qfalse },
{ &g_RQ3_teamCount2, "g_RQ3_teamCount2", "0", CVAR_SYSTEMINFO, 0, qfalse },
{ &g_RQ3_numSpectators, "g_RQ3_numSpectators", "0", CVAR_SYSTEMINFO, 0, qfalse },
@ -337,8 +340,8 @@ static cvarTable_t gameCvarTable[] = {
{ &g_RQ3_twbanrounds, "g_RQ3_twbanrounds", "2", CVAR_ARCHIVE, 0, qtrue},
{ &g_RQ3_tkbanrounds, "g_RQ3_tkbanrounds", "2", CVAR_ARCHIVE, 0, qtrue},
//Slicer: Team Status Cvars for MM
{ &RQ3_team1, "RQ3_team1", "0", 0, 0, qfalse},
{ &RQ3_team2, "RQ3_team2", "0", 0, 0, qfalse},
{ &g_RQ3_team1ready, "g_RQ3_team1ready", "0", CVAR_SYSTEMINFO, 0, qfalse},
{ &g_RQ3_team2ready, "g_RQ3_team2ready", "0", CVAR_SYSTEMINFO, 0, qfalse},
// aasimon: Ref system for MM,added infor for referee id (clientnumber)
{ &g_RQ3_AllowRef, "g_RQ3_AllowRef", "0", CVAR_SERVERINFO, 0, qtrue},
{ &g_RQ3_RefPass, "g_RQ3_RefPassword", "", CVAR_USERINFO, 0, qfalse},
@ -695,8 +698,8 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {
if(g_RQ3_matchmode.integer && g_gametype.integer == GT_TEAMPLAY) {
level.matchTime = 0;
level.inGame = qfalse;
trap_Cvar_Set("RQ3_team1", "0");
trap_Cvar_Set("RQ3_team2", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
}
if ( trap_Cvar_VariableIntegerValue( "bot_enable" ) ) {

View File

@ -64,13 +64,13 @@ void MM_Captain_f( gentity_t *ent ) {
return;
}
if(ent->client->pers.captain == TEAM_RED) {
trap_Cvar_Set("RQ3_team1", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
trap_SendServerCommand( -1, va("print \"%s is no longer %s's Captain.\n\"",
ent->client->pers.netname,"Red Team"));// Teams will have names in the future..
ent->client->pers.captain = TEAM_FREE;
}
else if(ent->client->pers.captain == TEAM_BLUE) {
trap_Cvar_Set("RQ3_team2", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
trap_SendServerCommand( -1, va("print \"%s is no longer %s's Captain.\n\"",
ent->client->pers.netname,"Blue Team"));// Teams will have names in the future..
ent->client->pers.captain = TEAM_FREE;
@ -94,22 +94,22 @@ void MM_Ready_f(gentity_t *ent) {
if(ent->client->pers.captain != TEAM_FREE) {
if(ent->client->sess.savedTeam == TEAM_RED) {
trap_SendServerCommand( -1, va("cp \"%s is%s Ready.\n\"",
"Red Team",RQ3_team1.integer == 0 ? "": "no longer"));
"Red Team",g_RQ3_team1ready.integer == 0 ? "": "no longer"));
if(RQ3_team1.integer)
trap_Cvar_Set("RQ3_Team1", "0");
if(g_RQ3_team1ready.integer)
trap_Cvar_Set("g_RQ3_team1ready", "0");
else
trap_Cvar_Set("RQ3_Team1", "1");
trap_Cvar_Set("g_RQ3_team1ready", "1");
}
else {
trap_SendServerCommand( -1, va("cp \"%s is%s Ready.\n\"",
"Blue Team",RQ3_team2.integer == 0 ? "": " no longer"));
"Blue Team",g_RQ3_team2ready.integer == 0 ? "": " no longer"));
if(RQ3_team2.integer)
trap_Cvar_Set("RQ3_Team2", "0");
if(g_RQ3_team2ready.integer)
trap_Cvar_Set("g_RQ3_team2ready", "0");
else
trap_Cvar_Set("RQ3_Team2", "1");
trap_Cvar_Set("g_RQ3_team2ready", "1");
}
}
@ -118,6 +118,66 @@ void MM_Ready_f(gentity_t *ent) {
}
void MM_TeamName_f(gentity_t *ent) {
int args;
team_t team;
char *buff;
team = ent->client->sess.savedTeam;
if(!g_RQ3_matchmode.integer)
return;
if(team == TEAM_SPECTATOR) {
return;
}
args = trap_Argc();
if(args < 2) {
trap_SendServerCommand(ent-g_entities, va("print \"Your Team Name: %s\n\"",
ent->client->sess.savedTeam == TEAM_RED ? g_RQ3_team1name.string : g_RQ3_team2name.string ));
return;
}
else {
if(ent->client->pers.captain == TEAM_FREE) {
trap_SendServerCommand(ent-g_entities, "print \"You need to be a captain for that\n\"");
return;
}
if(level.team_game_going || level.team_round_going) {
trap_SendServerCommand(ent-g_entities, "print \"You cannot change your team's name while playing or ready.\n\"");
}
buff = ConcatArgs( 1 );
if( strlen(buff) > TEAM_NAME_SIZE )
buff[TEAM_NAME_SIZE] = 0;
if(team == TEAM_RED) {
if(g_RQ3_team1ready.integer) {
trap_SendServerCommand(ent-g_entities, "print \"You need to un-ready your team for that..\n\"");
return;
}
trap_Cvar_Set("g_RQ3_team1name",buff);
trap_SendServerCommand(-1,va("print \"New Team 1 Name: %s\n\"",buff));
}
else {
if(g_RQ3_team2ready.integer) {
trap_SendServerCommand(ent-g_entities, "print \"You need to un-ready your team for that..\n\"");
return;
}
trap_Cvar_Set("g_RQ3_team2name",buff);
trap_SendServerCommand(-1,va("print \"New Team 2 Name: %s\n\"",buff));
}
}
}
//
// aasimon: Referee Functions Definition, with some aid functions first
//

View File

@ -1,8 +1,10 @@
void MM_RunFrame( void );
void MM_Captain_f(gentity_t *ent );
void MM_Sub_f( gentity_t *ent);
void MM_Ready_f(gentity_t *ent);
void MM_ClearScores( void );
void MM_TeamName_f(gentity_t *ent);
// aasimon: Declarations for Ref system
qboolean Ref_Exists( void );

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.61 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.60 2002/04/07 03:22:48 jbravo
// Tweaks and crashbug fixes
//
@ -253,7 +256,7 @@ void CheckTeamRules()
} else {
//Slicer: Adding Matchmode
if(g_RQ3_matchmode.integer) {
if(RQ3_team1.integer && RQ3_team2.integer)
if(g_RQ3_team1ready.integer && g_RQ3_team2ready.integer)
trap_SendServerCommand( -1, "cp \"Not enough players to play!\n\"");
else
trap_SendServerCommand( -1, "cp \"Both Teams Must Be Ready!\n\"");
@ -289,8 +292,8 @@ void CheckTeamRules()
level.inGame = level.team_round_going = level.team_round_countdown =
level.team_game_going = level.matchTime = 0;
trap_SendServerCommand( -1, "roundend");
trap_Cvar_Set("RQ3_Team1", "0");
trap_Cvar_Set("RQ3_Team2", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
MakeAllLivePlayersObservers ();
trap_SendServerCommand( -1, "cp \"Match is OVER !!!.\n\"");
return;
@ -380,7 +383,7 @@ qboolean BothTeamsHavePlayers()
int onteam1 = 0, onteam2 = 0;
//Slicer: Matchmode
if(g_RQ3_matchmode.integer && (!RQ3_team1.integer || !RQ3_team2.integer))
if(g_RQ3_matchmode.integer && (!g_RQ3_team1ready.integer || !g_RQ3_team2ready.integer))
return 0;
@ -534,8 +537,8 @@ int WonGame(int winner)
level.inGame = level.team_round_going = level.team_round_countdown =
level.team_game_going = level.matchTime = 0;
trap_SendServerCommand( -1, "roundend");
trap_Cvar_Set("RQ3_Team1", "0");
trap_Cvar_Set("RQ3_Team2", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
MakeAllLivePlayersObservers ();
trap_SendServerCommand( -1, "cp \"Match is OVER !!!.\n\"");
return 1;
@ -560,8 +563,8 @@ int WonGame(int winner)
level.inGame = level.team_round_going = level.team_round_countdown =
level.team_game_going = level.matchTime = 0;
trap_SendServerCommand( -1, "roundend");
trap_Cvar_Set("RQ3_Team1", "0");
trap_Cvar_Set("RQ3_Team2", "0");
trap_Cvar_Set("g_RQ3_team1ready", "0");
trap_Cvar_Set("g_RQ3_team2ready", "0");
MakeAllLivePlayersObservers ();
trap_SendServerCommand( -1, "cp \"Match is OVER !!!.\n\"");
return 1;

View File

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.11 2002/04/07 12:49:10 slicer
// Added 'teamname' command for MM, and tweaked the cvar system.
//
// Revision 1.10 2002/04/03 09:26:47 jbravo
// New FF system. Warns and then finally kickbans teamwounders and
// teamkillers
@ -44,6 +47,8 @@
#define WINNER_TEAM1 1
#define WINNER_TEAM2 2
#define WINNER_TIE 3
//Slicer TeamName Size.
#define TEAM_NAME_SIZE 30
void CheckTeamRules();
void StartLCA();