本文整理汇总了C++中IPlayerInfo::IsHLTV方法的典型用法代码示例。如果您正苦于以下问题:C++ IPlayerInfo::IsHLTV方法的具体用法?C++ IPlayerInfo::IsHLTV怎么用?C++ IPlayerInfo::IsHLTV使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPlayerInfo
的用法示例。
在下文中一共展示了IPlayerInfo::IsHLTV方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddAllPlayers
void MRecipientFilter::AddAllPlayers(int maxClients)
{
m_Recipients.RemoveAll();
int i;
for ( i = 1; i <= maxClients; i++ )
{
#if defined ( GAME_CSGO )
edict_t *pPlayer = PEntityOfEntIndex(i);
#else
edict_t *pPlayer = engine->PEntityOfEntIndex(i);
#endif
if ( !pPlayer || pPlayer->IsFree()) {
continue;
}
IPlayerInfo *playerinfo = playerinfomanager->GetPlayerInfo( pPlayer );
if (!playerinfo || !playerinfo->IsConnected())
{
continue;
}
if (playerinfo->IsHLTV())
{
continue;
}
if (strcmp(playerinfo->GetNetworkIDString(),"BOT") == 0)
{
continue;
}
m_Recipients.AddToTail(i);
}
}
示例2: CanRecordDemo
bool CSizzPluginContext::CanRecordDemo()
{
for (int i = 1; i <= GetMaxClients(); ++i)
{
edict_t *pEdict = EdictFromEntIndex(i);
IPlayerInfo *pInfo = m_pPlayerInfoManager->GetPlayerInfo(pEdict);
if (pInfo && pInfo->IsHLTV())
{
return true;
}
}
return false;
}
示例3: aimingAt
int NczPlayer::aimingAt()
{
trace_t trace;
Ray_t ray;
edict_t* edict = GetEdict();
if(!edict) return -1;
IPlayerInfo* playerinfo = GetPlayerInfo();
if(!playerinfo) return -1;
CBotCmd cmd = playerinfo->GetLastUserCommand();
Vector earPos;
CIFaceManager::GetInstance()->GetIclients()->ClientEarPosition(edict, &earPos);
Vector eyePos = earPos;
QAngle eyeAngles = cmd.viewangles;
Vector vEnd;
AngleVectors(eyeAngles, &vEnd);
vEnd = vEnd * 8192.0f + eyePos;
ray.Init(eyePos,vEnd);
CIFaceManager::GetInstance()->GetItrace()->TraceRay( ray, (CONTENTS_SOLID | CONTENTS_MOVEABLE | CONTENTS_MONSTER | CONTENTS_DEBRIS | CONTENTS_HITBOX), NULL, &trace );
edict_t* target = CIFaceManager::GetInstance()->GetIents()->BaseEntityToEdict(trace.m_pEnt);
if ( target && !Helpers::IndexOfEdict(target) == 0 && !trace.allsolid )
{
if(!Helpers::isValidEdict(target)) return -1;
#undef GetClassName
if(strcmp(target->GetClassName(), "player") == 0)
{
IPlayerInfo* targetinfo = CIFaceManager::GetInstance()->GetIplayers()->GetPlayerInfo(target);
if(targetinfo)
{
int ta = targetinfo->GetTeamIndex();
int tb = playerinfo->GetTeamIndex();
if( ta != tb )
{
if( targetinfo->IsPlayer() && !targetinfo->IsHLTV() && !targetinfo->IsObserver() )
{
return Helpers::IndexOfEdict(target);
}
}
}
}
}
return -1;
}
示例4: GameFrame
//---------------------------------------------------------------------------------
// Purpose: Process Game Frame
//---------------------------------------------------------------------------------
void ManiAutoMap::GameFrame(void)
{
if (war_mode ||
mani_automap.GetInt() == 0 ||
ignore_this_map ||
automap_list_size == 0) return;
if (g_RealTime < trigger_time) return;
trigger_time += 15;
int players = 0;
bool include_bots = mani_automap_include_bots.GetBool();
int threshold = mani_automap_player_threshold.GetInt();
// Count players
for (int i = 1; i <= max_players; i++)
{
// Faster than FindPlayerByIndex()
#if defined ( GAME_CSGO )
edict_t *pEntity = PEntityOfEntIndex(i);
#else
edict_t *pEntity = engine->PEntityOfEntIndex(i);
#endif
if(pEntity && !pEntity->IsFree() )
{
IPlayerInfo *playerinfo = playerinfomanager->GetPlayerInfo( pEntity );
if (playerinfo && playerinfo->IsConnected())
{
if (playerinfo->IsHLTV()) continue;
if (!include_bots && strcmp(playerinfo->GetNetworkIDString(), "BOT") == 0) continue;
players ++;
if (players > threshold)
{
// Broken threshold so just ignore, but reset the timeout
this->ResetTimeout(mani_automap_timer.GetInt());
return;
}
}
}
}
// Need to change map
if (mani_automap_set_nextmap.GetInt() != 0)
{
set_next_map = true;
}
else
{
set_next_map = false;
}
int map_choice = this->ChooseMap();
override_changelevel = 0;
override_setnextmap = false;
ignore_this_map = true;
LogCommand (NULL, "Autochange to map %s while server idle\n", automap_list[map_choice].map_name);
SetChangeLevelReason("Automap changed map");
char changelevel_command[128];
snprintf(changelevel_command, sizeof(changelevel_command), "changelevel %s\n", automap_list[map_choice].map_name);
engine->ServerCommand(changelevel_command);
}