Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How to make my npc's body parts remove on death while keeping respawn?

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

2 comments

0

the bottom script is the script for deleting the npc after death so no body parts everywhere

0

Yes if you put an npc in server storage and clone it you could just destroy it. Have a script in ServerScriptService check for the npc in the inventory and replace it with npc:Clone() if it's not there.

1 answer

✓ Accepted answer

try doing something along the lines of this:

local bodyparts = script.Parent:GetChildrenOfClass("Part")
bodyparts:Destroy()

14 comments

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

0

i just realized

This discussion is preserved as it was. New answers, comments, and votes are closed.