This script does work, but sometimes it doesn't at all. Every time I respawn or someone respawns, they have a high chance of not receiving the tool.
game.Players.PlayerAdded:connect(function(p)
p.CharacterAdded:connect(function(c)
repeat
wait()
until p:FindFirstChild("Backpack")
game.ServerStorage:GetChildren()[math.random(1, #game.ServerStorage:GetChildren())]:clone().Parent = p.Backpack
end)
wait(2)
end)

1 comment
This works, but this doesn't solve my problem. I need to figure out how to prevent players that spawned, spawned with no tools.