Перейти к содержанию

jman4ik

Постоялец
  • Публикаций

    399
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1
  • Отзывы

    0%

Сообщения, опубликованные jman4ik


  1. Ну если на 50 онлайна разве то можно из шары если для серьезного проэкта лучше иметь тех поддержку тк создавший такую тему человек врядли сам поисправляет ошибки ибо если бы мог делать это сам он бы такую тему не создавал


  2. package net.sf.l2j.gameserver.model.actor.stat;
    import java.util.Map;
    import java.util.logging.Logger;
    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.model.L2Clan;
    import net.sf.l2j.gameserver.model.L2Party;
    import net.sf.l2j.gameserver.model.L2PetData;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
    import net.sf.l2j.gameserver.model.actor.status.PcStatus;
    import net.sf.l2j.gameserver.model.base.SubClass;
    import net.sf.l2j.gameserver.model.quest.Quest;
    import net.sf.l2j.gameserver.model.quest.QuestState;
    import net.sf.l2j.gameserver.network.SystemMessageId;
    import net.sf.l2j.gameserver.serverpackets.PledgeShowMemberListUpdate;
    import net.sf.l2j.gameserver.serverpackets.SocialAction;
    import net.sf.l2j.gameserver.serverpackets.StatusUpdate;
    import net.sf.l2j.gameserver.serverpackets.SystemMessage;
    import net.sf.l2j.gameserver.serverpackets.UserInfo;
    public class PcStat extends PlayableStat
    {
     private static Logger _log = Logger.getLogger(L2PcInstance.class.getName());
     private int _oldMaxHp;
     private int _oldMaxMp;
     public PcStat(L2PcInstance activeChar)
     {
       super(activeChar);
     }
     public boolean addExp(long value)
     {
       L2PcInstance activeChar = getActiveChar();
       if ((!activeChar.isCursedWeaponEquiped()) && (activeChar.getKarma() > 0) && ((activeChar.isGM()) || (!activeChar.isInsideZone(1))))
       {
      int karmaLost = activeChar.calculateKarmaLost(value);
      if (karmaLost > 0) activeChar.setKarma(activeChar.getKarma() - karmaLost);
       }
       if ((getActiveChar().isGM()) && (getActiveChar().getAccessLevel() <= Config.GM_DONT_TAKE_EXPSP) && (getActiveChar().isInParty())) {
      return false;
       }
       if (!super.addExp(value)) return false;
       activeChar.sendPacket(new UserInfo(activeChar));
       return true;
     }
     public boolean addExpAndSp(long addToExp, int addToSp)
     {
       float ratioTakenByPet = 0.0F;
       L2PcInstance activeChar = getActiveChar();
       if ((activeChar.isGM()) && (activeChar.getAccessLevel() <= Config.GM_DONT_TAKE_EXPSP) && (activeChar.isInParty())) {
      return false;
       }
       if ((activeChar.getPet() instanceof L2PetInstance))
       {
      L2PetInstance pet = (L2PetInstance)activeChar.getPet();
      ratioTakenByPet = pet.getPetData().getOwnerExpTaken();
      if ((ratioTakenByPet > 0.0F) && (!pet.isDead()))
        pet.addExpAndSp(()((float)addToExp * ratioTakenByPet), (int)(addToSp * ratioTakenByPet));
      if (ratioTakenByPet > 1.0F)
        ratioTakenByPet = 1.0F;
      addToExp = ()((float)addToExp * (1.0F - ratioTakenByPet));
      addToSp = (int)(addToSp * (1.0F - ratioTakenByPet));
       }
       if (!super.addExpAndSp(addToExp, addToSp)) return false;
       if (Config.PVP_EXP_COUNT != 0L) {
      SystemMessage sm = new SystemMessage(SystemMessageId.YOU_EARNED_S1_EXP_AND_S2_SP);
      sm.addNumber((int)addToExp);
      sm.addNumber(addToSp);
      getActiveChar().sendPacket(sm);
       }
       return true;
     }
     public boolean removeExpAndSp(long addToExp, int addToSp)
     {
       if (!super.removeExpAndSp(addToExp, addToSp)) return false;
       SystemMessage sm = new SystemMessage(SystemMessageId.EXP_DECREASED_BY_S1);
       sm.addNumber((int)addToExp);
       getActiveChar().sendPacket(sm);
       sm = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
       sm.addNumber(addToSp);
       getActiveChar().sendPacket(sm);
       return true;
     }
     public final boolean addLevel(byte value)
     {
       if (getLevel() + value >[color=#ff0000] 99[/color]) return false;
       boolean levelIncreased = super.addLevel(value);
       if (levelIncreased)
       {
      QuestState qs = getActiveChar().getQuestState("255_Tutorial");
      if (qs != null) {
        qs.getQuest().notifyEvent("CE40", null, getActiveChar());
      }
      getActiveChar().setCurrentCp(getMaxCp());
      getActiveChar().broadcastPacket(new SocialAction(getActiveChar().getObjectId(), 15));
      getActiveChar().sendPacket(new SystemMessage(SystemMessageId.YOU_INCREASED_YOUR_LEVEL));
       }
       getActiveChar().rewardSkills();
       if (getActiveChar().getClan() != null)
       {
      getActiveChar().getClan().updateClanMember(getActiveChar());
      getActiveChar().getClan().broadcastToOnlineMembers(new PledgeShowMemberListUpdate(getActiveChar()));
       }
       if (getActiveChar().isInParty()) getActiveChar().getParty().recalculatePartyLevel();
       StatusUpdate su = new StatusUpdate(getActiveChar().getObjectId());
       su.addAttribute(1, getLevel());
       su.addAttribute(34, getMaxCp());
       su.addAttribute(10, getMaxHp());
       su.addAttribute(12, getMaxMp());
       getActiveChar().sendPacket(su);
       getActiveChar().refreshOverloaded();
       getActiveChar().refreshExpertisePenalty();
       getActiveChar().sendPacket(new UserInfo(getActiveChar()));
       return levelIncreased;
     }
     public boolean addSp(int value)
     {
       if (!super.addSp(value)) return false;
       StatusUpdate su = new StatusUpdate(getActiveChar().getObjectId());
       su.addAttribute(13, getSp());
       getActiveChar().sendPacket(su);
       return true;
     }
     public final long getExpForLevel(int level) {
       return net.sf.l2j.gameserver.model.base.Experience.LEVEL[level];
     }
     public final L2PcInstance getActiveChar() {
       return (L2PcInstance)super.getActiveChar();
     }
     public final long getExp()
     {
       if (getActiveChar().isSubClassActive()) {
      return ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).getExp();
       }
       return super.getExp();
     }
     public final void setExp(long value)
     {
       if (getActiveChar().isSubClassActive())
      ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).setExp(value);
       else
      super.setExp(value);
     }
     public final byte getLevel()
     {
       if (getActiveChar().isSubClassActive()) {
      return ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).getLevel();
       }
       return super.getLevel();
     }
     public final void setLevel(byte value)
     {
       if (value > [color=#ff0000]99[/color]) {
      value = [color=#ff0000]99[/color];
       }
       if (getActiveChar().isSubClassActive())
      ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).setLevel(value);
       else
      super.setLevel(value);
     }
     public final int getMaxHp()
     {
       int val = super.getMaxHp();
       if (val != _oldMaxHp)
       {
      _oldMaxHp = val;
      if (getActiveChar().getStatus().getCurrentHp() != val) getActiveChar().getStatus().setCurrentHp(getActiveChar().getStatus().getCurrentHp());
       }
       return val;
     }
     public final int getMaxMp()
     {
       int val = super.getMaxMp();
       if (val != _oldMaxMp)
       {
      _oldMaxMp = val;
      if (getActiveChar().getStatus().getCurrentMp() != val) {
        getActiveChar().getStatus().setCurrentMp(getActiveChar().getStatus().getCurrentMp());
      }
       }
       return val;
     }
     public final int getSp()
     {
       if (getActiveChar().isSubClassActive()) {
      return ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).getSp();
       }
       return super.getSp();
     }
     public final void setSp(int value)
     {
       if (getActiveChar().isSubClassActive())
      ((SubClass)getActiveChar().getSubClasses().get(Integer.valueOf(getActiveChar().getClassIndex()))).setSp(value);
       else
      super.setSp(value);
     }
    }
    

     

    обращаем внимашку на красненькое в коде думаю разберетесь кому нужно


  3. Мануала полного нет нигде но могу запилить 99 лвл мак причина не в клиенте(патче) и не в clientpackets и иконки есть для 99 лвла один недочет полоса экспы отображается некоректно

    подсказка реализовано это на сборке lastworld.com в шаре лежала

×
×
  • Создать...