mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-03-13 05:51:19 +00:00
EHANDLE: return any player if stored player and it is NULL
This commit is contained in:
parent
9d27e6f3ea
commit
c4ccfc4dfc
@ -479,6 +479,30 @@ edict_t *EHANDLE::Get( void )
|
||||
{
|
||||
if( m_pent )
|
||||
{
|
||||
// try always return non-null when saved entity is player
|
||||
if( ENTINDEX( m_pent ) > 0 && ENTINDEX( m_pent ) <= gpGlobals->maxClients )
|
||||
{
|
||||
int i;
|
||||
|
||||
// check if player entity exists
|
||||
if( m_pent->pvPrivateData )
|
||||
{
|
||||
CBaseEntity *pPlayer = CBaseEntity::Instance( m_pent );
|
||||
if( pPlayer && pPlayer->IsPlayer() )
|
||||
return pPlayer->edict();
|
||||
}
|
||||
|
||||
// if not, find any player
|
||||
for( i = 1; i <= gpGlobals->maxClients; i++ )
|
||||
{
|
||||
CBaseEntity *pPlayer = UTIL_PlayerByIndex(i);
|
||||
if( pPlayer && pPlayer->IsPlayer() )
|
||||
return pPlayer->edict();
|
||||
}
|
||||
|
||||
// no players found, return as is
|
||||
return m_pent;
|
||||
}
|
||||
if( m_pent->serialnumber == m_serialnumber )
|
||||
return m_pent;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user