https://gyazo.com/580b3d1a2efb057e0f4c1c74da9dc3df here's a gif of what's happening. this happens both in studio and server (FE disabled)

local player = game.Players.LocalPlayer
game.Players.PlayerAdded:Connect(function()
    local xptext = script.Parent
    local XPLEVEL = player:WaitForChild("Data").XP
    local level = player:WaitForChild("Data").Level
    xptext.Text = XPLEVEL.Value.."/"..level.Value*150 -- this is the part that i'm having trouble with; the "level.Value*150" stays at 150 upon joining but the "XPLEVEL.Value is datastored.
    local player = game.Players.LocalPlayer
end)
player:WaitForChild("Data").XP.Changed:Connect(function()
    print("level changed")
    local xptext = script.Parent
    local XPLEVEL = player:WaitForChild("Data").XP
    local level = player:WaitForChild("Data").Level
    xptext.Text = XPLEVEL.Value.."/"..level.Value * 150
end)

1 comment

0

If you tried this in server already it should be working, I replicated this onto my own studio and it worked in a server test, also I'd recommend Filtering Enabled to make it harder for hackers to hack