adam1 23 Опубликовано 16 апреля, 2013 Добрых времён суток)) видел мануал по созданию 100 лвл в интрлюде решил попробывать)) код запилил в ядро скомпилирывал сервер запустил) в игре прописую 99 лвл сп даёт как на 99 а клиент отображает 80-100% как можно настроить клиент что б было видно 99 лвл?? зборка Silentium 10,клиент стандартный интерлюд... Подскажите может я что то не доделал просто? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
k0ss11 302 Опубликовано 16 апреля, 2013 как вариант-поищи сервера,в которых такое еализовано и выдери птч. 2 ищи в clientpackets Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jol 13 Опубликовано 16 апреля, 2013 А почему только 100? Давай 101, такого ещё не у кого нет!!! Надо больше лвл-а !!!!!!! :acute: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
jman4ik 103 Опубликовано 16 апреля, 2013 Там не полный мануал там еще нужно коварять PcStat.java или ет подобное Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 16 апреля, 2013 реализыцыи такой не видел(( к сожелению а на шёт clientpackets по подробней что оно такое? как вариант-поищи сервера,в которых такое еализовано и выдери птч. 2 ищи в clientpackets реализыцыи не встречал ешё(а на шёт clientpackets подробней можно (ШО ВОНО ТАКЕ?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neomaster 114 Опубликовано 16 апреля, 2013 непойму зачем такое))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 16 апреля, 2013 Там не полный мануал там еще нужно коварять PcStat.java или ет подобное О_О может ты припомниш как ето зделать? или как полный мануал найти (ты с етим уже сталкивался видать) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 16 апреля, 2013 А почему только 100? Давай 101, такого ещё не у кого нет!!! Надо больше лвл-а !!!!!!! :acute: фантазии на столько лвл не хватит придумывать всево интересного( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
k0ss11 302 Опубликовано 16 апреля, 2013 и нету кстати иконок для 99лвла Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Brawn 22 Опубликовано 16 апреля, 2013 СДЕЛАЙ МАКС УРОВЕНЬ 1К Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
jman4ik 103 Опубликовано 16 апреля, 2013 (изменено) Мануала полного нет нигде но могу запилить 99 лвл мак причина не в клиенте(патче) и не в clientpackets и иконки есть для 99 лвла один недочет полоса экспы отображается некоректно подсказка реализовано это на сборке lastworld.com в шаре лежала Изменено 16 апреля, 2013 пользователем jman4ik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 16 апреля, 2013 Мануала полного нет нигде но могу запилить 99 лвл мак причина не в клиенте(патче) и не в clientpackets и иконки есть для 99 лвла один недочет полоса экспы отображается некоректно подсказка реализовано это на сборке lastworld.com в шаре лежала искал но не нашол( то ссылка битая то по описанию не подходит...пц как немного точней плиз))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
jman4ik 103 Опубликовано 16 апреля, 2013 Сборка то хоть какая? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
jman4ik 103 Опубликовано 16 апреля, 2013 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); } } обращаем внимашку на красненькое в коде думаю разберетесь кому нужно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты