Fix for totem equipment in GMS v1.17

Results 1 to 3 of 3
  1. #1
    Account Upgraded | Title Enabled! davidling is offline
    MemberRank
    Jul 2011 Join Date
    449Posts

    Fix for totem equipment in GMS v1.17

    OK GUYS! Today i'm gonna release this fix for all of you.

    What is totem in maplestory? (Don't know what is it? Google it and you will know)

    Caution: Flame Shield ON



    First, find the equip function in MapleInventoryManipulator (there's an incorrect item pos values) , just edit it become :

    Code:
    else if ( ((dst <= -1200 && dst > -5000 ) || (dst >= -999 && dst < -99)) && !stats.containsKey("cash")) {
                c.getSession().write(CWvsContext.enableActions()); 
                return;
            } else if ((dst <= -1300 && dst > -5000 ) && c.getPlayer().getAndroid() == null) {
                c.getSession().write(CWvsContext.enableActions());
                return;
            }
    After edited, you can wear those equipment but... (It will gone after logged out or change channel)

    Go to packerHELPER
    below
    Code:
    for (Item item : equipped) {
             if (item.getPosition() <= -1200 ) {
             addItemPosition(mplew, item, false, false);
             addItemInfo(mplew, item, chr);
           }
    
      }
    add
    Code:
     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);
    And go to addCharLook and add a hash associative containers map
    Code:
    Map<Byte, Integer> totem = new LinkedHashMap<>();
    Below
    Code:
    for (final Entry<Byte, Integer> item : equip.entrySet())
    add
    Code:
    if ( pos <= -118 && pos >= -120 )
       totem.put((byte)(Byte.valueOf(pos) + 118) , item.getValue());
    And the last one,
    Between
    Code:
    mplew.write(255);
    mplew.write(255);
    Add
    Code:
    for (Map.Entry entry : tote.entrySet()) {
        mplew.write(((Byte) entry.getKey()).byteValue());
        mplew.writeInt(((Integer) entry.getValue()).intValue());
    }
    Ok! There you go! But it still doesn't show any function, why?

    It is because GMS doesn't have include the totem effect in 117 (ERR?? LOL ARE YOU KIDDING ME?)
    Please find those totem in other version WZ and add in your own WZ.


    Credits: a9965
    Last edited by davidling; 14-05-14 at 05:33 PM.


  2. #2
    Proficient Member nukehead1 is offline
    MemberRank
    Apr 2013 Join Date
    178Posts

    Re: Fix for totem equipment in GMS v1.17

    Where do i add this:

    if ( pos <= -118 && pos >= -120 )
    totem.put((byte)(Byte.valueOf(pos) + 118) , item.getValue());

  3. #3
    C# developer xStr0nGx is offline
    MemberRank
    Dec 2013 Join Date
    UnknownLocation
    659Posts

    Re: Fix for totem equipment in GMS v1.17

    Quote Originally Posted by nukehead1 View Post
    Where do i add this:

    if ( pos <= -118 && pos >= -120 )
    totem.put((byte)(Byte.valueOf(pos) + 118) , item.getValue());
    Below the declaration of 'pos'.



Advertisement