local GetData = game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("GetDataValue") local Players = game:GetService("Players") local PS = require(game:GetService("ServerScriptService"):WaitForChild("ProfileService")) local Statistics = require(game:GetService("ServerScriptService"):WaitForChild("DataModules"):WaitForChild("Statistics")) local Settings = require(game:GetService("ServerScriptService"):WaitForChild("DataModules"):WaitForChild("Settings")) local Template = require(script.Parent:WaitForChild("Template")) local ProfileStore = PS.GetProfileStore("PlayerData", Template) local Profiles = {} function getDataValue(Player, Value) local Profile = Profiles[Player] if not Profile then return end return Profile.Data[Value] end GetData.OnServerInvoke = getDataValue local function PlayerAdded(Player: Player) local Profile = ProfileStore:LoadProfileAsync(tostring(Player.UserId)) if Profile == nil then Player:Kick("Data issue, try again shortly. If issue persists, contact us") return end Profile:AddUserId(Player.UserId) Profile:Reconcile() Profile:ListenToRelease(function() Profiles[Player] = nil Player:Kick("Data issue, try again shortly. If issue persists, contact us") end) if Player:IsDescendantOf(Players) == true then Profiles[Player] = Profile else Profile:Release() end wait(1) Player.PlayerGui.Main.SpeedDisplay.TextLabel.Text = tostring(Profile.Data.Money) end for _, player in ipairs(Players:GetPlayers()) do task.spawn(PlayerAdded, player) end Players.PlayerAdded:Connect(PlayerAdded) Players.PlayerRemoving:Connect(function(Player: Player) local Profile = Profiles[Player] if not Profile then return end Profile:Release() end)