Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
штраф на кач в пати по лвлу
#1
Подскажите, как можно выключить штраф на кач в пати? (вроде бы в нынешних сборках ИЛа это цифра около 10 лвлов, не меньше).

Например, что бы человек 80 лвла, мог качать 1 лвл. но что бы экспа шла нормально и разумно, по отношению к 1 лвлу.

Спасяб заранее.
[Изображение: ck.gif]
Ответ
#2
Оффтоп
Ответ
#3
Не знаю как в ИЛ но в High Five надо смотреть Party.java

Было бы неплохо узнать что за сборка, предполагаю что Фрозен?
Ответ
#4
Цитата:предполагаю что Фрозен?
да, фрозен.
[Изображение: ck.gif]
Ответ
#5
up. проблема все еще не решена.
[Изображение: ck.gif]
Ответ
#6
Есть 2 типа штрафа.
Тебе нужно, чтобы сервер считал, что в пати 2 одинаковых уровня и делил экспу 50 на 50. Иначе же будет ограничение на эксп. Т.е. с 1 и того же моба будет идти 20к 30 уровню и 100к 70
Ответ
#7
Цитата:Есть 2 типа штрафа.
Тебе нужно, чтобы сервер считал, что в пати 2 одинаковых уровня и делил экспу 50 на 50. Иначе же будет ограничение на эксп. Т.е. с 1 и того же моба будет идти 20к 30 уровню и 100к 70
я не думаю, что при каче с разницой в 10 лвлов (минимально), опыт идет 50\50.
определенно существует какой-то просчет...

интересно конечно рассмотреть оба варианта, и вообще понять где копать..
[Изображение: ck.gif]
Ответ
#8
mego4el, я тут порылся в сборке овера (авторы надеюсь не против) ибо ничего другого у меня нет. Сначала вбил в поиск Party. Нашлось Party.java.
Внутри сделал поиск по exp. Вот что нашлось:
Код:
public void distributeXpAndSp(double xpReward, double spReward, List<Player> rewardedMembers, Creature lastAttacker, MonsterInstance monster)
    {
        recalculatePartyData();

        List<Player> mtr = new ArrayList<Player>();
        int partyLevel = lastAttacker.getLevel();
        int partyLvlSum = 0;

        // считаем минимальный/максимальный уровень
        for(Player member : rewardedMembers)
        {
            if(!monster.isInRangeZ(member, Config.ALT_PARTY_DISTRIBUTION_RANGE))
                continue;
            partyLevel = Math.max(partyLevel, member.getLevel());
        }

        // составляем список игроков, удовлетворяющих требованиям
        for(Player member : rewardedMembers)
        {
            if(!monster.isInRangeZ(member, Config.ALT_PARTY_DISTRIBUTION_RANGE))
                continue;
            if(member.getLevel() <= partyLevel - 15)
                continue;
            partyLvlSum += member.getLevel();
            mtr.add(member);
        }

        if(mtr.isEmpty())
            return;

        // бонус за пати
        double bonus = Config.ALT_PARTY_BONUS[mtr.size() - 1];

        // количество эксп и сп для раздачи на всех
        double XP = xpReward * bonus;
        double SP = spReward * bonus;

        for(Player member : mtr)
        {
            [B]double lvlPenalty = Experience.penaltyModifier(monster.calculateLevelDiffForDrop(member.getLevel()), 9);
            int lvlDiff = partyLevel - member.getLevel();
            if(lvlDiff >= 10 && lvlDiff <= 14)[/B]
                lvlPenalty *= 0.3D;

            // отдаем его часть с учетом пенальти
            double memberXp = XP * lvlPenalty * member.getLevel() / partyLvlSum;
            double memberSp = SP * lvlPenalty * member.getLevel() / partyLvlSum;

            // больше чем соло не дадут
            memberXp = Math.min(memberXp, xpReward);
            memberSp = Math.min(memberSp, spReward);

            member.addExpAndCheckBonus(monster, (long) memberXp, (long) memberSp, memberXp / xpReward);
        }

        recalculatePartyData();
    }

Добавлено через 48 секунд
Правда Age: 15. Но дерзай, я думаю сможешь найти.
Ответ
#9
А вы не учитывали того что, с больших мобов на которых будет качать 80 лвл игрока с 1 лвл, по идее опыт игроку 1 лвл вообще давать не должно Smile Не зависимо будет ли снят штраф группы на передаваемый опыт или нет Smile Помоему еще играя на C4 (на офф GOD эта система еще в действии) за убийство красного моба на много превышающего мой уровень мне давали дулю, а не EXP :ck:
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Награда по пати L2J 7 2,362 07-23-2014, 08:02 PM
Последний пост: kingzor
  Отключение нужды в пати\клане enderec 1 1,300 10-25-2013, 11:50 AM
Последний пост: Gaikotsu

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


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