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

Script doesn't respawn the player if there is no tool. (?)

Asked by 3 years ago
Edited 3 years ago

I am making a simulator game where they can buy better tools. Sometimes, they don't spawn with the tool for some weird reason. I made this script that detects if they have the tool. When they don't have it, it errors not finding the tool, here is my script.

game.Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function(char)
wait(1)
local tool = plr.BackPack.Tool
If tool then
print(plr.." has tool")
else
char:LoadCharacter()
print("Respawning".. plr)
end
end)
end)

The script should respawn them if there is no tool, it errors on line 5 when they don't have the tool, if they have the tool it works fine.

I want to thank everybody that spends their time trying to help me, even if they don't know the answer.

Best Wishes, JailBreaker_13

0
it may be because the P in BackPack is capitalized. diggerbear1 32 — 3y
0
I am on mobile right now. It is not the problem. JailBreaker_13 350 — 3y

3 answers

Log in to vote
2
Answered by
Subsz 366 Moderation Voter
3 years ago

Hey there, use FindFirstChild to check if the object exists or not, like so.

game.Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function(char)
        wait(1)
        if plr.Backpack:FindFirstChild('Tool') then
            print(plr.." has tool")
        else
            char:LoadCharacter()
            print("Respawning".. plr)
        end
    end)
end)
0
Thanks, i will have to try it. I am on mobile right now, i will accept it if it works. JailBreaker_13 350 — 3y
0
It works! The only error i had was it is plr:LoadCharacter, not char:LoadCharacter tysm JailBreaker_13 350 — 3y
Ad
Log in to vote
0
Answered by
quinzt 201 Moderation Voter
3 years ago

youy put a capital i on if

0
Cause im on mobile. It says that it cant find the tool when it is not there. It errors instead of running. JailBreaker_13 350 — 3y
0
you could try ~= nil quinzt 201 — 3y
Log in to vote
0
Answered by 3 years ago

like quinzt said, you put a capital on if,=. I also formatted your code

game.Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function(char)
        wait(1)
        local tool = plr.BackPack.Tool
        if tool then
            print(plr.." has tool")
        else
            char:LoadCharacter()
            print("Respawning".. plr)
        end
    end)
end)
0
Cause im on mobile. It says that it cant find the tool when it is not there. It errors instead of running. JailBreaker_13 350 — 3y

Answer this question