This is just a script inside of workspace. It's working weirdly and I don't know if I did something and I don't notice a simple error or what, but my script is suppose to give a certain player a tool when they enter and if they were to die, they'd get said tool again.
Here's the script:
A = "alphawolvess"
L = "ThisPersonIsASecretSooooyea" -- Not what's actually there, but I wont give out his name in case he prefers not to have it out.
Test = "Player"
game.Players.PlayerAdded:connect(function(Plr)
Plr.CharacterAdded:connect(function(Char)
if Char.Name == L or Char.Name == A or Char.Name == Test then
print("Giving")
local Copy = game.ServerStorage:FindFirstChild("RedKatana")
Copy.Parent = Plr.Backpack
else
print("Not Giving")
end
end)
end)
Yes, I know I can use a generic loop and store the names in a Table. I also know I can use string.lower but the spelling for players is correct. Also, I do know that Player changes from Player1 to Player for some reason, currently (for me) it's Player and I change that if needed.
I do get an error about Local Copy being nil

3 comments
That means that 'RedKatana' doesn't exist.
Minor note: If you're going to assume that Copy is non-nil (line 9), there's no need to use FindFirstChild at all - just do local Copy = game.ServerStorage.RedKatana (and as said below, add a :Copy() somewhere in this area)
I know what happened, I didn't clone it so I moved the existing Katana into the first joined allowed player and it was no longer there to use.