If you’re using the repeat-until statement to wait until the exp.Value is greater than the maxexp.Value, it’s possible you may have made a typo where you meant to type >= operator.
Also, if the exp.Value is a ValueBase (IntValue, StringValue, etc) then why not connect the Changed event of the IntValue to a function? This would have an argument passed to it, representing the new value it was changed to.
Then, you could check if the parameter greater than the maxep.Value?
Values like Boolvalues,intvalues,stringvalues,colorvalues,any value Instance has their own special .Changed event so it includes an argument which is the Current changed state
etc etc
I just learnt this just now and i hope im not getting it wrong