Garry's Mod Wiki

ParticleEmitter

  CLuaEmitter ParticleEmitter( Vector position, boolean use3D = false )

Description

Creates a new CLuaEmitter.

Do not forget to delete the emitter with CLuaEmitter:Finish once you are done with it
There is a limit of 4097 emitters that can be active at once, exceeding this limit will throw a non-halting error in console!

Arguments

1 Vector position
The start position of the emitter.

This is only used to determine particle drawing order for translucent particles.

2 boolean use3D = false
Whenever to render the particles in 2D or 3D mode. Supplying "true" will enable 3D (non-billboarded), otherwise it will default to 2D.

Returns

1 CLuaEmitter
The new particle emitter.

Example

Creates a simple spark particle effect 100 units above where the local player is looking at.

local tr = LocalPlayer():GetEyeTrace() local pos = tr.HitPos + tr.HitNormal * 100 -- The origin position of the effect local emitter = ParticleEmitter( pos ) -- Particle emitter in this position for i = 1, 100 do -- Do 100 particles local part = emitter:Add( "effects/spark", pos ) -- Create a new particle at pos if ( part ) then part:SetDieTime( 1 ) -- How long the particle should "live" part:SetStartAlpha( 255 ) -- Starting alpha of the particle part:SetEndAlpha( 0 ) -- Particle size at the end if its lifetime part:SetStartSize( 5 ) -- Starting size part:SetEndSize( 0 ) -- Size when removed part:SetGravity( Vector( 0, 0, -250 ) ) -- Gravity of the particle part:SetVelocity( VectorRand() * 50 ) -- Initial velocity of the particle end end emitter:Finish()