Habe jetzt zwar keine Möglichkeit das zu testen... aber wie wäre es mit
Code:
BOOL TextCmd_aroundaggro( CScanner & scanner )
{
#ifdef __WORLDSERVER
CMover* pUser = (CMover*)scanner.dwValue;
CObj* pObj;
DWORD dwRange = scanner.GetNumber();
if( dwRange > MAX_RANGE ) //overflow //MAX_RANGE noch definieren
dwRange = MAX_RANGE;
else if( dwRange < 0 )//underflow^^
dwRange = 0;
FOR_LINKMAP( pUser->GetWorld(), pUser->GetPos(), pObj, (int)( dwRange ), [COLOR=Red]CObj::linkDynamic[/COLOR], pUser->GetLayer() )//[COLOR=Red]Hier bin ich mir net sicher ob linkDynamic oder linkPlayer[/COLOR]
{
if( IsValidObj(pOj) && pObj->GetType()==OT_MOVER && pObj->m_dwAIInterface==AII_MONSTER )
((CMover*)pObj)->m_bActiveAttack = TRUE;
}
END_LINKMAP
#endif
return TRUE;
}
und ich denke dass da nix neu gespawnt werden muss, denn die Renderfarbe bezieht sich auf m_bActiveAttack und wird ja in nem eigenen Thread ständig gerendert und dafür, dass der Client auch mitkriegt, dass sich der Status geändert hat sorgt ja die Serialize Funktion von der Mover Klasse ( ar << (u_char)m_bActiveAttack; )
...kann jetzt aber auch net garantieren, dass das funzt^^