Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Потеря после смерти
#1
Подскажите, пожайлуста, как сделать, чтоб при 0.00% не сливался лвл после смерти.
Т.е если у нас 1.35%(а на этом лвле снимает по ~5%) то снимает 1.35% и ост. 0.00.

Как это работает сейчас
[Изображение: Shot00000J_6260123_17226899.jpg]
А нужно, чтоб ничего не забрало.
Ответ
#2
в конфиге delevel = true\false ?
Ответ
#3
delevel убирает полностью потерю exp, а мне нужно немножечко другое, потерю, но не слив уровня.
Ответ
#4
в исходе, в класе делевела, узнать можно по конфигах, добавь условие, если експе меньше 11/5 то оно его минусует до 00/0
Ответ
#5
Смотреть в сторону onDie персонажа. Ну а потом проверка на истинность decValue <= currExpPercent
Ответ
#6
вот что у меня есть, как из этого, сделать то что мне нужно?

Код:
        if (getLevel() >= 76)
        {
            percentLost = 2.0;
        }
        else if (getLevel() >= 40)
        {
            percentLost = 4.0;
        }

Warencense Написал:Смотреть в сторону onDie персонажа. Ну а потом проверка на истинность decValue <= currExpPercent

Я не нашел такого в исходниках.

nn03 Написал:в исходе, в класе делевела, узнать можно по конфигах, добавь условие, если експе меньше 11/5 то оно его минусует до 00/0

а если будет больше? такие варианты не подходят.
Ответ
#7
оффтоп
Ответ
#8
[Shoot];393829 Написал:вот что у меня есть, как из этого, сделать то что мне нужно?

Код:
        if (getLevel() >= 76)
        {
            percentLost = 2.0;
        }
        else if (getLevel() >= 40)
        {
            percentLost = 4.0;
        }

Я не нашел такого в исходниках.



а если будет больше? такие варианты не подходят.

percentLost - ищи использование этой переменной.
Ответ
#9
Код:
public boolean removeExp(long value)
    {
        if ((getExp() - value) < 0)
        {
            value = getExp() - 1;
        }
        
        setExp(getExp() - value);
        
        byte minimumLevel = 1;
        
        if (getActiveChar() instanceof L2PetInstance)
        {
            // get minimum level from L2NpcTemplate
            minimumLevel = (byte) PetDataTable.getInstance().getPetMinLevel(((L2PetInstance) getActiveChar()).getTemplate().getId());
        }
        
        byte level = minimumLevel;
        
        for (byte tmp = level; tmp <= getMaxLevel(); tmp++)
        {
            if (getExp() >= getExpForLevel(tmp))
            {
                continue;
            }
            level = --tmp;  // Вроде тут.
            break;
        }
        
        if ((level != getLevel()) && (level >= minimumLevel))
        {
            addLevel((byte) (level - getLevel()));
        }
        return true;
    }

Хз верно ли или нет но примерно вот такой метод вам нужен.

Какахами не стреляйте в меня я сам учусь, но продебажить все переменные куда что идет не смогу сейчас. Так что знать что где точно 100% не смогу, пробуйте)
Ответ
#10
В общем, нашел реализацию в первых попавшихся исходниках:
[src='java'] if(lostexp > getExp())
lostexp = getExp();
addExpAndSp(-1 * lostexp, 0);[/src]
это метод deathPenalty в L2Player/Player/L2PcInstance.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  После замены порта висит клиент TFH 3 1,375 03-27-2022, 06:45 AM
Последний пост: Nab
  Не пропадает опыт после смерти игрока Magican 1 1,195 04-07-2020, 06:41 PM
Последний пост: Magican
  Нет агра мобов после респа Kagaku 0 895 03-30-2020, 06:54 PM
Последний пост: Kagaku
  Удаляется скилл после рестарта перса ntking 2 1,632 09-10-2018, 04:47 PM
Последний пост: ntking
  Черный экран, звук есть, после выбора персонажа. Taurus2790 19 5,330 07-12-2016, 11:45 PM
Последний пост: L2scripts-Guard
  Не запускается сервер после переноса значений стат с более старой сборки project1994 4 1,563 07-10-2016, 01:05 PM
Последний пост: Emperor
  Потеря конекта с MySql flopix 3 1,320 02-23-2016, 12:30 AM
Последний пост: RedIst
  Клановое вх пустое после рестарта.. TFH 4 1,466 10-09-2015, 10:38 PM
Последний пост: Daan Raven
  перенос аукциона\осад после рестарта HiredKiller 4 1,542 09-05-2015, 08:42 AM
Последний пост: HiredKiller
  Не могу убрать хиро свечение после удаление статуса Dementor 14 4,211 05-20-2015, 06:40 PM
Последний пост: Dementor

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)