Untitled
unknown
java
2 years ago
4.2 kB
4
Indexable
public static MaplePacket getCharInfo(MapleCharacter chr) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.write(SendPacketOpcode.WARP_TO_MAP.getValue()); /* this shit is all right */ mplew.writeInt(chr.getClient().getChannel() - 1); //channel mplew.write(0); // character portal counter mplew.write(1); // is connecting mplew.writeInt(new Random().nextInt()); mplew.writeInt(new Random().nextInt()); mplew.writeInt(new Random().nextInt()); mplew.writeInt(new Random().nextInt()); /* */ mplew.write(0xFF); mplew.write(0xFF); mplew.writeInt(chr.getId()); mplew.writeAsciiString(chr.getName(), 13); mplew.write(chr.getGender()); mplew.write(chr.getSkinColor().getId()); mplew.writeInt(chr.getFace()); mplew.writeInt(chr.getHair()); mplew.writeLong(0); // Pet Cash ID mplew.write(chr.getLevel()); mplew.writeShort(chr.getJob().getId()); mplew.writeShort(chr.getStr()); mplew.writeShort(chr.getDex()); mplew.writeShort(chr.getInt()); mplew.writeShort(chr.getLuk()); mplew.writeShort(chr.getHp()); mplew.writeShort(chr.getMaxHp()); mplew.writeShort(chr.getMp()); mplew.writeShort(chr.getMaxMp()); mplew.writeShort(chr.getRemainingAp()); mplew.writeShort(chr.getRemainingSp()); mplew.writeInt(chr.getExp()); mplew.writeShort(chr.getFame()); mplew.writeInt(chr.getMapId()); mplew.write(chr.getInitialSpawnpoint()); mplew.write(chr.getBuddylist().getCapacity()); mplew.writeInt(chr.getMeso()); //Todo - make these the real numbers mplew.write(100); // equip slots mplew.write(100); // use slots mplew.write(100); // set-up slots mplew.write(100); // etc slots mplew.write(100); // cash slots MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED); Collection < IItem > equippedC = iv.list(); List < Item > equipped = new ArrayList < Item > (equippedC.size()); for (IItem item: equippedC) { equipped.add((Item) item); } Collections.sort(equipped); // mplew.write(0); mplew.write(0); mplew.write(0); mplew.write(0); mplew.write(0); mplew.write(0); mplew.write(0); /* Map<ISkill, MapleCharacter.SkillEntry> skills = chr.getSkills(); mplew.writeShort(skills.size()); for (Entry<ISkill, MapleCharacter.SkillEntry> skill : skills.entrySet()) { mplew.writeInt(skill.getKey().getId()); mplew.writeInt((byte)skill.getValue().skillevel); } */ mplew.writeShort(0); //mplew.writeInt(0); //mplew.writeInt(0); mplew.writeShort(0); //number of cooldowns //for each cooldown: id, cooldown //mplew.writeInt(0); //mplew.writeShort(0); // Quests // mplew.writeShort(3); // active mplew.writeShort(2029); mplew.writeMapleAsciiString(""); mplew.writeShort(2000); mplew.writeMapleAsciiString(""); mplew.writeShort(1000); mplew.writeMapleAsciiString(""); mplew.writeShort(0); //Completed quest count? mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeInt(0); mplew.writeLong(System.currentTimeMillis()); return mplew.getPacket(); }
Editor is loading...