В каких из сборок (mobius, pw, asic), есть возможность тонких настроек опыта в группах и штрафов?
Например что бы можно было как то так указать Получение опыта в группе
1 игрок - 1.0 бонус
2 игрока - 1.1 бонус Штафы
разница в опыте между игроком и мобами +10 уровней
штаф на экспу -50%
штаф на дроп -50%
штаф на урон по мобам -50%
Ну, а по остальному не скажу... Слишком непонятно как хотите чтоб это было.
Условно на офе раньше если расстояние между игроками было очень большое - то на убийцу не накладывались никакие штрафы от группы, а эффекты от мафр-ов действовали (потом это пофиксили ибо покупку мафров сделали одноразовыми)
Senny написал(а):
– Следующие эффекты от Рун Мафр "шанс получения трофеев", "шанс присвоения трофеев" и "количество получаемых аден" теперь не действуют на членов группы, которые находятся на расстоянии 1000 и более от убитого монстра/босса.
Вроде и так режится: org.l2jmobius.gameserver.model.Party
Java:
private double calculateExpSpPartyCutoff(Player player, int topLvl, double addExpValue, double addSpValue, boolean vit)
{
double addExp = addExpValue * Config.EXP_AMOUNT_MULTIPLIERS[player.getClassId().getId()];
double addSp = addSpValue * Config.SP_AMOUNT_MULTIPLIERS[player.getClassId().getId()];
// Premium rates
if (player.hasPremiumStatus())
{
addExp *= Config.PREMIUM_RATE_XP;
addSp *= Config.PREMIUM_RATE_SP;
}
double xp = addExp;
double sp = addSp;
if (Config.PARTY_XP_CUTOFF_METHOD.equalsIgnoreCase("highfive"))
{
int i = 0;
final int levelDiff = topLvl - player.getLevel();
for (int[] gap : Config.PARTY_XP_CUTOFF_GAPS)
{
if ((levelDiff >= gap[0]) && (levelDiff <= gap[1]))
{
xp = (addExp * Config.PARTY_XP_CUTOFF_GAP_PERCENTS[i]) / 100;
sp = (addSp * Config.PARTY_XP_CUTOFF_GAP_PERCENTS[i]) / 100;
player.addExpAndSp(xp, sp, vit);
break;
}
i++;
}
}
else
{
player.addExpAndSp(addExp, addSp, vit);
}
return xp;
}
Ну, а по поводу резки шанса - только по последнему нанесенному (убивцу) идет расчет дропа.
Ну и по "резки" урона - тут тоже сложно, это считать нужно каждый удар и тд )
Ну, а так - все возмоно при наличии исходника - если у вас есть несколько шекелей
В каких из сборок (mobius, pw, asic), есть возможность тонких настроек опыта в группах и штрафов?
Например что бы можно было как то так указать Получение опыта в группе
1 игрок - 1.0 бонус
2 игрока - 1.1 бонус Штафы
разница в опыте между игроком и мобами +10 уровней
штаф на экспу -50%
штаф на дроп -50%
штаф на урон по мобам -50%
а зачем занижаешь бонус от пати?
по первому пункту бонуса в пати - это в датапаке сервера поискать, может есть табличка с коэффициентами патибонуса. или как и второй пункт - все в методе выдачи опыта в ядре, просто ручками поправить и скомпилить с изменениями. Там есть уже подобные ропверки, просто значения и дельту уровней вставить свои.
Я не углублялся в сборку, в конфигах по мимо рейтов в в пати, можно еще редактировать систему получения exp, sp в пати, вот с конфига скопировал: # ПАРТИЙНОЕ РАСПРЕДЕЛЕНИЕ XP
# С "автоматическим методом" участник исключается из распределения Exp / SP, когда его доля меньше, чем полученный для него бонус группы (30% для группы из 2 участников).
# В этом случае он не получит никакого опыта / SP от группы и не засчитывается для бонуса группы.
# Если вы не хотите иметь точку отсечки для распределения опыта членов группы, установите для первого параметра значение «нет».
# Доступные параметры: авто, уровень, процент, нет
# По умолчанию: уровень
PartyXpCutoffMethod = level
# Эта опция вступает в силу при выборе "процентного" метода. Не используйте для этого высокие значения!
# По умолчанию: 3.0
PartyXpCutoffPercent = 3.0
# Эта опция вступает в силу, когда выбран метод "level". Не используйте для этого низкие значения!
# По умолчанию: 20
PartyXpCutoffLevel = 20
# Диапазон пати, используемый для таких проверок, как квест, распределение предметов и т.д. (По умолчанию 1500).
PartyRange = 1500