Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

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

Asked by 4 years ago

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

0
the bottom script is the script for deleting the npc after death so no body parts everywhere MrMeeper9 39 — 4y
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. Narunzo 172 — 4y

1 answer

Log in to vote
1
Answered by 4 years ago

try doing something along the lines of this:

local bodyparts = script.Parent:GetChildrenOfClass("Part")
bodyparts:Destroy()
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
View all comments (10 more)
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
0
i just realized ScriptsALot 91 — 4y
Ad

Answer this question