Hi ,
Working on the server ,
There is a known issue when 1st left the shop(Hiredmerchant) all got dc .
Tried to use this , but no cause - http://forum.ragezone.com/f427/fix-m...-issue-669807/
Code:public static MaplePacket getInteraction(MapleCharacter chr, boolean firstTime) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.PLAYER_INTERACTION.getValue()); // header. IPlayerInteractionManager ips = chr.getInteraction(); int type = ips.getShopType(); switch (type) { case 1: mplew.write(HexTool.getByteArrayFromHexString("05 05 04")); break; case 2: mplew.write(HexTool.getByteArrayFromHexString("05 04 04")); break; case 3: mplew.write(HexTool.getByteArrayFromHexString("05 02 02")); break; case 4: mplew.write(HexTool.getByteArrayFromHexString("05 01 02")); break; default: break; } mplew.write(ips.isOwner(chr) ? 0 : 3); mplew.write(0); if (type == 2 || type == 3 || type == 4) { addCharLook(mplew, ((MaplePlayerShop) ips).getMCOwner(), false); mplew.writeMapleAsciiString(ips.getOwnerName()); } else { mplew.writeInt(((HiredMerchant) ips).getItemId()); mplew.writeMapleAsciiString("Hired Merchant"); } for (int i = 0; i < 3; i++) { if (ips.getVisitors()[i] != null) { mplew.write(i + 1); addCharLook(mplew, ips.getVisitors()[i], false); mplew.writeMapleAsciiString(ips.getVisitors()[i].getName()); } } mplew.write(0xFF); if (type == 1) { mplew.writeShort(0); mplew.writeMapleAsciiString(ips.getOwnerName()); if (ips.isOwner(chr)) { mplew.writeInt(Integer.MAX_VALUE); // contains timing, suck my dick we dont need this mplew.write(firstTime ? 1 : 0); mplew.write(HexTool.getByteArrayFromHexString("00 00 00 00 00")); }



Reply With Quote


