go to ExpTable.java
Find :
private static int[] exp
Add below :
private static int[] exp2 = { 0, 15, 34, 57, 92, 135, 372, 560, 840, 1242, 1143, 1573, 2143, 27*** 3639, 46*** 5893,
7359, 9143, 11119, 13477, 16267, 19319, 22879, 27007, 31477, 365*** 42443, 48719, 55812, 76560, 86784, 98208, 1109***
1244*** 139372, 155865, 173280, 192400, 213345, 235372, 259392, 2855*** 312928, 342624, 374760, 408336, 444544, 4835***
524160, 567772, 598886, 631704, 666321, 702836, 741351, 781976, 824828, 870028, 917625, 967995, 1021040, 1076993, 1136012,
1198265, 1263930, 1333193, 1406252, 1483314, 1564600, 1650340, 1740778, 1836172, 1936794, 2042930, 2154882, 2272969,
2397528, 2528912, 26674*** 2813674, 2967863, 3130501, 3302052, 3483004, 3673872, 3875200, 4087561, 4311559, 45478***
4797052, 5059931, 5337215, 5629694, 5938201, 6263614, 6606860, 6968915, 7350811, 7753635, 8178534, 8626717, 9099461,
9598**** 10124088, 10678888, 11264090, 11881362, 12532460, 13219239, 13943652, 14707764, 15513749, 16363902, 17260644,
18206527, 19204244, 20256636, 21366700, 22537594 };
and Add Somewhere :
private static int maxLevelForCygnus = 120; // Cygnus MaxLevel private static int maxLevelForNonCygnus = 200; // NonCygnus MaxLevel
public static int getMaxLevel(MapleJob job) {
if (job.jobid >= 1000) // 기사단일시
return maxLevelForCygnus; // maxLevelForCygnus값을 불러온다
else // 아닐시
return maxLevelForNonCygnus; // maxLevelForNonCygnus값을 불러온다
}
and Find :
public static int getExpNeededForLevel
Replace All :
public static int getExpNeededForLevel(MapleJob job, int level) {
if (job.jobid >= 1000) // 기사단일시
return exp2[level -1]; // exp2값을 불러온다
else // 아닐시
return exp[level - 1]; // exp값을 불러온다
}
go to MapleCharacter.java
Find :
public void gainExp(int gain, boolean show, boolean inChat, boolean white) {
Replace All :
public void gainExp(int gain, boolean show, boolean inChat, boolean white) {
if (getLevel() < ExpTable.getMaxLevel(job)) { // 레벨이 ExpTable.getMaxLevel에 등록된것보다 낮을시
int newexp = this.exp.addAndGet(gain); // 경험치를 얻는다
updateSingleStat(MapleStat.EXP, newexp);
}
if (show) { // 경험치 보여주기
client.getSession().write(MaplePacketCreator.getShowExpGain(gain, inChat, white));
}
while (level < ExpTable.getMaxLevel(job) && exp.get() >= ExpTable.getExpNeededForLevel(job, level + 1)) { // 레벨이 Exptable.getMaxLevel에 등록된것보다 낮거나, 경험치가 ExpTable.getExpNeededForLevel에 등록된것보다 낮을시
levelUp(); // 레벨업
}
}
I have tested it.
No error.






