コード例 #1
0
ファイル: g_main.c プロジェクト: osfpsproject/MF2
/*
==================
SetLeader
==================
*/
void SetLeader( int team, int client )
{
	GameClient* cl = theLevel.getClient(client);

	if( !cl || cl->pers_.connected_ == GameClient::ClientPersistant::CON_DISCONNECTED ) 
	{
		PrintTeam(team, va("print \"%s is not connected\n\"", cl->pers_.netname_) );
		return;
	}
	if( cl->sess_.sessionTeam_ != team ) 
	{
		PrintTeam(team, va("print \"%s is not on the team anymore\n\"", cl->pers_.netname_) );
		return;
	}
	for( int i = 1 ; i <= theLevel.maxclients_ ; i++ )
	{
		GameClient* currCl = theLevel.getClient(i);
		if( !currCl || currCl->sess_.sessionTeam_ != team )
			continue;
		if( currCl->sess_.teamLeader_ )
		{
			currCl->sess_.teamLeader_ = false;
			ClientUserinfoChanged(i);
		}
	}
	cl->sess_.teamLeader_ = true;
	ClientUserinfoChanged( client );
	PrintTeam(team, va("print \"%s is the New team leader\n\"", cl->pers_.netname_) );
}
コード例 #2
0
/*
==================
SetLeader
==================
*/
void SetLeader(int team, int client) {
	int i;

	if ( level.clients[client].pers.connected == CON_DISCONNECTED ) {
		PrintTeam(team, va("print \"%s is not connected\n\"", level.clients[client].pers.netname) );
		return;
	}
	if (level.clients[client].sess.sessionTeam != team) {
		PrintTeam(team, va("print \"%s is not on the team anymore\n\"", level.clients[client].pers.netname) );
		return;
	}
	for ( i = 0 ; i < level.maxclients ; i++ ) {
		if (level.clients[i].sess.sessionTeam != team)
			continue;
		if (level.clients[i].sess.teamLeader) {
			level.clients[i].sess.teamLeader = qfalse;
			ClientUserinfoChanged(i);
		}
	}
	level.clients[client].sess.teamLeader = qtrue;
	ClientUserinfoChanged( client );
	PrintTeam(team, va("print \"%s is the new team leader\n\"", level.clients[client].pers.netname) );
}