When i use the wallhang i get a spam with 10 or more messages per second with those words:
Code:
PM Got a NaN velocity 1
When i stop use the wallhang, this message stop show. I've searched about this error but nothing with Wallhang, is just when I use the wallhang. Idk why
Wallhang format:
PHP Code:
public plugin_init()
{
RegisterHam( Ham_Player_PostThink, "player", "ham_Player_PostThink_Post", 1 );
RegisterHam( Ham_Player_Jump, "player", "ham_Player_Jump_Pre", 0 );
RegisterHam( Ham_Touch, "func_wall", "ham_Touch_Pre", 0 );
RegisterHam( Ham_Touch, "func_breakable", "ham_Touch_Pre", 0 );
RegisterHam( Ham_Touch, "worldspawn", "ham_Touch_Pre", 0 );
}
public ham_Player_PostThink_Post( id )
{
if( !IsPlayer( id ) )
return HAM_IGNORED;
if( SetWallHang[ id ] && g_bHanged[ id ] )
{
engfunc( EngFunc_SetSize, id, g_fVecMins[ id ], g_fVecMaxs[ id ] );
engfunc( EngFunc_SetOrigin, id, g_fVecOrigin[ id ] );
set_pev( id, pev_velocity, 0 );
set_pdata_float( id, m_flNextAttack, 1.0, XTRA_OFS_PLAYER );
}
return HAM_IGNORED;
}
public ham_Player_Jump_Pre( id )
{
static afButtonPressed; afButtonPressed = get_pdata_int( id, m_afButtonPressed );
if( g_iRoundEnd == 1 || !SetWallHang[ id ] || !g_bHanged[ id ] || !g_bIsAlive[ id ] )
{
return HAM_IGNORED;
}
if( ( pev( id, pev_flags ) & FL_WATERJUMP ) || pev( id, pev_waterlevel ) >= 2 )
{
return HAM_IGNORED;
}
if( ~afButtonPressed & IN_JUMP )
{
return HAM_IGNORED;
}
g_bHanged[ id ] = false;
new Float:fVecVelocity[ 3 ];
velocity_by_aim( id, 600, fVecVelocity );
set_pev( id, pev_velocity, fVecVelocity );
set_user_velocity( id, fVecVelocity );
set_pdata_int( id, m_Activity, ACT_HOP );
set_pdata_int( id, m_IdealActivity, ACT_HOP );
set_pev( id, pev_gaitsequence, PLAYER_JUMP );
set_pev( id, pev_frame, 0.0 );
set_pdata_int( id, m_afButtonPressed, afButtonPressed & ~IN_JUMP );
return HAM_SUPERCEDE;
}
public ham_Touch_Pre( iEnt, id )
{
if( g_iRoundEnd == 0
&& IsPlayer( id )
&& SetWallHang[ id ]
&& !g_bHanged[ id ]
&& g_bIsAlive[ id ]
&& pev( id, pev_button ) & IN_USE
&& ~(pev( id, pev_flags ) & FL_ONGROUND ) )
{
g_bHanged[ id ] = true;
pev( id, pev_mins, g_fVecMins[ id ] );
pev( id, pev_maxs, g_fVecMaxs[ id ] );
pev( id, pev_origin, g_fVecOrigin[ id ] );
}
}
__________________