Перейти к содержанию
Авторизация  
adam1

100 Lvl В Интерлюде

Рекомендуемые сообщения

Добрых времён суток))

видел мануал по созданию 100 лвл в интрлюде

решил попробывать))

код запилил в ядро скомпилирывал сервер запустил)

в игре прописую 99 лвл сп даёт как на 99 а клиент отображает 80-100%

как можно настроить клиент что б было видно 99 лвл??

зборка Silentium 10,клиент стандартный интерлюд...

Подскажите может я что то не доделал просто?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как вариант-поищи сервера,в которых такое еализовано и выдери птч.

2 ищи в clientpackets

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему только 100? Давай 101, такого ещё не у кого нет!!! Надо больше лвл-а !!!!!!! :acute: :acute:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там не полный мануал там еще нужно коварять PcStat.java или ет подобное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

реализыцыи такой не видел(( к сожелению

а на шёт clientpackets по подробней что оно такое?

 

как вариант-поищи сервера,в которых такое еализовано и выдери птч.

2 ищи в clientpackets

реализыцыи не встречал ешё(

а на шёт clientpackets подробней можно (ШО ВОНО ТАКЕ?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там не полный мануал там еще нужно коварять PcStat.java или ет подобное

О_О может ты припомниш как ето зделать? или как полный мануал найти (ты с етим уже сталкивался видать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему только 100? Давай 101, такого ещё не у кого нет!!! Надо больше лвл-а !!!!!!! :acute: :acute:

фантазии на столько лвл не хватит придумывать всево интересного(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

СДЕЛАЙ МАКС УРОВЕНЬ 1К

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Изменено пользователем jman4ik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

искал но не нашол( то ссылка битая то по описанию не подходит...

пц как немного точней плиз)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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);
 }
}

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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