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
