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.
At the end of line 4, change "points" to "Copper" and it should work now, since I don't see any other errors.
Its quite easy
because points is not a member of IntValue.
Copper is.
function onClicked(playerWhoClicked) script.Parent.BrickColor = BrickColor.DarkGray() wait(5) local Copper = playerWhoClicked.leaderstats.Copper Copper.Value = Copper.Value+1 script.Parent.BrickColor = BrickColor.new("Reddish brown") end script.Parent.ClickDetector.MouseClick:connect(onClicked)