@@ -439,6 +439,8 @@ NOXREF int CountTeams()
439439 break ;
440440
441441 CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev );
442+ if (!pPlayer->IsPlayer () || pPlayer->IsDormant ())
443+ continue ;
442444
443445 if (pPlayer->m_iTeam == UNASSIGNED)
444446 continue ;
@@ -469,10 +471,10 @@ void ListPlayers(CBasePlayer *current)
469471 if (FNullEnt (pEntity->edict ()))
470472 break ;
471473
472- if (pEntity->IsDormant ())
474+ CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev );
475+ if (!pPlayer->IsPlayer () || pPlayer->IsDormant ())
473476 continue ;
474477
475- CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev );
476478 int iUserID = GETPLAYERUSERID (ENT (pPlayer->pev ));
477479
478480 Q_sprintf (cNumber, " %d" , iUserID);
@@ -496,10 +498,11 @@ int CountTeamPlayers(int iTeam)
496498 if (FNullEnt (pEntity->edict ()))
497499 break ;
498500
499- if (pEntity->IsDormant ())
501+ CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity->pev );
502+ if (!pPlayer->IsPlayer () || pPlayer->IsDormant ())
500503 continue ;
501504
502- if (GetClassPtr<CCSPlayer>((CBasePlayer *)pEntity-> pev ) ->m_iTeam == iTeam)
505+ if (pPlayer ->m_iTeam == iTeam)
503506 {
504507 nCount++;
505508 }
@@ -535,10 +538,12 @@ void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer)
535538 break ;
536539
537540 pTempPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pTempEntity->pev );
538-
539541 if (!pTempPlayer || pTempPlayer->m_iTeam == UNASSIGNED)
540542 continue ;
541543
544+ if (!pTempPlayer->IsPlayer () || pTempPlayer->IsDormant ())
545+ continue ;
546+
542547 if (pTempPlayer->m_iTeam == pVotingPlayer->m_iTeam && pTempPlayer->m_iCurrentKickVote == iVoteID)
543548 iValidVotes++;
544549 }
@@ -576,6 +581,9 @@ void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer)
576581 if (!pTempPlayer || pTempPlayer->m_iTeam == UNASSIGNED)
577582 continue ;
578583
584+ if (!pTempPlayer->IsPlayer () || pTempPlayer->IsDormant ())
585+ continue ;
586+
579587 if (pTempPlayer->m_iTeam == pVotingPlayer->m_iTeam && pTempPlayer->m_iCurrentKickVote == iVoteID)
580588 pTempPlayer->m_iCurrentKickVote = 0 ;
581589 }
@@ -976,6 +984,9 @@ void Host_Say(edict_t *pEntity, BOOL teamonly)
976984 if (pReceiver->edict () == pEntity)
977985 continue ;
978986
987+ if (!pReceiver->IsPlayer () || pReceiver->IsDormant ())
988+ continue ;
989+
979990 // Not a client ? (should never be true)
980991 if (!pReceiver->IsNetClient ())
981992 continue ;
@@ -2344,6 +2355,8 @@ CBaseEntity *EntityFromUserID(int userID)
23442355 break ;
23452356
23462357 CBasePlayer *pTempPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pTempEntity->pev );
2358+ if (!pTempPlayer->IsPlayer () || pTempPlayer->IsDormant ())
2359+ continue ;
23472360
23482361 if (pTempPlayer->m_iTeam != UNASSIGNED && userID == GETPLAYERUSERID (pTempEntity->edict ()))
23492362 {
@@ -2364,6 +2377,8 @@ NOXREF int CountPlayersInServer()
23642377 break ;
23652378
23662379 CBasePlayer *pTempPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pTempEntity->pev );
2380+ if (!pTempPlayer->IsPlayer () || pTempPlayer->IsDormant ())
2381+ continue ;
23672382
23682383 if (pTempPlayer->m_iTeam != UNASSIGNED)
23692384 {
@@ -3343,7 +3358,11 @@ void EXT_FUNC InternalCommand(edict_t *pEntity, const char *pcmd, const char *pa
33433358 for (int i = 1 ; i <= gpGlobals->maxClients ; i++)
33443359 {
33453360 CBasePlayer *pObserver = UTIL_PlayerByIndex (i);
3346- if (pObserver && pObserver->IsObservingPlayer (pPlayer))
3361+
3362+ if (!UTIL_IsValidPlayer (pObserver))
3363+ continue ;
3364+
3365+ if (pObserver->IsObservingPlayer (pPlayer))
33473366 {
33483367 EMIT_SOUND (ENT (pObserver->pev ), CHAN_ITEM, " items/nvg_off.wav" , RANDOM_FLOAT (0.92 , 1 ), ATTN_NORM);
33493368
@@ -3368,7 +3387,11 @@ void EXT_FUNC InternalCommand(edict_t *pEntity, const char *pcmd, const char *pa
33683387 for (int i = 1 ; i <= gpGlobals->maxClients ; i++)
33693388 {
33703389 CBasePlayer *pObserver = UTIL_PlayerByIndex (i);
3371- if (pObserver && pObserver->IsObservingPlayer (pPlayer))
3390+
3391+ if (!UTIL_IsValidPlayer (pObserver))
3392+ continue ;
3393+
3394+ if (pObserver->IsObservingPlayer (pPlayer))
33723395 {
33733396 EMIT_SOUND (ENT (pObserver->pev ), CHAN_ITEM, " items/nvg_on.wav" , RANDOM_FLOAT (0.92 , 1 ), ATTN_NORM);
33743397
0 commit comments