ok so thi is the script
local level = 1 local exp = 0 local axp = 375 local InStudio = game:GetService("RunService"):IsStudio() if not InStudio then level = game:GetService("DataStoreService"):GetDataStore("Levels") exp = game:GetService("DataStoreService"):GetDataStore("EXP") axp = game:GetService("DataStoreService"):GetDataStore("AXP") end function savedata(dataname, playerid, value) if InStudio then return end dataname:SetAsync(playerid, value) end game.Players.PlayerAdded:Connect(function(plr) local Strength = Instance.new("IntValue") Strength.Name = "Strength" Strength.Value = 1 Strength.Parent = plr local pts = Instance.new("IntValue") pts.Name = "Points" pts.Value = 2 pts.Parent = plr local levelz = Instance.new("IntValue") levelz.Name = "Level" levelz.Parent = plr local xpz = Instance.new("NumberValue") xpz.Name = "Experience" xpz.Parent = plr local xpn = Instance.new("IntValue") xpn.Name = "ExpNeeded" xpn.Parent = plr if not InStudio then xpn.Value = axp:GetAsync(tostring(plr.UserId)) or 375 xpz.Value = exp:GetAsync(tostring(plr.UserId)) or 0 levelz.Value = level:GetAsync(tostring(plr.UserId)) or 1 else xpn.Value = axp xpz.Value = exp levelz.Value = level end xpz.Changed:Connect(function() if plr:WaitForChild("Experience").Value >= plr:WaitForChild("ExpNeeded").Value then levelz.Value = levelz.Value + 1 xpn.Value = math.floor(xpn.Value * 2) xpz.Value = 0 pts.Value = pts.Value + 2/2 savedata(level, plr.UserId, levelz.Value) savedata(exp, plr.UserId, xpz.Value) savedata(axp, plr.UserId, xpn.Value) else savedata(level, plr.UserId, levelz.Value) savedata(exp, plr.UserId, xpz.Value) savedata(axp, plr.UserId, xpn.Value) end savedata(level, plr.UserId, levelz.Value) savedata(exp, plr.UserId, xpz.Value) savedata(axp, plr.UserId, xpn.Value) end) end) game.Players.PlayerRemoving:Connect(function(plr) savedata(level, plr.UserId, plr.Level.Value) savedata(exp, plr.UserId, plr.Experience.Value) savedata(axp, plr.UserId, plr.ExpNeeded.Value) end)
and the problem is that the points you get when you level up the "points" get added to the starting value of the Points
something like this lvl 1 = 2 pts (because the player starts with this) lvl 2 = 4 pts (and thats what i meant) the pts or points is an IntValue