I would like create a XP system as Mad Game or as others games, but how to make?
Mon script who does not works correctly:
local player = script.Parent.Parent.Parent
local XP = player.leaderstats:WaitForChild("XP")
local Level = player.leaderstats:WaitForChild("Level")
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.XP.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.XP.Text = XP.Value.." / 400 XP"
Level.Value = Level.Value+1
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.XP.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.XP.Text = XP.Value.." / 800 XP"
Level.Value = Level.Value+1
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.XP.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.XP.Text = XP.Value.." / 1,600 XP"
Level.Value = Level.Value+1
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.XP.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.XP.Text = XP.Value.." / 3,200 XP"
Level.Value = Level.Value+1
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.XP.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.XP.Text = XP.Value.." / 6,400 XP"
Level.Value = Level.Value+1
end
end)

1 comment
You need to provide us with more information. Why doesn't it work properly, are there any outputs if so, what do they say?