קרדיט לאתר אחר.
הגבלת רמות בכניסה לצ'אנל

במדריך זה תלמדו להגביל רמה בכניסה לצ'אנל.

ראשית תיכנסו לקובץ src/net/sf/odinms/net/channel/ChannelServer.java.

תחפשו בו
קוד:

private boolean multiLevel;
תחליפו את זה ב
קוד:

private boolean multiLevel; public static final byte maxlevels[] = {(byte) 0, (byte) 10, (byte) 30, (byte) 70, (byte) 120, (byte) 200}; public static final byte minlevels[] = {(byte) 0, (byte) 0, (byte) 10, (byte) 30, (byte) 70, (byte) 120};

תערכו את הmaxlevel והminlevel איך שאתם רוצים.
0 זה ללא הגבלה.

עכשיו תיכנסו לקובץ src/net/sf/odinms/net/channel/handler/ChangeChannelHandler.java.
תחפשו שם
קוד:

MapleCharacter player = c.getPlayer()
ותשנו את זה ל
קוד:

MapleCharacter player = c.getPlayer(); if (player.getLevel() >= ChannelServer.minlevels[channel] && player.getLevel() < ChannelServer.maxlevels[channel] && ChannelServer.maxlevels[channel] != 0) {
עכשיו תחפשו
קוד:

try { c.getSession().write(MaplePacketCreator.getChannelChange(InetAddress.getByName(s ocket[0]), Integer.parseInt(socket[1]))); } catch (Exception e) { throw new RuntimeException(e); }
ותוסיפו שורה מתחת
קוד:

}
עכשיו תעברו לקובץ src/net/sf/odinms/net/channel/handler/PlayerLoggedInHandler.java.

תחפשו שם את זה:
קוד:

ChannelServer cserv = ChannelServer.getInstance(c.getChannel()); cserv.addPlayer(player);
ותחליפו את זה עם
קוד:

int channel = c.getChannel(); if (!(c.getPlayer().getLevel() < ChannelServer.maxlevels[channel] && c.getPlayer().getLevel() > ChannelServer.minlevels[channel] && ChannelServer.maxlevels[channel] != 0)) { for (int i = channel; i < ChannelServer.getAllInstances().size(); i++) { if (c.getPlayer().getLevel() < ChannelServer.maxlevels[i] && c.getPlayer().getLevel() > ChannelServer.minlevels[i] && ChannelServer.maxlevels[i] != 0) { channel = i; break; } } if (channel == c.getChannel()) { for (int i = channel; i >= 0; i--) { if (c.getPlayer().getLevel() < ChannelServer.maxlevels[i] && c.getPlayer().getLevel() > ChannelServer.minlevels[i] && ChannelServer.maxlevels[i] != 0) { channel = i; break; } } } } ChannelServer cserv = ChannelServer.getInstance(channel); cserv.addPlayer(player);