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

Reply via email to