05-08-2015, 10:39 PM
Не работает(
Потеря после смерти
|
05-08-2015, 10:39 PM
Не работает(
05-08-2015, 11:17 PM
что именно не работает? что меняли? исходники чьи?
05-08-2015, 11:26 PM
Исходники acis , изменил в PlayableStat.java removeExp на ваш, ничего не дало.
Так же L2PcInstance.java в deathPenalty добавлял строчки Warencense, ничего не дало, кроме неуместных сообщений в чат.
05-08-2015, 11:54 PM
[Shoot];393868 Написал:Исходники acis , изменил в PlayableStat.java removeExp на ваш, ничего не дало. Добавлять? Я навел пример, как это реализовано в l2gw (первые попавшиеся сурсы). Тогда нужно смотреть deathPenalty cнизу вверх, начиная с добавлением отрицательного опыта (-1 * значение). Нашли вызов функции - перед нею ставим условие, дабы уровнять опыт, если это нужно (либо укладываемся вместо трех строк в одну, благодаря ? и : ).
05-09-2015, 01:31 PM
Цитата:Исходники acis , изменил в PlayableStat.java removeExp на ваш, ничего не дало. Исходников ацис нету, но можете написать в скайп за 20 минут попробую сделать вам через тв temptationdeveloper
05-09-2015, 01:44 PM
И не будет работать.
[SRC="java"] public boolean removeExp(long value) { if ((getExp() - value) < 0) value = getExp() - 1; setExp(getExp() - value); byte level = 0; for (level = 1; level <= Experience.MAX_LEVEL; level++) { if (getExp() >= getExpForLevel(level)) continue; level--; break; } if (level != getLevel()) addLevel((byte) (level - getLevel())); return true; }[/SRC] В этом коде перед вычитанием экспы нужно проверять, а не будет ли делевел. И если вычитаемая экспа больше чем порог, то уменьшить вычитаемую экспу до минимального уровня экспы для этого уровня. Так что вам здесь придётся немного переписать механику.
Родился, живу и когда-нибудь умру.
05-09-2015, 05:09 PM
Знай я, как воплотить ваши слова в код, этой темы и не было бы.
Я не добился того чего хотел, но приемлемое решение, для себя, найти смог.
05-09-2015, 05:12 PM
Чет подозрительно.. ТС про дебаг вообще знает?
05-09-2015, 07:23 PM
[Shoot];393928 Написал:Знай я, как воплотить ваши слова в код, этой темы и не было бы. Смысл очень прост. Например: каждый уровень начинается со следующего десятка (1 - 0, 2 - 10, 3 - 20 и т.д.). Далее нам нужно сравнить текущую экспу. Например она будет 13. Т.е. у нас 2 уровень. Теперь нам нужно узнать максимально допустимое значение для списания экспы без делевела. 13 - 10 = 3. Если величина списываемой экспы более допустимой, то величину приравниваем к допустимой. В итоге, когда максимальная величина будет равна нулю, то и списывать уже нечего будет. Как-то так.
Родился, живу и когда-нибудь умру.
05-10-2015, 02:00 AM
во многих сборках есть уже готовое в конфиге при потере опыта снижать лвл или нет
|
« Предыдущая | Следующая »
|