[Release] 1.06.2 Some Packet

Results 1 to 8 of 8
  1. #1
    Enthusiast WinterSSI is offline
    MemberRank
    Mar 2011 Join Date
    41Posts

    [Release] 1.06.2 Some Packet

    updatePlayerStats

    Code:
        public static final MaplePacket updatePlayerStats(final List<Pair<MapleStat, Integer>> stats, final int evan) {
            return updatePlayerStats(stats, false, evan);
        }
    
        public static final MaplePacket updatePlayerStats(final List<Pair<MapleStat, Integer>> stats, final boolean itemReaction, final int evan) {
            final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
    
            mplew.writeShort(SendPacketOpcode.UPDATE_STATS.getValue());
            mplew.write(itemReaction ? 1 : 0);
            int updateMask = 0;
            for (final Pair<MapleStat, Integer> statupdate : stats) {
                updateMask |= statupdate.getLeft().getValue();
            }
            List<Pair<MapleStat, Integer>> mystats = stats;
            if (mystats.size() > 1) {
                Collections.sort(mystats, new Comparator<Pair<MapleStat, Integer>>() {
    
                    @Override
                    public int compare(final Pair<MapleStat, Integer> o1, final Pair<MapleStat, Integer> o2) {
                        int val1 = o1.getLeft().getValue();
                        int val2 = o2.getLeft().getValue();
                        return (val1 < val2 ? -1 : (val1 == val2 ? 0 : 1));
                    }
                });
            }
            mplew.writeInt(updateMask);
            Integer value;
            for (final Pair<MapleStat, Integer> statupdate : mystats) {
                value = statupdate.getLeft().getValue();
    
                if (value >= 1) {
                    if (value == 0x1) {
                        mplew.writeShort(statupdate.getRight().shortValue());
                    } else if (value <= 0x4) {
                        mplew.writeInt(statupdate.getRight());
                    } else if (value < 0x20) {
                        mplew.write(statupdate.getRight().byteValue());
                    } else if (value >= 0x400 && value <= 0x2000) {
                        mplew.writeInt(statupdate.getRight().intValue());
                    } else if (value == 0x8000) {
                        if (GameConstants.isEvan(evan) || GameConstants.isResist(evan)) {
                            throw new UnsupportedOperationException("Pass");
                        } else {
                            mplew.writeShort(statupdate.getRight().shortValue());
                        }
                    } else if (value < 0xFFFF) {
                        mplew.writeShort(statupdate.getRight().shortValue());
                    } else {
                        mplew.writeInt(statupdate.getRight().intValue());
                    }
                }
            }
            mplew.writeShort(0); // v104
            return mplew.getPacket();
        }
    UpdateSP

    Code:
        public static final MaplePacket updateSp(MapleCharacter chr, final boolean itemReaction) {
    
            return updateSp(chr, itemReaction, false);
        }
    
        public static final MaplePacket updateSp(MapleCharacter chr, final boolean itemReaction, final boolean overrideJob) {
    
            final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
            mplew.writeShort(SendPacketOpcode.UPDATE_STATS.getValue());
            mplew.write(itemReaction ? 1 : 0);
            mplew.writeInt(0x8000);
            if (overrideJob || GameConstants.isEvan(chr.getJob()) || GameConstants.isResist(chr.getJob())) {
                mplew.write(chr.getRemainingSpSize());
                for (int i = 0; i < chr.getRemainingSps().length; i++) {
                    if (chr.getRemainingSp(i) > 0) {
                        mplew.write(i + 1);
                        mplew.write(chr.getRemainingSp(i));
                    }
                }
            } else {
                mplew.writeShort(chr.getRemainingSp());
            }
            mplew.writeShort(0); // After BB+
            return mplew.getPacket();
        }
    giveBuff

    Code:
        public static MaplePacket giveBuff(int buffid, int bufflength, List<Pair<MapleBuffStat, Integer>> statups, MapleStatEffect effect) {
            MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
    
            mplew.writeShort(SendPacketOpcode.GIVE_BUFF.getValue());
    
            writeLongMask(mplew, statups);
    
            for (Pair<MapleBuffStat, Integer> statup : statups) {
                mplew.writeInt(statup.getRight().intValue()); // After BB Short -> Int
                mplew.writeInt(buffid);
                mplew.writeInt(bufflength);
            }
            mplew.writeShort(0); // delay,  wk charges have 600 here o.o
    
            mplew.writeShort(0); // combo 600, too
    
            if (effect == null || (!effect.isCombo() && !effect.isFinalAttack())) {
                mplew.write(0); // Test
    
            }
            return mplew.getPacket();
        }
    P.S

    1. givebuff almost buff can but some buffstat changed you need sniff that

    2. playerstats After BB HP/MP Short -> Int so some changed

    3. updatesp After BB one short added but Idk what's that lol^^;


  2. #2
    Apprentice dlzkfhtm32 is offline
    MemberRank
    May 2011 Join Date
    14Posts

    Re: [Release] 1.06.2 Some Packet

    hum...

  3. #3
    Enthusiast Jokersoftms is offline
    MemberRank
    Oct 2010 Join Date
    48Posts

    Re: [Release] 1.06.2 Some Packet

    Thx WinterSSI Xd

  4. #4
    Enthusiast WinterSSI is offline
    MemberRank
    Mar 2011 Join Date
    41Posts

    Re: [Release] 1.06.2 Some Packet

    Quote Originally Posted by dlzkfhtm32 View Post
    hum...
    ..? What's the problem

    ---------- Post added at 06:32 AM ---------- Previous post was at 06:31 AM ----------

    Quote Originally Posted by Jokersoftms View Post
    Thx WinterSSI Xd
    ^^ no problem

  5. #5
    Member petch2542 is offline
    MemberRank
    Mar 2011 Join Date
    Bangkok, ThailaLocation
    65Posts

    Re: [Release] 1.06.2 Some Packet

    thanks but how i put this code?

  6. #6
    Account Upgraded | Title Enabled! davidling is offline
    MemberRank
    Jul 2011 Join Date
    449Posts

    Re: [Release] 1.06.2 Some Packet

    yea, how do i put these code?

  7. #7
    Valued Member JustCodeiT is offline
    MemberRank
    Jul 2011 Join Date
    130Posts

    Re: [Release] 1.06.2 Some Packet

    Quote Originally Posted by davidling View Post
    yea, how do i put these code?
    copy and paste ?

  8. #8
    Member petch2542 is offline
    MemberRank
    Mar 2011 Join Date
    Bangkok, ThailaLocation
    65Posts

    Re: [Release] 1.06.2 Some Packet

    paste where sir?
    and I have to chane opcode?



Advertisement