Problem: I have created a tool that will remove all the scripts in the player's model and the player's Backpack. The problem is I can remove the scripts in the player's model but not in the player's Backpack. What I thought the best way to do this would be to create a variable ( as seen below) to check the mouse.Target.Parent and then do a for loop after getting the players do check if the name matches a name in the players. Then to do another for loop to get into their Backpack and delete everything in there. The error I get is the :WaitForChild() is a nil value. Any help on if I am doing something wrong/just something simple I am overlooking?
--Here is a snippet of the code
local char = game.Workspace:WaitForChild("yougottols1")
local hum = char:WaitForChild("Humanoid")
local mouse = game.Players.LocalPlayer:GetMouse()
local tool8 = Instance.new("Tool")
tool8.Name = "RemoveScripts"
tool8.RequiresHandle = false
tool8.CanBeDropped = false
tool8.Parent = game.Players:WaitForChild("yougottols1").Backpack
local script8 = Instance.new("LocalScript")
script8.Parent = tool8
script8.Parent.Equipped:connect(function(equip)
equip.Button1Down:connect(function(click)
local target2 = mouse.Target.Parent
print(target2.Name)
if target2.Name ~= "Workspace" then
print(target2.Name)
for i,v in pairs(target2:GetChildren()) do
if v:IsA("LocalScript") or v:IsA("Script") or v:IsA("Tool") or v:IsA("HopperBin") or v:IsA("Model") then
v:Destroy()
end
end
print("We are here")
for i,v in pairs(game.Players:GetPlayers()) do
print("Got the players")
if v.Name == target2.Name then
print("FoundPlayers")
for i,b in pairs(v.Name:WaitForChild("Backpack"):GetChildren()) do
print("Second for")
b:Destroy()
print("Destroyed")
end
end
end
end
end)
end)
Any help would be greatly appreciated and if none of you understand the problem you can make the comment and I can clarify more. Thanks!

1 comment
Is it a localscript, module script, or a serverscript?