Any way it goes your looking at a huge number deal. While reseting it to 0 (or well taking off the exp they needed to gain a level, as they level) each level has to go up in exp some. Stock wise the code does lvl * lvl * lvl * get_exp_base( ch ). and get_exp_base is just simply getting the exp_base from the characters class. In messing around with them you mainly have to find a way so that each time it needs more then the last one.
It's not that fun of a task when it comes to trimming it all down. You have to make sure it works right for all levels or you can end up with someone gaining just one exp and getting massive levels from it lol.
The reason I suggest using strings is so you can keep the current exp for them so they know how much they have instead of starting back at 0 and working it up from there.
Now I have seen some choose another method of using like 1 int for normal exp and using another int for everything over a million. This works well if done correctly but in the end still needs about the same amount of rewriting as using a string. and a string would be alot easier to expand as needed. See one major issue is that stock gives exp per hit, per kill, successful/unsuccessful casting. The amount of exp on per hit depends on amount of damage (this is the one i normaly quickly rip out because it makes you have to have massive exp values to keep them from leveling so fast). Per kill exp normaly isn't to bad. The casting exp I normaly rip out to personaly. If you tried that last formula out and then made a test player it would no doubt be kind of funny with stock setup on dishing out exp
heh quickly covering levels with very little effort no doubt.
Personaly I think its best to use a string cause you can have them just as massive of a number as you want...the downfall here is you have to make the functions to go through them and sort adding and subtracting numbers just right
You can also go with the at 1mil increase like m_exp by 1 and decrease exp by 1mil. that will allow huge numbers too
...the downfall here is that in the end it can be just as much trouble to deal with correctly.