So when my npc's die their body parts scatter how would I remove this? Main script for animations/movement is here. https://pastebin.com/Awe5RYGm The script is so big it cant be posted but also this is a follow script so when it detects players it will follow the player if you need or want it.
function findNearestPlayer(Position) wait(0.3) local List = game.Workspace:GetChildren() --it's :GetChildren() not :Children() local Target --Just need this local Distance = 20 for i, v in pairs(List) do --loops through all entries in List local humanoid = v:FindFirstChild("Humanoid") --Checks for a humanoid local hrp = v:FindFirstChild("HumanoidRootPart") --Checks for a RootPart if humanoid and hrp and v ~= script.Parent then --If it has both and v is not the script's parent local dist = (Position - hrp.Position).Magnitude if dist <= Distance and humanoid.Health > 0 then local plr = game.Players:GetPlayerFromCharacter(v) if plr then --If it's a player Target = hrp --we have our target! end end end end return Target end while wait() do --don't want to cause a timeout local target = findNearestPlayer(script.Parent.HumanoidRootPart.Position) if target then script.Parent.Humanoid:MoveTo(target.Position, target) end end
I also want to keep the ability to respawn but if I put this script in,
local humanoid = script.Parent:FindFirstChild() if humanoid == nil then warn("Humanoid is nil!") end humanoid.Died:Connect(function() local Char = script.Parent Char:Destroy() end)
I wouldnt be able to make the npc respawn. I heard if keep a copy in server storage and copy that and the place the npc respawns I could keep both? I need assistance
try doing something along the lines of this:
local bodyparts = script.Parent:GetChildrenOfClass("Part") bodyparts:Destroy()