local DataStore2 = require(game.ServerScriptService:WaitForChild("MainModule"))
local ordered = game:GetService("DataStoreService"):GetOrderedDataStore("points")
local function updateLeaderboard()
	local success, errorMessage = pcall(function()
		local Data = ordered:GetSortedAsync(false, 5)
		local WinsPage = Data:GetCurrentPage()
		for Rank, pointsdata in ipairs(WinsPage) do
			local player =game.Players
	
			local userName = game.Players:GetNameFromUserIdAsync(tonumber(pointsdata.key,player))
			local Name = userName
			local Wins = pointsdata.value
		
			local isOnLeaderboard = false
			for i, v in pairs(game.Workspace.Leaderboard.Base.LS.RankBack:GetChildren()) do
				if v.Player.Text == Name then
					isOnLeaderboard = true
					break
				end
			end

			if isOnLeaderboard == false then
				local newLbFrame = game.ReplicatedStorage:WaitForChild("Ranks"):Clone()
				newLbFrame.OneN.Text = Name
				newLbFrame.OneA.Text = Wins
				newLbFrame.One.Text = Rank
				newLbFrame.Position = UDim2.new(0, 0, newLbFrame.Position.Y.Scale + (.08 * #game.Workspace.Leaderboard.Base.LS.RankBack:GetChildren()), 0)
				newLbFrame.Parent = game.Workspace.Leaderboard.Base.LS.RankBack
			end
		end
	end)

	if not success then
		print(errorMessage)
	end
end

while true do
		for _, Player in pairs(game.Players:GetPlayers()) do
		ordered:SetAsync(Player.UserId, Player.leaderstats.IQ.Value)
		end

	for _, frame in pairs(game.Workspace.Leaderboard.Base.LS.RankBack:GetChildren()) do
		frame:Destroy()
	end

	updateLeaderboard()
	print("Updated!")
		wait(60)
		end

Using data store 2, saving the data store 2 value into the ordered datastore. Maybe I Messed up somewhere or misunderstood something? I don't know. Please help. Above is the leaderboard script, below will be the data script.

local DataStore2 = require(game.ServerScriptService:WaitForChild("MainModule"))

local default = 0




game.Players.PlayerAdded:Connect(function(plr)
	local pointsdata = DataStore2("points", plr)
	local leaderstats = Instance.new("Folder",plr)
	leaderstats.Name = ("leaderstats")
	local points = Instance.new("NumberValue", leaderstats)
	points.Name = "IQ"
	
	
	
	local function pointsupdate (Updatedvalue)
		points.Value = pointsdata:Get(Updatedvalue)
	end
	pointsupdate(default)
	pointsdata:OnUpdate(pointsupdate)
	
	local store = DataStore2("points", plr)
	store:AfterSave(function(newData)
		local orderedStore = (points)
		repeat
			local s = pcall(orderedStore.SetAsync, orderedStore, plr.UserId, newData)
		until s
	end)
end)