Buccaneer Energy Charge Not showing visually

Results 1 to 7 of 7
  1. #1
    Member crisroxmysoc is offline
    MemberRank
    Aug 2016 Join Date
    91Posts

    Buccaneer Energy Charge Not showing visually

    As title said, need help be pointed the way towards fixing this skill! I am trying to copy how the Xenon Gauge works but its quite complicated. Where does these gauges come from? Can't seen to find the source
    Last edited by crisroxmysoc; 07-09-16 at 07:36 AM.


  2. #2
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: Buccaneer Energy Charge Not showing visually

    Make sure your EnergyCharged buffstats are correct, and that your attacks are calling the giveBuff packet which charges the energy bar. I must also say that Energy Bar is one of the more difficult packets to get fully working, as it is one of the 6 few buffs in the game that is a Two State Temporary Stat buff. Also, foreign buff packets just show the effects to the other players, you don't send those to yourself.

  3. #3
    Member crisroxmysoc is offline
    MemberRank
    Aug 2016 Join Date
    91Posts

    Re: Buccaneer Energy Charge Not showing visually

    I would but I wouldn't be able to know unless the gauge is actually visible ! I always like a challenge

  4. #4
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: Buccaneer Energy Charge Not showing visually

    Quote Originally Posted by crisroxmysoc View Post
    I would but I wouldn't be able to know unless the gauge is actually visible ! I always like a challenge
    The gauge visuals are client-sided. If you are of the correct job, using the correct skills and items etc, then the empty gauge will appear (unless newer versions send it through a packet, doubt it'd change though). The energy will charge through packets otherwise.

  5. #5
    Member crisroxmysoc is offline
    MemberRank
    Aug 2016 Join Date
    91Posts

    Re: Buccaneer Energy Charge Not showing visually

    Yeah I figure its client sided. Well here's the packet for Energy Charge
    Code:
    ENERGY_CHARGE(0x2000000, 8),
    The thing is if I am not seeing the gauge and assuming this is correct I am not sending it to the client then? How would I go about that?

  6. #6
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: Buccaneer Energy Charge Not showing visually

    Quote Originally Posted by crisroxmysoc View Post
    Yeah I figure its client sided. Well here's the packet for Energy Charge
    Code:
    ENERGY_CHARGE(0x2000000, 8),
    The thing is if I am not seeing the gauge and assuming this is correct I am not sending it to the client then? How would I go about that?
    Is there not any empty energy charge bars on your screen? There should be. That is also not a packet, that is a buffstat (or what nexon calls a Character Temporary Stat). You use that mask to update the energy bar when you send the giveBuff packet (though Odin probably uses some weird packet for it because it is a special buff).

  7. #7
    Member crisroxmysoc is offline
    MemberRank
    Aug 2016 Join Date
    91Posts

    Re: Buccaneer Energy Charge Not showing visually

    no sir, trying telling you that. There's not even an empty gauge.

    On the side note I believe I found the packet that gets send out to the client, but it doesnt.
    Code:
    public static byte[] giveEnergyChargeTest(int cid, int bar, int bufflength) {
                if (true) {
                    return CWvsContext.enableActions();
                }
                MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
    
    
                if (cid == -1) {
                    mplew.writeShort(SendPacketOpcode.GIVE_BUFF.getValue());
                } else {
                    mplew.writeShort(SendPacketOpcode.GIVE_FOREIGN_BUFF.getValue());
                    mplew.writeInt(cid);
                }
                PacketHelper.writeSingleMask(mplew, MapleBuffStat.ENERGY_CHARGE);
                mplew.writeShort(0);
                mplew.write(0);
                mplew.writeInt(Math.min(bar, 10000));
                mplew.writeLong(0L);
                mplew.write(0);
    
    
                mplew.writeInt(bar >= 10000 ? bufflength : 0);
                mplew.write(0);
                mplew.write(6);
                return mplew.getPacket();
            }
    But I don't believe it won't matter if the gauge is visually not there, (Both empty/Full) just nothingness



Advertisement