extensions/sdktools/teamnatives.cpp
changeset 1673 a3674bdc4672
parent 1613 9ed3c8cf2af1
child 1947 e73a1e51833b
     1.1 --- a/extensions/sdktools/teamnatives.cpp	Sun Nov 11 06:41:46 2007 +0000
     1.2 +++ b/extensions/sdktools/teamnatives.cpp	Sun Nov 11 06:50:50 2007 +0000
     1.3 @@ -84,16 +84,21 @@
     1.4  		ServerClass *pClass = pEdict->GetNetworkable()->GetServerClass();
     1.5  		if (FindTeamEntities(pClass->m_pTable, "DT_Team"))
     1.6  		{
     1.7 -			static int offset = g_pGameHelpers->FindInSendTable(pClass->GetName(), "m_iTeamNum")->GetOffset();
     1.8 -			CBaseEntity *pEnt = pEdict->GetUnknown()->GetBaseEntity();
     1.9 -			int TeamIndex = *(int *)((unsigned char *)pEnt + offset);
    1.10 +			SendProp *pTeamNumProp = g_pGameHelpers->FindInSendTable(pClass->GetName(), "m_iTeamNum");
    1.11 +
    1.12 +			if (pTeamNumProp != NULL)
    1.13 +			{
    1.14 +				int offset = pTeamNumProp->GetOffset();
    1.15 +				CBaseEntity *pEnt = pEdict->GetUnknown()->GetBaseEntity();
    1.16 +				int TeamIndex = *(int *)((unsigned char *)pEnt + offset);
    1.17  
    1.18 -			if (TeamIndex >= (int)g_Teams.size())
    1.19 -			{
    1.20 -				g_Teams.resize(TeamIndex+1);
    1.21 +				if (TeamIndex >= (int)g_Teams.size())
    1.22 +				{
    1.23 +					g_Teams.resize(TeamIndex+1);
    1.24 +				}
    1.25 +				g_Teams[TeamIndex].ClassName = pClass->GetName();
    1.26 +				g_Teams[TeamIndex].pEnt = pEnt;
    1.27  			}
    1.28 -			g_Teams[TeamIndex].ClassName = pClass->GetName();
    1.29 -			g_Teams[TeamIndex].pEnt = pEnt;
    1.30  		}
    1.31  	}
    1.32  }