  exp_table: array[0..85] of integer =
  (
        0, // level 0
        1, 69, 364, 1169, 2885, 6039, 11288, 19424, 31379, 48230, //level 10
        71203, 101678, 141194, 191455, 254331, 331868, 426289, 540001, 675597, 835863, //level 20
        1023785, 1242547, 1495544, 1786380, 2118877, 2497078, 2925251, 3407898, 3949755, 4555797, //level 30
        5231247, 5981577, 6812514, 7730045, 8740423, 9850167, 11066073, 12395216, 13844952, 15422930, //level 40
        17137088, 18995666, 21007204, 23180551, 25524869, 28049636, 30764655, 33680053, 36806290, 40154163, //level 50
        45525134, 51262491, 57383989, 63907912, 70853090, 80700832, 91162655, 102265882, 114038596, 126509653, //level 60
        146308200, 167244337, 189364894, 212717908, 237352644, 271975263, 308443198, 346827154, 387199547, 429634523, //level 70
        474207979, 532694979, 606322775, 696381369, 800225364, 900275364, 1000571463, 1100482881, 1200687304, 1300321654, //level 80
        1400123456, 1550789123, 1680156789, 1850164821, 2099305232 //level 85
  );


function PercentExp(lvl, Exp:integer):double;
var
 Result:double;
begin
 Result:=0;
 if((lvl>=1)AND(lvl<=85))then Result:= (Exp-exp_table[lvl])/(exp_table[lvl+1]-exp_table[lvl])*100;
 if(Result<0)then Result:=0;
 PercentExp:=Result;
end;