Anderson 36 Опубликовано 9 октября, 2012 (изменено) И так, нужно сделать скил - пассивный нубл. Но полазив и почитав не дошел до понимания. Как придумать такое чудо? Пока написал додумал что наверное при смерти где то есть проверка не висит ли нублес П.С. Или есть вариант, после смерти проверять мою переменную, если она не равна нулю тогда не удалять бафы, где это можно на рыть? Изменено 9 октября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 9 октября, 2012 (изменено) Ну вообще, нужно указывать сборку. На лыжеподобных - L2Character, метод doDie. Меняйте проверку по своему усмотрению (как вариант, на наличие скилла нубла у перса). Изменено 9 октября, 2012 пользователем †DeMoN†™ 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 Ну вообще, нужно указывать сборку. На лыжеподобных - L2Character, метод doDie. Меняйте проверку по своему усмотрению (как вариант, на наличие скилла нубла у перса). Сборка - силентиум public boolean doDie(L2Character killer) { // killing is only possible one time synchronized (this) { if (isDead()) { return false; } // now reset currentHp to zero setCurrentHp(0); setIsDead(true); } // Set target to null and cancel Attack or Cast setTarget(null); // Stop movement stopMove(null); // Stop Regeneration task, and removes all current effects getStatus().stopHpMpRegeneration(); stopAllEffectsExceptThoseThatLastThroughDeath(); calculateRewards(killer); // Send the Server->Client packet StatusUpdate with current HP and MP to all other // L2PcInstance to inform broadcastStatusUpdate(); // Notify L2Character AI if (hasAI()) { getAI().notifyEvent(CtrlEvent.EVT_DEAD, null); } if (getWorldRegion() != null) { getWorldRegion().onDeath(this); } getAttackByList().clear(); // If character is PhoenixBlessed a resurrection popup will show up if (this instanceof L2Summon) { if (((L2Summon) this).isPhoenixBlessed() && (((L2Summon) this).getOwner() != null)) { ((L2Summon) this).getOwner().reviveRequest(((L2Summon) this).getOwner(), null, true); } } else if (this instanceof L2PcInstance) { if (((L2Playable) this).isPhoenixBlessed()) { ((L2PcInstance) this).reviveRequest(((L2PcInstance) this), null, false); } else if (isAffected(CharEffectList.EFFECT_FLAG_CHARM_OF_COURAGE) && ((L2PcInstance) this).isInSiege()) { ((L2PcInstance) this).reviveRequest(((L2PcInstance) this), null, false); } } try { if (_fusionSkill != null) { abortCast(); } for (L2Character character : getKnownList().getKnownCharacters()) { if ((character.getFusionSkill() != null) && (character.getFusionSkill().getTarget() == this)) { character.abortCast(); } } } catch (Exception e) { _log.warn(e.getLocalizedMessage(), e); } return true; } Не нашел проверки на нубл Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 9 октября, 2012 класс L2Playable метод тотже, doDie. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 класс L2Playable метод тотже, doDie. Нашел, ща добавлю пассивный нублес, и дочужу сюда, спасибо огромное Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 (изменено) класс L2Playable метод тотже, doDie. Что то я туплю, как сделать проверку, есть ли пассивный скил(не ефект) у персонажа? П.С. player.isSkillDisabled(skill) ? Или брать весь список скилов чара, и циклом прогонять на наличие нужного? Но тогда задержка... Изменено 9 октября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 9 октября, 2012 (изменено) Что то я туплю, как сделать проверку, есть ли пассивный скил(не ефект) у персонажа? П.С. player.isSkillDisabled(skill) ? Или брать весь список скилов чара, и циклом прогонять на наличие нужного? Но тогда задержка... Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Изменено 9 октября, 2012 пользователем †DeMoN†™ 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Спасибо, я просто делаю систему противостояния двух рас, и при присоединении к одной из них нужно давать пассивный нубл. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Слуш еще такой вопрос, мне нужно что бы скилы не спадали с каким то шансом. Где можно достать формулу расчета шанса точки или что то в этом роде Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 Слуш еще такой вопрос, мне нужно что бы скилы не спадали с каким то шансом. Где можно достать формулу расчета шанса точки или что то в этом роде import silentium.commons.utils.Rnd; if (Rnd.get(100) < chance){} 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 import silentium.commons.utils.Rnd; if (Rnd.get(100) < chance){} Да спасибо, но неужели в расчете точке именно так? Не могу найти ф-и который отвечает за это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 Да спасибо, но неужели в расчете точке именно так? Не могу найти ф-и который отвечает за это silentium\gameserver\network\clientpackets\RequestEnchantItem.java строка 130 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 silentium\gameserver\network\clientpackets\RequestEnchantItem.java строка 130 Абалдеть, обычный рандом. А я то думал придумают что то по круче. Спасибо за помощь, лови спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 Абалдеть, обычный рандом. А я то думал придумают что то по круче. Спасибо за помощь, лови спасибо Ну они вносили правки в класс Rnd в ревизии 83, можете посмотреть различия с 82й ревой. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 10 октября, 2012 Автоматически сформированное сообщение Тема закрыта модератором. Причина: решено Если вы не согласны с закрытием темы, то можете обратиться к администратору. С наилучшими пожеланиями ForumMaxi - Сообщество администраторов онлайн игр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты