just so you know i do have the tools in replicated storage and the script does give me the tool based on the value but only on studio (the new text editor is weird so i did not put any effort into fixing the messed up indenting) Edit: What an easy fix, the issue was that the tools weren't loading in time so i had to add "WaitForChild()" Edit2: That fix didn't actually work. Edit3: Replaced the respawn function with player.CharacterAdded
local replicatedStorage = game:GetService("ReplicatedStorage")
game.Players.PlayerAdded:Connect(function(player)
local class = Instance.new("StringValue",player)
class.Name = "Class"
class.Value = "Stick"
if class.Value == "Stick" then
wait(.1)
local clone = replicatedStorage.Stick:Clone()
clone.Parent = player.Backpack
elseif class.Value == "Axe" then
wait(.1)
local clone = replicatedStorage.Axe:Clone()
clone.Parent = player.Backpack
end
game.Workspace[player.Name].Humanoid.Died:Connect(function()
wait(5)
if class.Value == "Stick" then
wait(.1)
local clone = replicatedStorage.Stick:Clone()
clone.Parent = player.Backpack
elseif class.Value == "Axe" then
local clone = replicatedStorage.Axe:Clone()
clone.Parent = player.Backpack
end
end)
end)

4 comments
localscript or server?
local script
It won't replicate to the server because it's a local script. You are trying to create a value with a localscript and it is not appearing on the server, correct?
server****