I've been having trouble trying to figure out why my code isn't working, basically- I'm trying to make that if it is touched by a player, it will be put into their inventory.
Code:
tool = script.Parent Handle = tool.Parent enabled = false script.Parent.Touched:Connect(function(OnTouched) h = script.Parent.Players.PlayerAdded:FindFirstChild("Humanoid") if h == true then if debounce == false then debounce = true tool.Equipped:Connect(function() if h == false then return end end)
Although the tool itself does not have a Touched() event, the handle does. You almost have it just a few adjustments needed.
Tool = script.Parent -- Define your tool. Handle = Tool:WaitForChild('Handle') -- Define the thing that needs to be touched, in this case your handle. Players = game:GetService('Players') Handle.Touched:Connect(function(otherPart) local Player = Players:GetPlayerFromCharacter(otherPart.Parent) if Player then -- Check if the thing touching it is an actual player. Tool.Parent = Player.Backpack -- Parent the tool to their inventory/backpack. end end)
There no debounces in the script, so removes the debounce.
Next, some of the if-then
and functions if
doesn't have an end, so add it.
So basically the script is like this:
tool = script.Parent Handle = tool.Parent enabled = false script.Parent.Touched:Connect(function(OnTouched) h = script.Parent.Players.PlayerAdded:FindFirstChild("Humanoid") if h == true then tool.Equipped:Connect(function() if h == false then return end end) end end)
I hope this helps you! Bye bye~~~