מדריך להגבלת רמות בכניסה לצ'אנל
קרדיט לBLUEPOOP
במדריך זה תלמדו להגביל רמה בכניסה לצ'אנל.
ראשית תיכנסו לקובץ src/net/sf/odinms/net/channel/ChannelServer.java.
תחפשו בו
קוד:
קוד PHP:
private boolean multiLevel;
תחליפו את זה ב
קוד:
קוד PHP:
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.
תחפשו שם
קוד:
קוד PHP:
MapleCharacter player = c.getPlayer()
ותשנו את זה ל
קוד:
קוד PHP:
MapleCharacter player = c.getPlayer();
if (player.getLevel() >= ChannelServer.minlevels[channel] && player.getLevel() < ChannelServer.maxlevels[channel] && ChannelServer.maxlevels[channel] != 0) {
עכשיו תחפשו
קוד:
קוד PHP:
try {
c.getSession().write(MaplePacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
} catch (Exception e) {
throw new RuntimeException(e);
}
ותוסיפו שורה מתחת
קוד:
עכשיו תעברו לקובץ src/net/sf/odinms/net/channel/handler/PlayerLoggedInHandler.java.
תחפשו שם את זה:
קוד:
קוד PHP:
ChannelServer cserv = ChannelServer.getInstance(c.getChannel());
cserv.addPlayer(player);
ותחליפו את זה עם
קוד:
קוד PHP:
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);