This works if I do not use wait()
but when I add wait, Nothing happens. I do not recieve and error either.
BodyParts = {"Head","Torso",("Left Arm"),("Left Leg"),("Right Arm"),("Right Leg")}--6 game:GetService('Players').PlayerAdded:connect(function(player) player.CharacterAdded:connect(function(character) character:WaitForChild("Humanoid").Died:connect(function() for i,v in pairs(BodyParts) do character[v].Anchored = true character[v].CanCollide = false wait(0.5) character[v]:remove() end end) end) end)
What's happening here is that each body part is getting the "death effect" in sequence, rather than all at once like you would like. The easiest (and safest) way to get around this is to use the Debris
Service. Specifically, the AddItem
method:
for i, v in pairs(BodyParts) do character[v].Anchored = true character[v].CanCollide = true game.Debris:AddItem(character[v], .5) end