Ejemplo n.º 1
0
// Changes team spectator lock status
void G_refSpeclockTeams_cmd(gentity_t *ent, qboolean fLock)
{
	char *status;

	// Ensure proper locking
	G_updateSpecLock(TEAM_AXIS, (TeamCount(-1, TEAM_AXIS)) ? fLock : qfalse);
	G_updateSpecLock(TEAM_ALLIES, (TeamCount(-1, TEAM_ALLIES)) ? fLock : qfalse);

	status = va("Referee has ^3SPECTATOR %sLOCKED^7 teams", ((fLock) ? "" : "UN"));

	G_printFull(status, ent);

	// Update viewers as necessary
//	G_pollMultiPlayers();

	if (fLock)
	{
		level.server_settings |= CV_SVS_LOCKSPECS;
	}
	else
	{
		level.server_settings &= ~CV_SVS_LOCKSPECS;
	}
	trap_SetConfigstring(CS_SERVERTOGGLES, va("%d", level.server_settings));
}
Ejemplo n.º 2
0
// ************** SPECLOCK / SPECUNLOCK
//
// Locks/unlocks a player's team from spectators.
void G_speclock_cmd( gentity_t *ent, unsigned int dwCommand, qboolean fLock ) {
	int tteam;

	if ( team_nocontrols.integer ) {
		G_noTeamControls( ent );
		return;
	}

	if ( !G_cmdDebounce( ent, aCommandInfo[dwCommand].pszCommandName ) ) {
		return;
	}

	tteam = G_teamID( ent );
	if ( tteam == TEAM_AXIS || tteam == TEAM_ALLIES ) {
		if ( teamInfo[tteam].spec_lock == fLock ) {
			CP( va( "print \"\n^3Your team is already %sed from spectators!\n\n\"", lock_status[fLock] ) );
		} else {
			G_printFull( va( "The %s team is now %sed from spectators", aTeams[tteam], lock_status[fLock] ), NULL );
			G_updateSpecLock( tteam, fLock );
			if ( fLock ) {
				CP( "cpm \"Use ^3specinvite^7 to invite people to spectate.\n\"" );
			}
		}
	} else {
		CP( va( "print \"Spectators can't %s a team from spectators!\n\"", lock_status[fLock] ) );
	}
}