Totem In 144 (FIX)

Page 2 of 2 FirstFirst 12
Results 16 to 25 of 25
  1. #16
    Account Upgraded | Title Enabled! avivii12345 is offline
    MemberRank
    Jan 2012 Join Date
    276Posts

    Re: Totem In 144 (FIX)

    You can find why the totems aren't loaded when you changing channel or relogin inside addInventoryInfo
    Last edited by avivii12345; 26-02-15 at 05:29 PM.

  2. #17
    Account Upgraded | Title Enabled! ngnam87 is offline
    MemberRank
    Mar 2013 Join Date
    666Posts

    Re: Totem In 144 (FIX)

    Quote Originally Posted by avivii12345 View Post
    You can find why the totems aren't loaded when you changing channel or relogin inside addInventoryInfo
    if this is a question then...idk
    all i know is: if the packet is true (addCharLook) then totem load perfectly even change channel
    why: because that packet used inside equip changed packet and spawn player packet

  3. #18
    Account Upgraded | Title Enabled! avivii12345 is offline
    MemberRank
    Jan 2012 Join Date
    276Posts

    Re: Totem In 144 (FIX)

    Quote Originally Posted by ngnam87 View Post
    if this is a question then...idk
    all i know is: if the packet is true (addCharLook) then totem load perfectly even change channel
    why: because that packet used inside equip changed packet and spawn player packet
    It doesn't a question, when you change channel if I remember correctly the server sends getCharInfo so the problem must be with addInventroyInfo.

  4. #19
    Account Upgraded | Title Enabled! ngnam87 is offline
    MemberRank
    Mar 2013 Join Date
    666Posts

    Re: Totem In 144 (FIX)

    if somebody mean NOT LOADED is:the totem disappear when change channel
    then the packet addInventoryInfo was wrong (or just disable to load totem)

    my addInventoryInfo v146
    the red code i highlight maybe not for v144 but i think they have some similar
    Code:
    public static void addInventoryInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) {
            mplew.writeInt(0);
            addPotionPotInfo(mplew, chr);
    
    
            //RED stuff:
            mplew.writeInt(0);
    
    
            mplew.writeInt(chr.getId());
    
    
            mplew.writeInt(0); 
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
    
    
            mplew.writeInt(0);
    
    
            mplew.write(0);
            mplew.write(0);
            mplew.write(0);
    
    
            mplew.write(chr.getInventory(MapleInventoryType.EQUIP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.USE).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.SETUP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.ETC).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.CASH).getSlotLimit());
    
    
            MapleQuestStatus stat = chr.getQuestNoAdd(MapleQuest.getInstance(122700));
            if ((stat != null) && (stat.getCustomData() != null) && (Long.parseLong(stat.getCustomData()) > System.currentTimeMillis())) {
                mplew.writeLong(getTime(Long.parseLong(stat.getCustomData())));
            } else {
                mplew.writeLong(getTime(-2L));
            }
    
    
            MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
            final List<Item> equipped = iv.newList();
            Collections.sort(equipped);
            for (Item item : equipped) {
                if ((item.getPosition() < 0) && (item.getPosition() > -100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -100) && (item.getPosition() > -1000)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
    
    
            mplew.writeShort(0);
            iv = chr.getInventory(MapleInventoryType.EQUIP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1000) && (item.getPosition() > -1100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1100) && (item.getPosition() > -1200)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if (item.getPosition() <= -1200) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
    
    
            }
    
    
            
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -5000) && (item.getPosition() >= -5003)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
           
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
    
    
            iv = chr.getInventory(MapleInventoryType.USE);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.SETUP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.ETC);
            for (Item item : iv.list()) {
                if (item.getPosition() < 100) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.CASH);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
    
    
    //        for (int i = 0; i < chr.getExtendedSlots().size(); i++) {
    //            mplew.writeInt(i);
    //            mplew.writeInt(chr.getExtendedSlot(i));
    //            for (Item item : chr.getInventory(MapleInventoryType.ETC).list()) {
    //                if ((item.getPosition() > i * 100 + 100) && (item.getPosition() < i * 100 + 200)) {
    //                    addItemPosition(mplew, item, false, true);
    //                    addItemInfo(mplew, item, chr);
    //                }
    //            }
    //            mplew.writeInt(-1);
    //        }
            mplew.writeZeroBytes(17);//was17
        }

  5. #20
    Account Upgraded | Title Enabled! avivii12345 is offline
    MemberRank
    Jan 2012 Join Date
    276Posts

    Re: Totem In 144 (FIX)

    Quote Originally Posted by ngnam87 View Post
    if somebody mean NOT LOADED is:the totem disappear when change channel
    then the packet addInventoryInfo was wrong (or just disable to load totem)

    my addInventoryInfo v146
    the red code i highlight maybe not for v144 but i think they have some similar
    Code:
    public static void addInventoryInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) {
            mplew.writeInt(0);
            addPotionPotInfo(mplew, chr);
    
    
            //RED stuff:
            mplew.writeInt(0);
    
    
            mplew.writeInt(chr.getId());
    
    
            mplew.writeInt(0); 
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
    
    
            mplew.writeInt(0);
    
    
            mplew.write(0);
            mplew.write(0);
            mplew.write(0);
    
    
            mplew.write(chr.getInventory(MapleInventoryType.EQUIP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.USE).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.SETUP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.ETC).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.CASH).getSlotLimit());
    
    
            MapleQuestStatus stat = chr.getQuestNoAdd(MapleQuest.getInstance(122700));
            if ((stat != null) && (stat.getCustomData() != null) && (Long.parseLong(stat.getCustomData()) > System.currentTimeMillis())) {
                mplew.writeLong(getTime(Long.parseLong(stat.getCustomData())));
            } else {
                mplew.writeLong(getTime(-2L));
            }
    
    
            MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
            final List<Item> equipped = iv.newList();
            Collections.sort(equipped);
            for (Item item : equipped) {
                if ((item.getPosition() < 0) && (item.getPosition() > -100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -100) && (item.getPosition() > -1000)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
    
    
            mplew.writeShort(0);
            iv = chr.getInventory(MapleInventoryType.EQUIP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1000) && (item.getPosition() > -1100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1100) && (item.getPosition() > -1200)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if (item.getPosition() <= -1200) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
    
    
            }
    
    
            
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -5000) && (item.getPosition() >= -5003)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
           
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
    
    
            iv = chr.getInventory(MapleInventoryType.USE);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.SETUP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.ETC);
            for (Item item : iv.list()) {
                if (item.getPosition() < 100) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.CASH);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
    
    
    //        for (int i = 0; i < chr.getExtendedSlots().size(); i++) {
    //            mplew.writeInt(i);
    //            mplew.writeInt(chr.getExtendedSlot(i));
    //            for (Item item : chr.getInventory(MapleInventoryType.ETC).list()) {
    //                if ((item.getPosition() > i * 100 + 100) && (item.getPosition() < i * 100 + 200)) {
    //                    addItemPosition(mplew, item, false, true);
    //                    addItemInfo(mplew, item, chr);
    //                }
    //            }
    //            mplew.writeInt(-1);
    //        }
            mplew.writeZeroBytes(17);//was17
        }
    This one will work with totems.

  6. #21
    Apprentice Nicon is offline
    MemberRank
    Jul 2014 Join Date
    5Posts

    Re: Totem In 144 (FIX)

    Taiwanese? So cool....

  7. #22
    Apprentice v3921358 is offline
    MemberRank
    May 2012 Join Date
    20Posts

    Re: Totem In 144 (FIX)

    Quote Originally Posted by Mallissy View Post
    well your fix didn't work for gms 144.3 xD They still disapear after changing channels
    I fix the totem without using "totemfix" in v142
    Here is a video

  8. #23
    unknowndog Mallissy is offline
    MemberRank
    May 2011 Join Date
    unknowndogLocation
    493Posts

    Re: Totem In 144 (FIX)

    Quote Originally Posted by v3921358 View Post
    I fix the totem without using "totemfix" in v142
    Here is a video
    Well I'm just stupid


    Quote Originally Posted by ngnam87 View Post
    if somebody mean NOT LOADED is:the totem disappear when change channel
    then the packet addInventoryInfo was wrong (or just disable to load totem)

    my addInventoryInfo v146
    the red code i highlight maybe not for v144 but i think they have some similar
    Code:
    public static void addInventoryInfo(MaplePacketLittleEndianWriter mplew, MapleCharacter chr) {
            mplew.writeInt(0);
            addPotionPotInfo(mplew, chr);
    
    
            //RED stuff:
            mplew.writeInt(0);
    
    
            mplew.writeInt(chr.getId());
    
    
            mplew.writeInt(0); 
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
            mplew.writeInt(0);
    
    
            mplew.writeInt(0);
    
    
            mplew.write(0);
            mplew.write(0);
            mplew.write(0);
    
    
            mplew.write(chr.getInventory(MapleInventoryType.EQUIP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.USE).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.SETUP).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.ETC).getSlotLimit());
            mplew.write(chr.getInventory(MapleInventoryType.CASH).getSlotLimit());
    
    
            MapleQuestStatus stat = chr.getQuestNoAdd(MapleQuest.getInstance(122700));
            if ((stat != null) && (stat.getCustomData() != null) && (Long.parseLong(stat.getCustomData()) > System.currentTimeMillis())) {
                mplew.writeLong(getTime(Long.parseLong(stat.getCustomData())));
            } else {
                mplew.writeLong(getTime(-2L));
            }
    
    
            MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
            final List<Item> equipped = iv.newList();
            Collections.sort(equipped);
            for (Item item : equipped) {
                if ((item.getPosition() < 0) && (item.getPosition() > -100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -100) && (item.getPosition() > -1000)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
    
    
            mplew.writeShort(0);
            iv = chr.getInventory(MapleInventoryType.EQUIP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1000) && (item.getPosition() > -1100)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -1100) && (item.getPosition() > -1200)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if (item.getPosition() <= -1200) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
    
    
            }
    
    
            
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            for (Item item : equipped) {
                if ((item.getPosition() <= -5000) && (item.getPosition() >= -5003)) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
           
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
            mplew.writeShort(0);
    
    
            iv = chr.getInventory(MapleInventoryType.USE);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.SETUP);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.ETC);
            for (Item item : iv.list()) {
                if (item.getPosition() < 100) {
                    addItemPosition(mplew, item, false, false);
                    addItemInfo(mplew, item, chr);
                }
            }
            mplew.write(0);
            iv = chr.getInventory(MapleInventoryType.CASH);
            for (Item item : iv.list()) {
                addItemPosition(mplew, item, false, false);
                addItemInfo(mplew, item, chr);
            }
            mplew.write(0);
    
    
    //        for (int i = 0; i < chr.getExtendedSlots().size(); i++) {
    //            mplew.writeInt(i);
    //            mplew.writeInt(chr.getExtendedSlot(i));
    //            for (Item item : chr.getInventory(MapleInventoryType.ETC).list()) {
    //                if ((item.getPosition() > i * 100 + 100) && (item.getPosition() < i * 100 + 200)) {
    //                    addItemPosition(mplew, item, false, true);
    //                    addItemInfo(mplew, item, chr);
    //                }
    //            }
    //            mplew.writeInt(-1);
    //        }
            mplew.writeZeroBytes(17);//was17
        }
    This fixed it ._. thank you <3
    Last edited by Mallissy; 28-02-15 at 05:59 AM.

  9. #24
    Enthusiast coklm2197 is offline
    MemberRank
    Jan 2011 Join Date
    32Posts

    Re: Totem In 144 (FIX)


  10. #25
    Acernis BLazeking558 is offline
    MemberRank
    May 2010 Join Date
    210Posts

    Re: Totem In 144 (FIX)

    Here is the PHP verison if you wanna copy and paste that into the original post to make it easier for people.

    My PacketHelper.java

    Search
    PHP Code:
    if ((item.getPosition() <= -5000) && (item.getPosition() >= -5002)) {
    to
    if ((item.getPosition() <= -5000) && (item.getPosition() >= -5003)) { 
    My addCharLook

    PHP Code:
    public static void addCharLook(MaplePacketLittleEndianWriter mplewMapleCharacterLook chrboolean megaboolean second) {
    mplew.write(second chr.getSecondGender() : chr.getGender());
    mplew.write(second chr.getSecondSkinColor() : chr.getSkinColor());
    mplew.writeInt(second chr.getSecondFace() : chr.getFace());
    mplew.writeInt(chr.getJob());
    mplew.write(mega 1);
    mplew.writeInt(second chr.getSecondHair() : chr.getHair());

    final 
    Map<ByteIntegermyEquip = new LinkedHashMap<>();
    final 
    Map<ByteIntegermaskedEquip = new LinkedHashMap<>();
    final 
    Map<ByteIntegertotemEquip = new LinkedHashMap<>();
    final 
    Map<ByteIntegerequip second chr.getSecondEquips(true) : chr.getEquips(true);
    for (final 
    Entry<ByteIntegeritem equip.entrySet()) {
    if ((
    item.getKey()).byteValue() < -127) {
    continue;
    }
    byte pos = (byte) ((item.getKey()).byteValue() * -1);

    if ((
    pos 100) && (myEquip.get(Byte.valueOf(pos)) == null)) {
    myEquip.put(Byte.valueOf(pos), item.getValue());
    } else if ((
    pos 100) && (pos != 111)) {
    pos = (byte) (pos 100);
    if (
    myEquip.get(Byte.valueOf(pos)) != null) {
    maskedEquip.put(Byte.valueOf(pos), myEquip.get(Byte.valueOf(pos)));
    totemEquip.put(Byte.valueOf(pos), item.getValue());
    }
    myEquip.put(Byte.valueOf(pos), item.getValue());
    totemEquip.put(Byte.valueOf(pos), item.getValue());
    } else if (
    myEquip.get(Byte.valueOf(pos)) != null) {
    maskedEquip.put(Byte.valueOf(pos), item.getValue());
    totemEquip.put(Byte.valueOf(pos), item.getValue());
    }
    }
    for (final 
    Entry<ByteIntegertotem chr.getTotems().entrySet()) {
    byte pos = (byte) ((totem.getKey()).byteValue() * -1);
    if (
    pos || pos 2) { //3 totem slots
    continue;
    }
    if (
    totem.getValue() < 1200000 || totem.getValue() >= 1210000) {
    continue;
    }
    System.out.println(pos);
    System.out.println(totem.getValue());
    totemEquip.put(Byte.valueOf(pos), totem.getValue());
    }

    for (
    Map.Entry entry myEquip.entrySet()) {
    int weapon = ((Integer) entry.getValue()).intValue();
    if (
    GameConstants.getWeaponType(weapon) == (second MapleWeaponType.LONG_SWORD MapleWeaponType.BIG_SWORD)) {
    continue;
    }
    mplew.write(((Byteentry.getKey()).byteValue());
    mplew.writeInt(((Integer) entry.getValue()).intValue());
    }
    mplew.write(255);

    for (
    Map.Entry entry maskedEquip.entrySet()) {
    mplew.write(((Byteentry.getKey()).byteValue());
    mplew.writeInt(((Integer) entry.getValue()).intValue());
    }
    mplew.write(255);

    for (
    Map.Entry entry totemEquip.entrySet()) {
    mplew.write(((Byteentry.getKey()).byteValue());
    mplew.writeInt(((Integer) entry.getValue()).intValue());
    }
    mplew.write(255); //new v140

    Integer cWeapon equip.get(Byte.valueOf((byte) -111));
    mplew.writeInt(cWeapon != null cWeapon.intValue() : 0);
    Integer Weapon equip.get(Byte.valueOf((byte) -11));
    mplew.writeInt(Weapon != null Weapon.intValue() : 0); //new v139
    boolean zero GameConstants.isZero(chr.getJob());
    Integer Shield equip.get(Byte.valueOf((byte) -10));
    mplew.writeInt(!zero && Shield != null Shield.intValue() : 0); //new v139
    mplew.write(/*GameConstants.isMercedes(chr.getJob()) ? 1 : */0); // Mercedes/Elf Ears
    mplew.writeZeroBytes(12);
    if (
    GameConstants.isDemonSlayer(chr.getJob()) || GameConstants.isXenon(chr.getJob()) || GameConstants.isDemonAvenger(chr.getJob())) {
    mplew.writeInt(chr.getFaceMarking());
    } else if (
    GameConstants.isZero(chr.getJob())) {
    mplew.write(1);
    }
    }
    public static 
    void addInventoryInfo(MaplePacketLittleEndianWriter mplewMapleCharacter chr) {
    mplew.writeInt(0);
    addPotionPotInfo(mplewchr); 

    //RED stuff:
    PHP Code:
    mplew.writeInt(0);


    mplew.writeInt(chr.getId());


    mplew.writeInt(0); 
    mplew.writeInt(0);
    mplew.writeInt(0);
    mplew.writeInt(0);
    mplew.writeInt(0);
    mplew.writeInt(0);


    mplew.writeInt(0);


    mplew.write(0);
    mplew.write(0);
    mplew.write(0);


    mplew.write(chr.getInventory(MapleInventoryType.EQUIP).getSlotLimit());
    mplew.write(chr.getInventory(MapleInventoryType.USE).getSlotLimit());
    mplew.write(chr.getInventory(MapleInventoryType.SETUP).getSlotLimit());
    mplew.write(chr.getInventory(MapleInventoryType.ETC).getSlotLimit());
    mplew.write(chr.getInventory(MapleInventoryType.CASH).getSlotLimit()); 

    MapleQuestStatus

    PHP Code:
    stat chr.getQuestNoAdd(MapleQuest.getInstance(122700));
    if ((
    stat != null) && (stat.getCustomData() != null) && (Long.parseLong(stat.getCustomData()) > System.currentTimeMillis())) {
    mplew.writeLong(getTime(Long.parseLong(stat.getCustomData())));
    } else {
    mplew.writeLong(getTime(-2L));

    MapleInventory

    PHP Code:
     iv chr.getInventory(MapleInventoryType.EQUIPPED);
    final List<
    Itemequipped iv.newList();
    Collections.sort(equipped);
    for (
    Item item equipped) {
    if ((
    item.getPosition() < 0) && (item.getPosition() > -100)) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }
    mplew.writeShort(0);
    for (
    Item item equipped) {
    if ((
    item.getPosition() <= -100) && (item.getPosition() > -1000)) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }


    mplew.writeShort(0);
    iv chr.getInventory(MapleInventoryType.EQUIP);
    for (
    Item item iv.list()) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    mplew.writeShort(0);
    for (
    Item item equipped) {
    if ((
    item.getPosition() <= -1000) && (item.getPosition() > -1100)) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }
    mplew.writeShort(0);
    for (
    Item item equipped) {
    if ((
    item.getPosition() <= -1100) && (item.getPosition() > -1200)) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }
    mplew.writeShort(0);
    mplew.writeShort(0);
    for (
    Item item equipped) {
    if (
    item.getPosition() <= -1200) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }


    }



    mplew.writeShort(0);
    mplew.writeShort(0);
    mplew.writeShort(0);
    mplew.writeShort(0);
    for (
    Item item equipped) {
    if ((
    item.getPosition() <= -5000) && (item.getPosition() >= -5003)) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }

    mplew.writeShort(0);
    mplew.writeShort(0);
    mplew.writeShort(0);
    mplew.writeShort(0);
    mplew.writeShort(0);


    iv chr.getInventory(MapleInventoryType.USE);
    for (
    Item item iv.list()) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    mplew.write(0);
    iv chr.getInventory(MapleInventoryType.SETUP);
    for (
    Item item iv.list()) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    mplew.write(0);
    iv chr.getInventory(MapleInventoryType.ETC);
    for (
    Item item iv.list()) {
    if (
    item.getPosition() < 100) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    }
    mplew.write(0);
    iv chr.getInventory(MapleInventoryType.CASH);
    for (
    Item item iv.list()) {
    addItemPosition(mplewitemfalsefalse);
    addItemInfo(mplewitemchr);
    }
    mplew.write(0);


    // for (int i = 0; i < chr.getExtendedSlots().size(); i++) {
    // mplew.writeInt(i);
    // mplew.writeInt(chr.getExtendedSlot(i));
    // for (Item item : chr.getInventory(MapleInventoryType.ETC).list()) {
    // if ((item.getPosition() > i * 100 + 100) && (item.getPosition() < i * 100 + 200)) {
    // addItemPosition(mplew, item, false, true);
    // addItemInfo(mplew, item, chr);
    // }
    // }
    // mplew.writeInt(-1);
    // }
    mplew.writeZeroBytes(17);//was17




Page 2 of 2 FirstFirst 12

Advertisement