- Joined
- Jan 22, 2009
- Messages
- 72
- Reaction score
- 0
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-merchant-issue-669807/
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-merchant-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 penis we dont need this
mplew.write(firstTime ? 1 : 0);
mplew.write(HexTool.getByteArrayFromHexString("00 00 00 00 00"));
}