Raised This Month: $ Target: $400
 0% 

Solved [TF2] Client is not in game bug


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
MAGNAT2645
Senior Member
Join Date: Nov 2015
Location: AlliedMods.net
Old 08-13-2019 , 16:53   [TF2] Client is not in game bug
Reply With Quote #1

SM logs this annoying "is not in game" error but i've put client check via userid.

Code:
L 08/11/2019 - 09:11:29: [SM] Exception reported: Client 3 is not in game
L 08/11/2019 - 09:11:29: [SM] Blaming: disabled/deathrun_redux.smx
L 08/11/2019 - 09:11:29: [SM] Call stack trace:
L 08/11/2019 - 09:11:29: [SM]   [0] IsPlayerAlive
L 08/11/2019 - 09:11:29: [SM]   [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
Code part #1:
Code:
public void OnPlayerSpawn(Event event, const char[] name, bool dontBroadcast) {
	if ( !g_bIsDRmap )
		return;

	int iClient = GetClientOfUserId( event.GetInt( "userid" ) );
	if ( !iClient )
		return;

	if ( g_bDisableFallDamage )
		TF2Attrib_SetByName( iClient, "cancel falling damage", 1.0 );

	int iCond = GetEntProp( iClient, Prop_Send, "m_nPlayerCond" );
	if ( iCond & PLAYERCOND_SPYCLOAK )
		SetEntProp( iClient, Prop_Send, "m_nPlayerCond", iCond | ~PLAYERCOND_SPYCLOAK );

	if ( GetClientTeam( iClient ) == TEAM_BLUE && iClient != g_iLastDeath ) {
		ChangeAliveClientTeam( iClient, TEAM_RED );
		CreateTimer( 0.2, RespawnRebalanced, GetClientUserId( iClient ) );
	}

	if ( g_bOnPreparation )
		SetEntityMoveType( iClient, MOVETYPE_NONE );
}
Code part #2:
Code:
	g_iLastDeath = iNewDeath;
	int iTeam;
	for ( int i = 1; i <= MaxClients; i++ ) {
		if ( !IsClientInGame( i ) )
			continue;

		iTeam = GetClientTeam( i );
		if ( iTeam < TEAM_RED )
			continue;

		if ( i == iNewDeath ) {
			if ( iTeam != TEAM_BLUE )
				ChangeAliveClientTeam( i, TEAM_BLUE );

			if ( TF2_GetPlayerClass( i ) == TFClass_Unknown )
				TF2_SetPlayerClass( i, TFClass_Scout, false, true );

			g_iQueuePriory[ i ] = 1;
		}
		else if ( iTeam != TEAM_RED )
			ChangeAliveClientTeam( i, TEAM_RED );

		CreateTimer( 0.2, RespawnRebalanced, GetClientUserId( i ) );
	}
RespawnRebalanced code:
Code:
public Action RespawnRebalanced(Handle timer, any data) {
	int iClient = GetClientOfUserId( data );
	if ( iClient && !IsPlayerAlive( iClient ) )
		TF2_RespawnPlayer( iClient );
}
__________________

Last edited by MAGNAT2645; 08-16-2019 at 08:11. Reason: I think, it's solved
MAGNAT2645 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode