So earlier I asked this question:
Ok so, I have this script that makes a leader board:
game.Players.PlayerAdded:connect(function(plr)
local stats = Instance.new("IntValue", plr)
stats.Name = "leaderstats"
local points = Instance.new("IntValue",stats)
points.Name = "Copper"
points.Value = 0
end)
I then want to make a button that when you click it you get 1 copper: here it is:
function onClicked(playerWhoClicked)
script.Parent.BrickColor = BrickColor.DarkGray()
wait(6)
points.Value = +1
script.Parent.BrickColor = BrickColor.new("Reddish brown")
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
Upon starting it gave me the error of: ServerScriptService.Script:2: attempt to index global 'points' (a nil value) I think this is because the variable from my fist scrip is a local and not a global therefore I cannot transfer it, all this caused the block to be un-clickable upon removing the local from that scrip it has no visible change, the button was still un-clickable Please help!
P.s if you find any other errors in my coding please notify me!
A person then responded with this: You get the playerWhoClicked, now find the value inside them and change it.
function onClicked(playerWhoClicked)
script.Parent.BrickColor = BrickColor.DarkGray()
wait(5)
local points = playerWhoClicked.leaderstats.points
points.Value = points.Value+1
script.Parent.BrickColor = BrickColor.new("Reddish brown")
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
this only worsened my problem, now whenever I try to get my ore it gives me the error: "points is not a valid member of IntValue" every 5 seconds, I am simply asking someone to try and solve it because noone usually looks on already respended to pages.

1 comment
The thing is that the NAME is "Copper". SO when searching for it, it's Copper, not "points" as points was just a local variable in your leader board script