增加字符串下发

This commit is contained in:
雪风 2025-03-18 13:58:12 +08:00
parent e69083d8e8
commit 79d5e16478
2 changed files with 11 additions and 1 deletions

View File

@ -13,6 +13,7 @@ import tools.HexTool;
import java.nio.charset.Charset;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
public class MaplePacketLittleEndianWriter {
private final ByteArrayOutputStream baos;
@ -101,6 +102,12 @@ public class MaplePacketLittleEndianWriter {
this.writeAsciiString(s);
}
public final void writeUTF8(final String s) {
this.writeInt(s.getBytes(StandardCharsets.UTF_8).length);
this.write(s.getBytes(StandardCharsets.UTF_8));
}
public final void writeMapleAsciiString(String s, final int max) {
if (s.getBytes(MaplePacketLittleEndianWriter.ASCII).length > max) {
s = s.substring(0, max);

View File

@ -449,7 +449,7 @@ public class PacketHelper {
if (item.getPet() != null) {
addPetItemInfo(mplew, item, item.getPet());
} else {
addExpirationTime(mplew, item.getExpiration());
addExpirationTime(mplew, item.getExpiration());//里面4个包
if (item.getType() == 1 && equip != null) {
mplew.write(equip.getUpgradeSlots());
mplew.write(equip.getLevel());
@ -479,6 +479,9 @@ public class PacketHelper {
}
mplew.writeLong(getTime(-2L));
mplew.writeInt(-1);
mplew.writeUTF8(equip.getdb());
mplew.writeUTF8(equip.getdd());
mplew.writeUTF8(equip.getqg());
} else {
mplew.writeShort((int) item.getQuantity());
mplew.writeMapleAsciiString(item.getOwner());