I am trying to figure out how to fix my particles so that when they emit they
show up at the end of the weapon's barrel.
Code:
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
Vector vGunPos;
Vector vForward, vRight, vUp;
QAngle ClientEyeAngles;
ClientEyeAngles = pPlayer->EyeAngles();
AngleVectors( ClientEyeAngles, &vForward, &vRight, &vUp );
m_nBarrelAttachment = pPlayer->LookupAttachment( "muzzle" );
GetAttachment( m_nBarrelAttachment, vGunPos, ClientEyeAngles );
if (pPlayer->IsDucked())
vGunPos -= (vUp * 10.0f);
else
vGunPos += (vUp * 7.5f);
vGunPos +=(vForward * 28.0f);
vGunPos += (vRight * 8.0f);
CEffectData data;
data.m_flScale = 1.0f;
data.m_vOrigin = vGunPos;
data.m_vAngles = ClientEyeAngles;
data.m_nAttachmentIndex = m_nBarrelAttachment;
DispatchEffect( "MyEffect", data );
This is fine for the client, but when another user fires their weapon the
particles spawn at their feet. I have yet to find a solution, would anyone know
why? I am using EP1 engine and the part about checking to see if they are
ducked is to compensate for that...since the code doesnt act 100% right...
Anyone know what I am doing wrong or not doing at all? If I try to loop like so:
Code:
for ( int i = 1; i <= gpGlobals->maxClients; ++i )
{
CHL2MP_Player *pClient = (CHL2MP_Player*) UTIL_PlayerByIndex( i );
m_nBarrelAttachment = pClient->LookupAttachment( "muzzle" );
GetAttachment( m_nBarrelAttachment, vGunPos, ClientEyeAngles );
}
it just crashes when I fire. Anyone ?
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders