Particles In Code: Difference between revisions
Jump to navigation
Jump to search
Bug:Valve's code for dispatching a particle attached to a model is broken. Get the fix here. [todo tested in ?]
Killermonkey (talk | contribs) (Detailing bug in serverside dispatch code) |
TomEdwards (talk | contribs) (→SDK Bug: to bug template, made link internal) |
||
Line 23: | Line 23: | ||
DispatchParticleEffect particles is only visible to you if run from client-side. | DispatchParticleEffect particles is only visible to you if run from client-side. | ||
{{bug|Valve's code for dispatching a particle attached to a model is broken. [[SDK Known Issues List Fixed#Server Dispatching an Attached Particle Effect|Get the fix here.]]}} | |||
[[Category: Particle System]] | [[Category: Particle System]] | ||
Revision as of 10:06, 14 August 2009
Precaching Effects
Before dispatching effects, you should precache them first. This can be done by listing them in your particles_manifest.txt
file, or with this code:
PrecacheParticleSystem( "your_particle_effect_name" );
Dispatching Effects
At the very simplest you can just kick off an effect with the Dispatch function:
void DispatchParticleEffect( const char *pszParticleName, Vector vecOrigin, QAngle vecAngles,
CBaseEntity *pEntity )
void DispatchParticleEffect( const char *pszParticleName, ParticleAttachment_t iAttachType,
CBaseEntity *pEntity, int iAttachmentPoint,
bool bResetAllParticlesOnEntity )
The former signature lets you just place it arbitrarily in world coordinates. The latter permits you to attach it to an entity. You may then stop effects on an entity with this function:
StopParticleEffects( CBaseEntity *pEntity )
You cannot specify a lifetime on a particle system from code. The system will self-terminate after the lifespan specified in the particle definition.
DispatchParticleEffect particles is only visible to you if run from client-side.
