Anderson 36 Опубликовано 9 октября, 2012 (изменено) И так, нужно сделать скил - пассивный нубл. Но полазив и почитав не дошел до понимания. Как придумать такое чудо? Пока написал додумал что наверное при смерти где то есть проверка не висит ли нублес П.С. Или есть вариант, после смерти проверять мою переменную, если она не равна нулю тогда не удалять бафы, где это можно на рыть? Изменено 9 октября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 9 октября, 2012 (изменено) Ну вообще, нужно указывать сборку. На лыжеподобных - L2Character, метод doDie. Меняйте проверку по своему усмотрению (как вариант, на наличие скилла нубла у перса). Изменено 9 октября, 2012 пользователем †DeMoN†™ 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 В 09.10.2012 в 14:59, †DeMoN†™ сказал: Ну вообще, нужно указывать сборку. На лыжеподобных - L2Character, метод doDie. Меняйте проверку по своему усмотрению (как вариант, на наличие скилла нубла у перса). Сборка - силентиум public boolean doDie(L2Character killer) (Показать контент) 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 В 09.10.2012 в 15:38, †DeMoN†™ сказал: класс L2Playable метод тотже, doDie. Нашел, ща добавлю пассивный нублес, и дочужу сюда, спасибо огромное Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 (изменено) В 09.10.2012 в 15:38, †DeMoN†™ сказал: класс L2Playable метод тотже, doDie. Что то я туплю, как сделать проверку, есть ли пассивный скил(не ефект) у персонажа? П.С. player.isSkillDisabled(skill) ? Или брать весь список скилов чара, и циклом прогонять на наличие нужного? Но тогда задержка... Изменено 9 октября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 9 октября, 2012 (изменено) В 09.10.2012 в 18:46, Anderson сказал: Что то я туплю, как сделать проверку, есть ли пассивный скил(не ефект) у персонажа? П.С. player.isSkillDisabled(skill) ? Или брать весь список скилов чара, и циклом прогонять на наличие нужного? Но тогда задержка... Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Изменено 9 октября, 2012 пользователем †DeMoN†™ 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 октября, 2012 В 09.10.2012 в 19:53, †DeMoN†™ сказал: Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Спасибо, я просто делаю систему противостояния двух рас, и при присоединении к одной из них нужно давать пассивный нубл. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 В 09.10.2012 в 19:53, †DeMoN†™ сказал: Не проще изменить проверку на то, нубл чар или нет. Если нубл -> есть пассивка. Насчет всех скиллов - зачем, если можно исхитряться существующими методами. Например getSkillLevel(int skillId). Возвращает -1, если скилла нету у персонажа. Слуш еще такой вопрос, мне нужно что бы скилы не спадали с каким то шансом. Где можно достать формулу расчета шанса точки или что то в этом роде Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 В 10.10.2012 в 18:49, Anderson сказал: Слуш еще такой вопрос, мне нужно что бы скилы не спадали с каким то шансом. Где можно достать формулу расчета шанса точки или что то в этом роде import silentium.commons.utils.Rnd; if (Rnd.get(100) < chance){} 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 В 10.10.2012 в 19:05, LeKToR сказал: import silentium.commons.utils.Rnd; if (Rnd.get(100) < chance){} Да спасибо, но неужели в расчете точке именно так? Не могу найти ф-и который отвечает за это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 В 10.10.2012 в 19:09, Anderson сказал: Да спасибо, но неужели в расчете точке именно так? Не могу найти ф-и который отвечает за это silentium\gameserver\network\clientpackets\RequestEnchantItem.java строка 130 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 10 октября, 2012 В 10.10.2012 в 19:11, LeKToR сказал: silentium\gameserver\network\clientpackets\RequestEnchantItem.java строка 130 Абалдеть, обычный рандом. А я то думал придумают что то по круче. Спасибо за помощь, лови спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xuser 122 Опубликовано 10 октября, 2012 В 10.10.2012 в 19:17, Anderson сказал: Абалдеть, обычный рандом. А я то думал придумают что то по круче. Спасибо за помощь, лови спасибо Ну они вносили правки в класс Rnd в ревизии 83, можете посмотреть различия с 82й ревой. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 10 октября, 2012 Автоматически сформированное сообщение Тема закрыта модератором. Причина: решено Если вы не согласны с закрытием темы, то можете обратиться к администратору. С наилучшими пожеланиями ForumMaxi - Сообщество администраторов онлайн игр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты