I want to force m_hObserverTarget to be CT team only.
Quote:
Originally Posted by Arkshine
... you just need to call CBasePlayer::Observer_FindNextPlayer. You can pass name as param.
|
Using the code below throws that error and the server shutdowns.
Code:
[AMXX] Forwards with more than 32 parameters are not supported (tried to prepare array # 33).
Code:
#include <amxmodx>
#include <orpheu>
#include <fakemeta>
#include <engine>
#define get_team(%0) ( get_pdata_int( %0, m_iTeam ) )
const m_iTeam = 114;
const TEAM_CT = 2;
new OrpheuFunction:Observer_FindNextPlayer;
public plugin_init()
{
Observer_FindNextPlayer = OrpheuGetFunction( "Observer_FindNextPlayer", "CBasePlayer" );
OrpheuRegisterHook( Observer_FindNextPlayer, "OnObserver_FindNextPlayer_Post" , OrpheuHookPost);
}
public OnObserver_FindNextPlayer_Post( const player, const bool:searchDown, const playerNameToSearch[] )
{
static m_hObserverTarget; m_hObserverTarget = pev( player, pev_iuser2 );
if( get_team( m_hObserverTarget ) != TEAM_CT )
{
static id; id = m_hObserverTarget;
while ( (id = find_ent_by_class( id, "player" )) != m_hObserverTarget )
{
if(get_team( id ) != TEAM_CT )
continue;
static szName[32]; get_user_name(id, szName, charsmax(szName));
OrpheuCallSuper( Observer_FindNextPlayer, player, searchDown, szName );
break;
}
}
}