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

How can I find If the player has a certain Item equipped?

Asked by 2 years ago

Ello Developers

I made this script below this text (Local-script, Inside of a button) where pressing It with a certain Item equipped will fire an event, currently, I tried doing so but It cannot fire It

Script:

01local Player = game:GetService("Players").LocalPlayer
02local Debounce = false
03 
04script.Parent.MouseButton1Click:Connect(function()
05    if not Debounce then
06        Debounce = true
07        if Player.Backpack:WaitForChild("Crossbow") then
08            Player.Backpack:WaitForChild("Crossbow").SpecialAbility1:FireServer()
09            wait(3)
10            Debounce = false
11        end
12    end
13end)
0
unrelated to the specific issue, but I did notice that the Debounce is placed incorrectly, and that could cause some issues eventually. The "Debounce = true" should be on the same level of the "Debounce = false". (i.e. you could put it inside the "if Player..." statement.) sergeant_ranger 184 — 2y

1 answer

Log in to vote
2
Answered by 2 years ago

If a tool is "equipped" by a player it will be parented to their character rather than their backpack. So you just have to replace Player.Backpack with Player.Character.

(Also use FindFirstChild instead of WaitForChild, WaitForChild is used to wait for something to appear rather than to check if it exists.)

1if Player.Character:FindFirstChild("Crossbow") then
2    Player.Character.Crossbow.SpecialAbility1:FireServer()
3    wait(3)
4    Debounce = false
5end
Ad

Answer this question