Resolved Штраф по опыту вверх и вниз classic

damka

Heir
Customer
Доброго времени суток уважаемые знатоки!
Рейт сервера на опыт х0.1 , Classic


Я что то явно не так понимаю в этих конфигах...
Выставил такой конфиг :
Code:
# Лимит разницы уровня игрока и моба для получения Exs/Sp
# По умолчанию 0
ExpSpMaxDiffLimit = 8
# Разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов
ExpSpThresholdLevelDiff = 4
# Максимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMax = 11
# Минимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMin = 4

Проблема : персонаж 5 уровня убивает моба 12 уровня (7 лвлов разницы) - штраф не работает. Получаю опыт по рейту х0.1 , прописано 436 , получаю 43. А должен быть штраф в 27%

Когда персонаж 5 уровня убивает моба 13 лвла(8 лвлов разницы) - получаю опыт со штрафом. Прописано 653 , получаю только 27. Тут вроде штраф сработал

Почему так ?
ExpSpThresholdLevelDiff = должен по идее назначать минимальный разрыв лвлов,после которого начинает штрафовать ,за каждый лвл разрыва выше этого значения - 9% штраф(где то дизер писал) , в моем случае - после 4 лвлов разрыва. Тобиш на 7 лвлов разницы должен был быть штраф 27 % .

В случае моба 13 лвла должен был быть штраф 36% , и где то так оно и сняло..

Може кто то прояснить ,чего я не могу понять? совсем не понимаю,и много тем перерыл , если где то есть овтет на этот вопрос на форуме - дайте ссылку,спасибо заранее!
 
Last edited:
Скрины :
1 скрин експа с 12 лвла моба , 2-ой - с 13-ого лвла моба 1754986800146.webp1754986899870.webp
 
Так там для красных мобов которые выше лвла чара штраф конфиг отдельный есть. Потому что на ит нету такого штрафа на разницу лвлов вверх.
Дестры с 60 фог фармят без штрафов)))
 
Last edited:
Так там для красных мобов верхний штраф конфиг отдельный есть
Этот конф что ты делаешь для ит штрафа, он только вниз смотрит, ниже лвл моба чем чара
 
Этот конф что ты делаешь для ит штрафа, он только вниз смотрит, ниже лвл моба чем чара
# Штраф дропа для красных мобов (На официальном сервере штрафов нет)
# - Когда уровень моба на DeepRedDropMaxDiff больше, чем уровень игрока, шанс дропа разделился на 3
DeepRedDropMaxDiff = 8
DeepRedDropRaidMaxDiff = 8


Этот ты имеешь ввиду ?)

Разве он не только на дроп , а и на дроп , и на експу ?

А тот конфиг , который я настраивал и показывал в этой теме,это исключительно вниз штраф по лвлу ?

АПД : если опыт на експу для красных это этот конфиг , то как тут тогда конфигурировать размер штрафа ? Будет фиксировано делится на 3 после разрыва лвлов размером в DeepRedDropMaxDiff ?
 
Last edited:
Разве он не только на дроп , а и на дроп , и на експу ?
Сори, долбился в глаза) про дроп да. ) не про это подумал, читал эксп думал про дроп:eek::D
 
Сори, долбился в глаза) про дроп да. ) не про это подумал, читал эксп думал про дроп:eek::D
на самом то деле хотелось бы штраф на опыт вверх , вниз вроде работает нормально я протестил , а вот вверх кншн беда...я сейчас буду еще тестить ,мб что то выйдет , я сколько помню,вообще все эти штуки были еще зашиты где то в ядре.... но не хочу туда сильно лазить ,его декомпилировать сначала,потом подопрописывать,там пздц будет :D ладно отпишу по апдейту
 
@Rosylik Апдейт :
Code:
# Лимит разницы уровня игрока и моба для получения Exs/Sp
# По умолчанию 0
ExpSpMaxDiffLimit = 7
# Разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов
ExpSpThresholdLevelDiff = 1
# Максимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMax = 11
# Минимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMin = 4


ExpSpMaxDiffLimit = 7 - 7 уровней вверх и вниз включительно для получение експы. 5 лвл получает експу с 12 лвл моба , 4 лвл - нет .

ExpSpThresholdLevelDiff = 1 - работает только вниз , увы но с красных мобов чар получает полный опыт


Но все же возможно , кто то реализовал ,или есть где то и кто то подскажет куда копатся , что бы сделать вычитку штрафа вверх ,условно,еслли моб старше тебя на 2 лвла - получаешь штраф в 9% , на 3 - 18 % , и т.д. т.д.

Да и вообще так же вроде всегда было ? Если моб желтый , и постепенно краснеет , режется експа с него , или я не прав ?
 
Да и вообще так же вроде всегда было ? Если моб желтый , и постепенно краснеет , режется експа с него , или я не прав ?
На интерлюде нет, но можно попросить @Deazer что бы сделал)
 
На интерлюде нет, но можно попросить @Deazer что бы сделал)
у меня классика) завтыкал указать в теме ,ща отредактирую((


дизер от меня там за пистолет хватается иногда я его стараюсь не дергать)) человек важный все таки

Апд : буду делать от имеющегося пока что в любом случае)
 
@Deazer увы , проведя тесты по штрафу на мобов вниз,глаза чуть не выпали. Рейт х0.1 , может это влияет,или кроме конфига other.properties есть другие конфиги на штрафы с мобов ? Вообщем . Моб 433 експы имеет , по рейту 0.1 должен получить чар 43 експы,и тут все прекрасно если лвл чара == лвл моба , в моем случае 12==12

Мой конфиг на сейчас :
Code:
# Если True, штраф для глубоко синих мобов будет применяться:
# - Когда уровень игрока на 9 больше, чем уровень мобов, шанс дропа разделился на 3
# - После 9 уровней разницы между игроком и глубоким синим мобов, шанс будет 9 уровней diff = -9%; 10 уровней diff = -18%; ...)
#   Эти правила применяются как к обычному дропу, так и к спойлу
UseDeepBlueDropRules = True
DeepBlueDropMaxDiff = 8
# Для рейдов применяется эта же формула, но уже с 3го уровня
DeepBlueDropRaidMaxDiff = 2
# Штраф дропа для красных мобов (На официальном сервере штрафов нет)
# - Когда уровень моба на DeepRedDropMaxDiff больше, чем уровень игрока, шанс дропа разделился на 3
DeepRedDropMaxDiff = 8
DeepRedDropRaidMaxDiff = 8

# Лимит разницы уровня игрока и моба для получения Exs/Sp
# По умолчанию 0
ExpSpMaxDiffLimit = 7
# Разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов
ExpSpThresholdLevelDiff = 1
# Максимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMax = 11
# Минимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMin = 4

Я хочу наложить запрет кача на красных и синих мобах. На красных нельзя хрен бы с ними , хотя бы синие.

Как я выше описал ситуацию с одинаковыми лвлами , продолжу тем ,что с вышеупомянутым конфигом , на 13 лвле с моба 14 лвла я получаю все тех же 43 експы. Но допустим значения надо считать с +1 , ок .


На 14 лвле я с моба получаю 76 опыта. У меня вот тут глаза и выпали. Тоесть моб меньше меня по лвлу , и точно вылезает за ExpSpThresholdLevelDiff , но опыта....дает в 2 раза больше.

На 15 лвле я получил 63 опыта...
На 16 лвле я получил 56 опыта...

И так далее ,пока опять не дошел до 43.

Можешь объяснить с чем это связано ,и как я могу это исправить ? Помню где то в ядре эти константы тоже прописаны,я пойду туда пороюсь кншн , но лучше все таки дай ты ответ пожалуйста , как это должно в адеквате быть настроено , что бы за каждых 2 лвла вниз,и желательно вверх,накладывался штраф на опыт ,спасибо большое заранее!!!!!!
Скриншоты ниже



1755006912590.webp

1755006762990.webp1755006812181.webp1755006853076.webp
 
1755009094195.webp

\server.jar\l2\gameserver\Config.class , есть такая чудесная строчка , но она загружает даные из конфига,а если нет таких указывает дефолт,тут дефолт значение и указано,я хз :с
 
На интерлюде нет, но можно попросить @Deazer что бы сделал)
можешь глянуть еще раз мой конфиг пж ?)) и я отстану от тебя точно :D может сталкивался я хз.......
 
Я сумел побороть эту печальную проблему .
Конфиг на даный момент :
Code:
# Если True, штраф для глубоко синих мобов будет применяться:
# - Когда уровень игрока на 9 больше, чем уровень мобов, шанс дропа разделился на 3
# - После 9 уровней разницы между игроком и глубоким синим мобов, шанс будет 9 уровней diff = -9%; 10 уровней diff = -18%; ...)
#   Эти правила применяются как к обычному дропу, так и к спойлу
UseDeepBlueDropRules = True
DeepBlueDropMaxDiff = 8
# Для рейдов применяется эта же формула, но уже с 3го уровня
DeepBlueDropRaidMaxDiff = 2
# Штраф дропа для красных мобов (На официальном сервере штрафов нет)
# - Когда уровень моба на DeepRedDropMaxDiff больше, чем уровень игрока, шанс дропа разделился на 3
DeepRedDropMaxDiff = 9
DeepRedDropRaidMaxDiff = 9

# Лимит разницы уровня игрока и моба для получения Exs/Sp
# По умолчанию 0
ExpSpMaxDiffLimit = 8
# Разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов
ExpSpThresholdLevelDiff = 3
# Максимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMax = 11
# Минимальная разница уровней, после которой будет штраф при получении Exp/Sp при убийстве мобов в пати
ExpSpPartyPenaltyLevelMin = 4

Все дело оказалось в том что ExpSpThresholdLevelDiff крайне нежелательно ставить ниже 3 ,ибо судя по всему формула начинает не правильно считатся. Я заюзал GrokAI ,в ходе мыслей он где то обрыл 1 из 100 страниц люцеры где об этом говорилось. Ищу попой как обычно....
Итого при даном конфиге и рейте штрафы работают коректно на синих мобов по опыту , на красных - только лимит получения опыта,как и на синих.

тему закрываю всем спасибо за внимание!
 
I want to impose a ban on pumping on red and blue mobs. On red ones it is forbidden, screw them, at least blue ones.

As I described the situation with the same levels above, I will continue by saying that with the above-mentioned config, at level 13 from a level 14 mob I get the same 43 exp. But let's say the values should be calculated from +1, ok.


At level 14 I get 76 exp from a mob. That's where my eyes fell out. That is, the mob is lower in level than me, and definitely goes beyond ExpSpThresholdLevelDiff, but exp...gives 2 times more.

At level 15 I got 63 experience...
At level 16 I got 56 experience...

And so on, until I reached 43 again.

Can you explain what this is connected with, and how can I fix it? I remember somewhere in the kernel these constants are also written, I'll go there and dig around in the knshn, but it's better if you give me an answer please, how it should be adequately configured, so that for every 2 levels down, and preferably up, a penalty on experience is imposed, thank you very much in advance!!!!!!

this is really happening yes.
if you low ExpSpThresholdLevelDiff bellow 5 then miracles start to happen. you get BONUS exp instead of PENALTY on XP :D :D :D
 
this is really happening yes.
if you low ExpSpThresholdLevelDiff bellow 5 then miracles start to happen. you get BONUS exp instead of PENALTY on XP
im use ExpSpThresholdLevelDiff = 3 , all works okay , but if i use ExpSpThresholdLevelDiff = 2 - have bonus exp :D
 
Back
Top