[help] Negative Exp help.

Results 1 to 1 of 1
  1. #1
    Sorcerer Supreme natkemon is offline
    Member +Rank
    Jul 2008 Join Date
    424Posts

    [help] Negative Exp help.

    Im tring to fix the negative EXP in my mapleblade repack.

    is it wrong that i do this?

    PHP Code:
           public void setExp(int amount) {
            
    this.exp.set(amount);
             
    exp.set(amount);
        } 
    and Is it wrong that i do this?

    PHP Code:
        public void gainExp(int gainboolean showboolean inChat) {
            
    gainExp(gainshowinChattrue);
                            
    //if the player has negative exp while gaining exp convert to absolute value and levelup if value is greater than exp needed for level
            
    if (getExp() < 0) {
                   
    setExp(Math.abs(getExp()));
                   while (
    level 200 && getExp() >= ExpTable.getExpNeededForLevel(level 1)) {
                          
    levelUp(true);
                   }
            }
        }

        public 
    void gainExp(int gainboolean showboolean inChatboolean white) {
            
    gainExp(gainshowinChatwhite0);
                                    
    //if the player has negative exp while gaining exp convert to absolute value and levelup if value is greater than exp needed for level
            
    if (getExp() < 0) {
                   
    setExp(Math.abs(getExp()));
                   while (
    level 200 && getExp() >= ExpTable.getExpNeededForLevel(level 1)) {
                          
    levelUp(true);
                   }
            }
        }

        public 
    void gainExp(int gainboolean showboolean inChatboolean whiteint party) {
            if (
    level getMaxLevel()) {
                
    int total gain;
                if (
    party && client.getPlayer().getReborns() == 0) {
                
    total += party gain 2;
                }
                if (
    party 1) {
                
    total += party gain 20;
                }
                if ((
    longthis.exp.get() + (longgain > (longInteger.MAX_VALUE) {
                    
    int gainFirst ExpTable.getExpNeededForLevel(level) - this.exp.get();
                    
    gain -= gainFirst 1;
                    
    this.gainExp(gainFirst 1falseinChatwhite);
                }
                
    updateSingleStat(MapleStat.EXPthis.exp.addAndGet(gain));
                if (
    show && gain != 0) {
                    
    client.getSession().write(MaplePacketCreator.getShowExpGain(gaininChatwhite, (byte) (total != gain party 0)));
                }
            if (
    MapleCharacter.getMultiLevel()) {
                while (
    level getMaxLevel() && exp.get() >= ExpTable.getExpNeededForLevel(level)) {
                    
    levelUp(true);
                }
                } else if (
    exp.get() >= ExpTable.getExpNeededForLevel(level)) {
                    
    levelUp(true);
                    
    int need ExpTable.getExpNeededForLevel(level);
                    if (
    exp.get() >= need) {
                        
    setExp(need 1);
                        
    updateSingleStat(MapleStat.EXPneed);
                    }
                }
                                        
    //if the player has negative exp while gaining exp convert to absolute value and levelup if value is greater than exp needed for level
            
    if (getExp() < 0) {
                   
    setExp(Math.abs(getExp()));
                   while (
    level 200 && getExp() >= ExpTable.getExpNeededForLevel(level 1)) {
                          
    levelUp(true);
                   }
            }
            }
        } 




Advertisement