The script stops working at if script.Parent.Value > maxxp then This is the script:
local maxxp = 100
while wait() do
if script.Parent.Value >= maxxp then
maxxp = maxxp * 2
script.Parent.Value = script.Parent.Value - maxxp
script.Parent.Parent.Level.Value = script.Parent.Parent.Level.Value + 1
end
end

1 comment
You are checking if the 'script.Parent.Value' is >= 100 but then later on this value that you are accessing is found at 'script.Parent.Parent.Level.Value'. Are you sure that you didn't mess up where you are accessing the value from? [Note: There may be other errors, this is just something I quickly noticed]