Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Why leaderstats don't apear?

I try make a clicker game and I finded a tutorial on youtube but I cannot make leaderstats work.Here's the script I finded: local event = Instance.new("RemoteEvent") event.Name = "AddStats" event.parent = game.ReplicatedStorage

event.OnServerEvent:Connect(function(plr) local taps = plr.leaderstats.Taps taps.Value = taps.Value + 1 end)

game.Players.PlayerAdded:Connect(funtion(plr) local ls = Instance.new("Folder") ls.Name = "leaderstats" local menu = Instance.new ("IntValue", ls) menu.Name = "Taps" ls.Parent = plr end)

Can someone try find the problem pls?

3 answers

Make sure you put this script on ServerScriptService.

game:GetService("Players").PlayerAdded:Connect(funtion(player)
	local leaderstats = Instance.new("Folder", player) 
	leaderstats.Name = "leaderstats" 

	local menu = Instance.new("IntValue", leaderstats) 
	menu.Name = "Taps"
end)

Don't put 2 different function in the same script, it's harder to find them. You should split the script 2 parts. So heres the another part.

Also, a note, you don't need to use RemoteEvent on the same script. RemoteEvent is used for sending information between server and client (yourself). Even you need to send them between scripts, you still can access the ClickDetector in one script. No RemoteEvent are needed.

What you are gonna do in the another script. Make this as a script and put it in ServerScriptService as well.

game:GetService("Players").PlayerAdded:Connect(function(player)
	wait()
	local ClickDetector = game.Workspace.Part.ClickDetector
	
	ClickDetector.MouseClick:Connect(function()
		player.leaderstats.Taps.Value = player.leaderstats.Taps.Value + 1
	end)
end)

Try this code out buddy!

Put this code in a script from serverscriptservice

game.Players.PlayerAdded:Connect(function(player)
	
	local leaderstats = Instance.new(¨Folder¨)
	leaderstats.Name = ¨leaderstats¨
	leaderstats.Parent = player

	local taps = Instance.new(¨IntValue¨)
	taps.Name = ¨Taps¨
	taps.Value = 0
	taps.Parent = leaderstats

end)

I think that a leaderboard only "gets created" when the game has initiated, I don't think that you can make a new value in the middle of the game, roblox has already made the leaderstats. /shrug

This discussion is preserved as it was. New answers, comments, and votes are closed.