本文整理汇总了C++中P_CHAR::heartbeat方法的典型用法代码示例。如果您正苦于以下问题:C++ P_CHAR::heartbeat方法的具体用法?C++ P_CHAR::heartbeat怎么用?C++ P_CHAR::heartbeat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P_CHAR
的用法示例。
在下文中一共展示了P_CHAR::heartbeat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkauto
//.........这里部分代码省略.........
//
Restocks->doRestock();
//
// Prison release
//
prison::checkForFree();
//
// Temporary effects
//
if( TIMEOUT( checktempfx ) )
tempfx::checktempeffects();
//
// Characters & items
//
NxwSocketWrapper sw;
sw.fillOnline();
for( sw.rewind(); !sw.isEmpty(); sw++ )
{
NXWCLIENT ps = sw.getClient();
if( ps == NULL )
continue;
P_CHAR pc=ps->currChar();
if( !ISVALIDPC( pc ) )
continue;
if( lightChanged )
dolight(ps->toInt(),worldcurlevel);
pc->heartbeat();
if( TIMEOUT( checknpcs ) || TIMEOUT( checktamednpcs ) || TIMEOUT( checknpcfollow ) )
{
#ifdef SPAR_C_LOCATION_MAP
PCHAR_VECTOR *pCV = pointers::getNearbyChars( pc, VISRANGE, pointers::NPC );
PCHAR_VECTOR it( pCV->begin() ), end( pCV->end() );
P_CHAR pNpc = 0;
while( it != end )
{
pNpc = (*it);
if( pNpc->lastNpcCheck != uiCurrentTime &&
(TIMEOUT( checknpcs ) ||
(TIMEOUT( checktamednpcs ) && pNpc->tamed) ||
(TIMEOUT( checknpcfollow ) && pNpc->npcWander == WANDER_FOLLOW ) ) )
{
pNpc->heartbeat();
pNpc->lastNpcCheck = uiCurrentTime;
}
++it;
}
#else
NxwCharWrapper sc;
sc.fillCharsNearXYZ( pc->getPosition(), VISRANGE, true, false );
for( sc.rewind(); !sc.isEmpty(); sc++ )
{
P_CHAR npc=sc.getChar();
if(!ISVALIDPC(npc) || !npc->npc )
continue;
if( npc->lastNpcCheck != uiCurrentTime &&
(TIMEOUT( checknpcs ) ||