I'm sure some of you have noticed that most of the v83 sources don't have Item Expiration except Moople. Here is a quick fix so the pet's do not dry up anymore.
Replace your updatePet with this one.
Special Thanks to Generic for helping me understand packets a little better.Code:public static MaplePacket updatePet(MaplePet pet) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.MODIFY_INVENTORY_ITEM.getValue()); mplew.write(0); mplew.write(2); mplew.write(3); mplew.write(5); mplew.write(pet.getPosition()); mplew.writeShort(0); mplew.write(5); mplew.write(pet.getPosition()); mplew.write(0); mplew.write(3); mplew.writeInt(pet.getItemId()); mplew.write(1); mplew.writeInt(pet.getUniqueId()); mplew.writeInt(0); mplew.write(HexTool.getByteArrayFromHexString("00 40 6F E5 0F E7 17 02")); String petname = pet.getName(); if (petname.length() > 13) { petname = petname.substring(0, 13); } mplew.writeAsciiString(petname); for (int i = petname.length(); i < 13; ++i) { mplew.write(0); } mplew.write(pet.getLevel()); mplew.writeShort(pet.getCloseness()); mplew.write(pet.getFullness()); mplew.write(0); mplew.write(ITEM_MAGIC); mplew.writeInt(getItemTimestamp(System.currentTimeMillis())); mplew.write(1); mplew.writeInt(0); mplew.write(HexTool.getByteArrayFromHexString("50 46 00 00 00 00")); return mplew.getPacket(); }![]()



Reply With Quote


