#Why part not destroying?
1 messages · Page 1 of 1 (latest)
wdym
you can't just go like
part.Parent
without even initializing it
where do you define it
wdym define
bru
where do you go like
part = Instance.new("Part")
in your code
when do you
create the part
because in the screenshot you sent you're REFERENCING the part variable
but it doesn't show you ever creating it
send the entire code
ok
my wifi is very bad hold on
** You are now Level 4! **
local zombie = script.Parent
local part = Instance.new("Part")
local attachment = Instance.new("Attachment")
local emitter = Instance.new("ParticleEmitter")
zombie.Humanoid.HealthChanged:Connect(function()
if zombie.Humanoid.Health <= 0 then
part.Parent = workspace
part.Shape = Enum.PartType.Block
part.Name = "DeathEffect"
part.Size = Vector3.new(1,1,1)
part.Anchored = true
part.CanCollide = false
part.Transparency = 1
part.Position = zombie.Torso.Position
attachment.Parent = part
attachment.Name = "Center"
emitter.Enabled = true
emitter.Parent = attachment
emitter.Color = ColorSequence.new(zombie.Head.Color)
emitter.Transparency = NumberSequence.new(0,1)
emitter.Lifetime = NumberRange.new(1)
emitter.Size = NumberSequence.new(.2,1.5)
emitter.SpreadAngle = Vector2.new(360,-360)
emitter.Rotation = NumberRange.new(-360,360)
emitter.Rate = 10
emitter.Speed = NumberRange.new(5)
emitter.Texture = "rbxassetid://7216855695"
emitter.Name = "Emitter"
task.wait(.5)
emitter.Enabled = false
part:Destroy()
end
end)
you should create part, attachment, and emitter INSIDE
of the function
not outside
so like this
zombie.Humanoid.HealthChanged:Connect(function()
if zombie.Humanoid.Health <= 0 then
local part = Instance.new("Part")
part.Parent = workspace
part.Shape = Enum.PartType.Block
part.Name = "DeathEffect"
part.Size = Vector3.new(1,1,1)
part.Anchored = true
part.CanCollide = false
part.Transparency = 1
part.Position = zombie.Torso.Position
local attachment = Instance.new("Attachment")
attachment.Parent = part
attachment.Name = "Center"
local emitter = Instance.new("ParticleEmitter")
emitter.Enabled = true
emitter.Parent = attachment
emitter.Color = ColorSequence.new(zombie.Head.Color)
emitter.Transparency = NumberSequence.new(0,1)
emitter.Lifetime = NumberRange.new(1)
emitter.Size = NumberSequence.new(.2,1.5)
emitter.SpreadAngle = Vector2.new(360, -360)
emitter.Rotation = NumberRange.new(-360, 360)
emitter.Rate = 10
emitter.Speed = NumberRange.new(5)
emitter.Texture = "rbxassetid://7216855695"
emitter.Name = "Emitter"
task.wait(0.5)
emitter.Enabled = false
part:Destroy()
end
end)
ok ima try it
and to ensure that it only runs ONCE
you can also do
local dead = false
zombie.Humanoid.HealthChanged:Connect(function()
if zombie.Humanoid.Health <= 0 and not dead then
dead = true
local part = Instance.new("Part")
part.Parent = workspace
part.Shape = Enum.PartType.Block
part.Name = "DeathEffect"
part.Size = Vector3.new(1,1,1)
part.Anchored = true
part.CanCollide = false
part.Transparency = 1
part.Position = zombie.Torso.Position
local attachment = Instance.new("Attachment")
attachment.Parent = part
attachment.Name = "Center"
local emitter = Instance.new("ParticleEmitter")
emitter.Enabled = true
emitter.Parent = attachment
emitter.Color = ColorSequence.new(zombie.Head.Color)
emitter.Transparency = NumberSequence.new(0,1)
emitter.Lifetime = NumberRange.new(1)
emitter.Size = NumberSequence.new(.2,1.5)
emitter.SpreadAngle = Vector2.new(360, -360)
emitter.Rotation = NumberRange.new(-360, 360)
emitter.Rate = 10
emitter.Speed = NumberRange.new(5)
emitter.Texture = "rbxassetid://7216855695"
emitter.Name = "Emitter"
task.wait(0.5)
emitter.Enabled = false
part:Destroy()
end
end)
so it will ONLY ever run once
nope
wdym
the part still stays after the zombie is dead
then idk man
because from code it seems like it shouldn't
wait let me try smt else