The particle only display on the server side but didnt display on the client side

I am trying to make a particle emitter with using emit() but I don’t know why the particle didn’t appear on the client side but it display on the server side. Here is my scripts:

I have a module script:

local Debris = game:GetService("Debris")

local ParticleEffect = {}

function ParticleEffect.ParticleEffect(cframe : CFrame, paricleEmitter : ParticleEmitter, EmitNumber : IntValue)
	local ParticlePosition = Instance.new("Part", workspace.Fx)
	ParticlePosition.Name = "ParticlePosition"
	ParticlePosition.CFrame = cframe
	ParticlePosition.Size = Vector3.new(1, 1, 1)
	ParticlePosition.Transparency = 1
	ParticlePosition.CanCollide = false
	ParticlePosition.Anchored = true

	local Attachment = Instance.new("Attachment", ParticlePosition)

	local ParicleEmitter = paricleEmitter:Clone()
	ParicleEmitter.Parent = Attachment

	ParicleEmitter:Emit(EmitNumber)
	
	Debris:AddItem(paricleEmitter, paricleEmitter.Lifetime.Max)
end

return ParticleEffect

And a server script which call the module script using this

ParticleEffect.ParticleEffect(HRP.CFrame * CFrame.new(0, 0, -3), GroundPunchParticle, 10) 

code.

Thank you

1 Like

Solved by changing the module script to this
I use timing instead of Emit()

local Debris = game:GetService("Debris")

local ParticleEffect = {}

function ParticleEffect.ParticleEffect(cframe : CFrame, paricleEmitter : ParticleEmitter, Second : number)
	local ParticlePosition = Instance.new("Part", workspace.Fx)
	ParticlePosition.Name = "ParticlePosition"
	ParticlePosition.CFrame = cframe
	ParticlePosition.Size = Vector3.new(1, 1, 1)
	ParticlePosition.Transparency = 1
	ParticlePosition.CanCollide = false
	ParticlePosition.Anchored = true

	local Attachment = Instance.new("Attachment", ParticlePosition)

	local ParicleEmitter = paricleEmitter:Clone()
	ParicleEmitter.Parent = Attachment
	
	local DelayTask
	DelayTask = task.delay(Second, function()
		ParicleEmitter.Enabled = false
		task.wait(ParicleEmitter.Lifetime.Max)
		ParicleEmitter:Destroy()
		
		task.cancel(DelayTask)
	end)
end

return ParticleEffect

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.