Maybe you have a better way to do it?
local player = script.Parent.Parent.Parent
local XP = player:WaitForChild("XP")
XP.Changed:connect(function()
if XP.Value < 200 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, XP.Value,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 200 XP"
return;
elseif XP.Value < 201 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, 0,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 400 XP"
end
if XP.Value < 400 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, (XP.Value-200),0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 400 XP"
return;
elseif XP.Value < 401 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, 0,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 800 XP"
end
if XP.Value < 800 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, (XP.Value-600),0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 800 XP"
return;
elseif XP.Value < 801 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, 0,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 1,600 XP"
end
if XP.Value < 1600 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, (XP.Value-1400),0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 1,600 XP"
return;
elseif XP.Value < 1601 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, 0,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 3,200 XP"
end
if XP.Value < 3200 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, (XP.Value-3000),0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 3,200 XP"
return;
elseif XP.Value < 3201 then
script.Parent.Frame.Frame.Frame:TweenSize(UDim2.new(0, 0,0, 10),"Out","Quad",.5)
script.Parent.Frame.TextLabel.Text = XP.Value.." / 6,400 XP"
end
end)
