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

If Tool is Touched By a Player then, put in their inventory help?

Asked by 5 years ago

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:

01tool = script.Parent
02Handle = tool.Parent
03 
04 
05   enabled = false
06    script.Parent.Touched:Connect(function(OnTouched)
07    h = script.Parent.Players.PlayerAdded:FindFirstChild("Humanoid")
08    if h == true then
09    if debounce == false then
10        debounce = true
11        tool.Equipped:Connect(function()
12            if h == false then
13                return
14            end
15            end)
0
Doesn’t it automatically do that Rynappel 212 — 5y

2 answers

Log in to vote
2
Answered by
pwx 1581 Moderation Voter
5 years ago

Although the tool itself does not have a Touched() event, the handle does. You almost have it just a few adjustments needed.

01Tool = script.Parent -- Define your tool.
02Handle = Tool:WaitForChild('Handle') -- Define the thing that needs to be touched, in this case your handle.
03 
04Players = game:GetService('Players')
05 
06Handle.Touched:Connect(function(otherPart)
07    local Player = Players:GetPlayerFromCharacter(otherPart.Parent)
08    if Player then -- Check if the thing touching it is an actual player.
09        Tool.Parent = Player.Backpack -- Parent the tool to their inventory/backpack.
10    end
11end)
0
^ Also do note, if you want to prevent it glitching inside player's inventory, I suggest you add an if statement detecting if the tool is already picked up or not. pwx 1581 — 5y
0
Thank you so much. Auxatier 59 — 5y
0
Nice, such a great scripter. Xapelize 2658 — 5y
Ad
Log in to vote
0
Answered by
Xapelize 2658 Moderation Voter Community Moderator
5 years ago

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:

01tool = script.Parent
02Handle = tool.Parent
03 
04enabled = false
05 
06script.Parent.Touched:Connect(function(OnTouched)
07    h = script.Parent.Players.PlayerAdded:FindFirstChild("Humanoid")
08    if h == true then
09    tool.Equipped:Connect(function()
10        if h == false then
11        return
12        end
13    end)
14end
15end)

I hope this helps you! Bye bye~~~

0
Do I put the tool in the workspace, and when touched it inserts into the players backpack? Auxatier 59 — 5y
0
Theres an answer so, uh, see that lol Xapelize 2658 — 5y

Answer this question