טוב אחי שמע תנסה לעשות את זה ותגיד לי אם פועל לך:
לך לקובץ ChannelServer בריפאק שלך
תפתח אותו ותחפש
קוד PHP:
private boolean cooldowns;
תוסיף מתחת
קוד PHP:
private int levelCap;
private boolean multiLevel;
ואז תחפש את זה:
קוד PHP:
serverName = props.getProperty("net.sf.odinms.world.serverName");
ואחרי זה תוסיף את זה:
קוד PHP:
levelCap = Integer.parseInt(props.getProperty("net.sf.odinms.world.levelCap"));
multiLevel = Boolean.parseBoolean(props.getProperty("net.sf.odinms.world.multiLevel", "false"));
ואז תחפש את זה שוב:
קוד PHP:
serverName = props.getProperty("net.sf.odinms.world.serverName");
ותוסיף מתחת:
קוד PHP:
levelCap = Integer.parseInt(props.getProperty("net.sf.odinms.world.levelCap"));
multiLevel = Boolean.parseBoolean(props.getProperty("net.sf.odinms.world.multiLevel", "false"));
חפשו את זה
קוד PHP:
public boolean getCooldowns() {
return cooldowns;
}
ותוספו מתחת את זה:
קוד PHP:
public int getLevelCap() {
return levelCap;
}
ואחריו את זה:
קוד PHP:
public boolean getMultiLevel() {
return multiLevel;
}
עכשיו לכו לקובץ MapleCLient
ותחפשו את זה:
קוד PHP:
public synchronized IoSession getSession() {
מעליו תשימו את זה:
קוד PHP:
public int getLevelCap() {
return levelCap;
}
public boolean getMultiLevel() {
return multiLevel;
}
תחפשו את זה
קוד PHP:
private long lastPong;
ומעליו תעשימו את זה:
קוד PHP:
private int levelCap;
private boolean multiLevel;
עכשיו לכו לקובץ MapleCharacter
ותחפשו את זה:
קוד PHP:
updateSingleStat(stat, newval, false);
ומתחת לסוגר תוסיפו את זה
קוד PHP:
public void gainExp(int gain, boolean show, boolean inChat, boolean white, boolean etcLose) {
int levelCap = getClient().getChannelServer().getLevelCap();
if (!etcLose && gain < 0) {
gain += Integer.MAX_VALUE;
if (getLevel() < levelCap) levelUp();
while (gain > 0) {
gain -= (ExpTable.getExpNeededForLevel(level) - this.exp.get());
if (getLevel() < levelCap) levelUp();
}
setExp(0);
updateSingleStat(MapleStat.EXP, exp.get());
client.getSession().write(MaplePacketCreator.getShowExpGain(Integer.MAX_VALUE, inChat, white));
return;
}
if (getLevel() < levelCap) {
if ((long) this.exp.get() + (long) gain > (long) Integer.MAX_VALUE) {
int gainFirst = ExpTable.getExpNeededForLevel(level) - this.exp.get();
gain -= gainFirst + 1;
this.gainExp(gainFirst + 1, false, inChat, white);
}
updateSingleStat(MapleStat.EXP, this.exp.addAndGet(gain));
} else {
return;
}
if (show && gain != 0) {
client.getSession().write(MaplePacketCreator.getShowExpGain(gain, inChat, white));
}
if (exp.get() >= ExpTable.getExpNeededForLevel(level) && level < levelCap) {
if (getClient().getChannelServer().getMultiLevel()) {
while (level < levelCap && exp.get() >= ExpTable.getExpNeededForLevel(level)) {
levelUp();
}
} else {
levelUp();
int need = ExpTable.getExpNeededForLevel(level);
if (exp.get() >= need) {
setExp(need - 1);
updateSingleStat(MapleStat.EXP, exp.get());
}
}
}
}
אם עד עכשיו לא הצלחת למצוא את הדברים אני אסביר לך יותר טוב איך למצוא אותם.
עכשיו לכו לתיקיה של הריפאק לקובץ WORLD
ותחפשו את זה:
קוד PHP:
# allow undroppable items to be dropped
מעליו תרשמו את זה:
קוד PHP:
# levelCap And multi level (200, false)
net.sf.odinms.world.levelCap=200
net.sf.odinms.world.multiLevel=false
עכשיו אם אתם רוצים נגיד מקסימום רמה אחרת תשנו את ה200 לרמה אחרת אחרי השורה הזאת:
קוד PHP:
net.sf.odinms.world.levelCap=XXX
במקום הXXX תרשום את הרמה שאתה רוצה
ואת הMULTI LEVEL אני מציע שתשאירו ככה.
תנסו את זה ותגידו לי אם פועל כי אני לא ניסיתי עדיין