local Datastore = game:GetService("DataStoreService"):GetDataStore("DataStores")

game.Players.PlayerAdded:Connect(function(player)
	local Stats = Instance.new("Folder")
	Stats.Parent = player
	Stats.Name = "Stats"
	local NCookies = Instance.new("NumberValue")
	NCookies.Value = 0
	NCookies.Parent = Stats
	NCookies.Name = "NCookies"
	local NCps = Instance.new("NumberValue")
	NCps.Value = 0
	NCps.Parent = Stats
	NCps.Name = "NCps"
	local NCOC = Instance.new("NumberValue")
	NCOC.Parent = Stats
	NCOC.Name = "NCOC"
	NCOC.Value = 1
	local Clickers = Instance.new("IntValue")
	Clickers.Parent = Stats
	Clickers.Name = "Clickers"
	Clickers.Value = 0
	local ClickersBaseCost = Instance.new("IntValue")
	ClickersBaseCost.Parent = Stats
	ClickersBaseCost.Name = "ClickersBaseCost"
	ClickersBaseCost.Value = 15
	local ClickersCost = Instance.new("NumberValue")
	ClickersCost.Parent = Stats
	ClickersCost.Name = "ClickersCost"
	ClickersCost.Value = 15
	local ClickersCPS = Instance.new("NumberValue")
	ClickersCPS.Name = "ClickersCPS"
	ClickersCPS.Parent = Stats
	ClickersCPS.Value = 0.1
	local BaseClickersCPS = Instance.new("NumberValue")
	BaseClickersCPS.Name = "BaseClickersCPS"
	BaseClickersCPS.Parent = Stats
	BaseClickersCPS.Value = .1
	local TotalClickerCPS = Instance.new("NumberValue")
	TotalClickerCPS.Parent = Stats
	TotalClickerCPS.Name = "TotalClickerCPS"
	TotalClickerCPS.Value = 0
	
	local key = "user - " .. player.UserId
	
	local storeditems = Datastore:GetAsync(key)
	if storeditems then
		NCookies.Value = storeditems[1]
		NCOC.Value = storeditems[2]
		NCps.Value = storeditems[3]
		Clickers.Value = storeditems[4]
		ClickersBaseCost.Value = storeditems[5]
		ClickersCost.Value = storeditems[6]
		ClickersCPS.Value = storeditems[7]
		BaseClickersCPS.Value = storeditems[7]
		TotalClickerCPS.Value = storeditems[8]
	else
		local items = {NCookies.Value, NCOC.Value, NCps.Value, Clickers.Value, ClickersBaseCost.Value, ClickersCost.Value, ClickersCPS.Value, BaseClickersCPS.Value, TotalClickerCPS.Value}
		Datastore:SetAsync(key, items)
	end
end)

game.Players.PlayerRemoving:Connect(function(player)
	local items = {player.Stats.NCookies.Value, player.Stats.NCOC.Value, player.Stats.NCps.Value, player.Stats.Clickers.Value, player.Stats.ClickersBaseCost.Value, player.Stats.ClickersCost.Value, player.Stats.ClickersCPS.Value, player.Stats.BaseClickersCPS.Value, player.Stats.TotalClickerCPS.Value}
	local key = "user - " .. player.UserId
	Datastore:SetAsync(key, items)
end)