Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 6th, 2012  |  syntax: None  |  size: 2.01 KB  |  hits: 34  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public static byte[] getServerList(int serverId, String serverName, Map<Integer, Integer> channelLoad) {
  2.         MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
  3.         mplew.writeShort(SendPacketOpcode.SERVERLIST.getValue());
  4.         mplew.write(serverId);
  5.         mplew.writeMapleAsciiString(serverName);
  6.         mplew.write(LoginServer.getFlag());
  7.         mplew.writeMapleAsciiString(LoginServer.getEventMessage());
  8.         mplew.write(0x64); // rate modifier, don't ask O.O!
  9.         mplew.write(0x0); // event xp * 2.6 O.O!
  10.         mplew.write(0x64); // rate modifier, don't ask O.O!
  11.         mplew.writeShort(0); // drop rate * 2.6
  12.         //mplew.writeZeroBytes(4);
  13.  
  14.         /*mplew.write(0x64); // rate modifier, don't ask O.O!
  15.         mplew.write(0x0); // event xp * 2.6 O.O!
  16.         mplew.write(0x64); // rate modifier, don't ask O.O!
  17.         mplew.write(0x0); // drop rate * 2.6
  18.         mplew.write(0x0);*/
  19.         int lastChannel = 1;
  20.         Set<Integer> channels = channelLoad.keySet();
  21.         for (int i = 30; i > 0; i--) {
  22.             if (channels.contains(i)) {
  23.                 lastChannel = i;
  24.                 break;
  25.             }
  26.         }
  27.         mplew.write(lastChannel);
  28.         int load;
  29.         for (int i = 1; i <= lastChannel; i++) {
  30.             if (channels.contains(i)) {
  31.                 load = channelLoad.get(i);
  32.             } else {
  33.                 load = 1200;
  34.             }
  35.             mplew.writeMapleAsciiString(serverName + "-" + i);
  36.             mplew.writeInt(load);
  37.             mplew.write(serverId);
  38.             mplew.writeShort(i - 1);
  39.         }
  40.         mplew.writeZeroBytes(6); //1 int, big penis then a short, a small penis
  41.         return mplew.getPacket();
  42.     }
  43.  
  44.     public static final byte[] getEndOfServerList() {
  45.         final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
  46.  
  47.         mplew.writeShort(SendPacketOpcode.SERVERLIST.getValue());
  48.         mplew.write(0xFF);
  49.  
  50.         return mplew.getPacket();
  51.     }