L2JMobius

how to configure dynamic experience rates

BazookaRpm · 2 · 1365

Online BazookaRpm

  • Count
  • *****
    • Posts: 443
  • Lineage II - lover - Heirophant
Hello, good afternoon, here I will leave you a tip on how to modify and understand how the DynamicExpRates work related to the Server Rates, so that you can make your adjustments according to your needs.

Method 1

First of all, to be able to adjust the DynamicExpRates.

The specific path is located in the source of the data packet.
Path: git\master\L2J_Mobius_CT_0_Interlude\dist\game\config\DynamicExpRates.ini

Here we can see the table that manages the dynamic values ​​of EXP and SP.
If all levels are at exp="1" sp="1", it means that the Dynamic Exp Rates system is disabled or set to neutral.

Code: [Select]

<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../data/xsd/DynamicExpRates.xsd">
<dynamic level="1" exp="1" sp="1" />
<dynamic level="2" exp="1" sp="1" />
<dynamic level="3" exp="1" sp="1" />
<dynamic level="4" exp="1" sp="1" />
<dynamic level="5" exp="1" sp="1" />
<dynamic level="6" exp="1" sp="1" />
<dynamic level="7" exp="1" sp="1" />
<dynamic level="8" exp="1" sp="1" />
<dynamic level="9" exp="1" sp="1" />
<dynamic level="10" exp="1" sp="1" />
<dynamic level="11" exp="1" sp="1" />
<dynamic level="12" exp="1" sp="1" />
<dynamic level="13" exp="1" sp="1" />
<dynamic level="14" exp="1" sp="1" />
<dynamic level="15" exp="1" sp="1" />
<dynamic level="16" exp="1" sp="1" />
<dynamic level="17" exp="1" sp="1" />
<dynamic level="18" exp="1" sp="1" />
<dynamic level="19" exp="1" sp="1" />
<dynamic level="20" exp="1" sp="1" />
<dynamic level="21" exp="1" sp="1" />
<dynamic level="22" exp="1" sp="1" />
<dynamic level="23" exp="1" sp="1" />
<dynamic level="24" exp="1" sp="1" />
<dynamic level="25" exp="1" sp="1" />
<dynamic level="26" exp="1" sp="1" />
<dynamic level="27" exp="1" sp="1" />
<dynamic level="28" exp="1" sp="1" />
<dynamic level="29" exp="1" sp="1" />
<dynamic level="30" exp="1" sp="1" />
<dynamic level="31" exp="1" sp="1" />
<dynamic level="32" exp="1" sp="1" />
<dynamic level="33" exp="1" sp="1" />
<dynamic level="34" exp="1" sp="1" />
<dynamic level="35" exp="1" sp="1" />
<dynamic level="36" exp="1" sp="1" />
<dynamic level="37" exp="1" sp="1" />
<dynamic level="38" exp="1" sp="1" />
<dynamic level="39" exp="1" sp="1" />
<dynamic level="40" exp="1" sp="1" />
<dynamic level="41" exp="1" sp="1" />
<dynamic level="42" exp="1" sp="1" />
<dynamic level="43" exp="1" sp="1" />
<dynamic level="44" exp="1" sp="1" />
<dynamic level="45" exp="1" sp="1" />
<dynamic level="46" exp="1" sp="1" />
<dynamic level="47" exp="1" sp="1" />
<dynamic level="48" exp="1" sp="1" />
<dynamic level="49" exp="1" sp="1" />
<dynamic level="50" exp="1" sp="1" />
<dynamic level="51" exp="1" sp="1" />
<dynamic level="52" exp="1" sp="1" />
<dynamic level="53" exp="1" sp="1" />
<dynamic level="54" exp="1" sp="1" />
<dynamic level="55" exp="1" sp="1" />
<dynamic level="56" exp="1" sp="1" />
<dynamic level="57" exp="1" sp="1" />
<dynamic level="58" exp="1" sp="1" />
<dynamic level="59" exp="1" sp="1" />
<dynamic level="60" exp="1" sp="1" />
<dynamic level="61" exp="1" sp="1" />
<dynamic level="62" exp="1" sp="1" />
<dynamic level="63" exp="1" sp="1" />
<dynamic level="64" exp="1" sp="1" />
<dynamic level="65" exp="1" sp="1" />
<dynamic level="66" exp="1" sp="1" />
<dynamic level="67" exp="1" sp="1" />
<dynamic level="68" exp="1" sp="1" />
<dynamic level="69" exp="1" sp="1" />
<dynamic level="70" exp="1" sp="1" />
<dynamic level="71" exp="1" sp="1" />
<dynamic level="72" exp="1" sp="1" />
<dynamic level="73" exp="1" sp="1" />
<dynamic level="74" exp="1" sp="1" />
<dynamic level="75" exp="1" sp="1" />
<dynamic level="76" exp="1" sp="1" />
<dynamic level="77" exp="1" sp="1" />
<dynamic level="78" exp="1" sp="1" />
<dynamic level="79" exp="1" sp="1" />
<dynamic level="80" exp="1" sp="1" />
<dynamic level="81" exp="1" sp="1" />
</list>


Setting Rates.ini
This file defines the base multipliers for the entire server and affects all EXP and SP rewards.
Path: git\master\L2J_Mobius_CT_0_Interlude\dist\game\config\Rates.ini
Relevant values ​​in Rates.ini
Code: [Select]
RateXp = 1
RateSp = 1
RatePartyXp = 1
RatePartySp = 1

RateXp and RateSp set the global multipliers for EXP and SP.
RatePartyXp and RatePartySp affect EXP and SP when playing in a group.
Changing these values ​​will affect all experience gains, regardless of the character's level.

Relationship between DynamicExpRates.ini and Rates.ini

Final EXP=base EXP×RateXp(Rates.ini)×DynamicExpRates(according to level)

Practical example
Suppose a level 50 character kills a monster that gives 1000 base EXP and the server configuration is:

RateXp in Rates.ini = 2
DynamicExpRates for level 50 = 3
Then, the experience obtained will be: Then, the experience obtained will be: 1000×2×3= 6000 EXP

If the DynamicExpRates were at exp="1", the EXP obtained would be: 1000×2×1=2000 EXP


Method 2


Configuration Example in DynamicExpRates.xml

How does this setup work?
RateXp in Rates.ini = 1
This means that the server will use the base experience without any global modifications.
DynamicExpRates.xml with step values
By modifying exp at each level, you control how the experience gained varies as players level up.
Code: [Select]

<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../data/xsd/DynamicExpRates.xsd">
        <dynamic level="1" exp="1.5" sp="1.5" />
<dynamic level="2" exp="1" sp="1" />
<dynamic level="3" exp="1" sp="1" />
<dynamic level="4" exp="1" sp="1" />
<dynamic level="5" exp="1" sp="1" />
<dynamic level="6" exp="1" sp="1" />
<dynamic level="7" exp="1" sp="1" />
<dynamic level="8" exp="1" sp="1" />
<dynamic level="9" exp="1" sp="1" />
<dynamic level="10" exp="2.0" sp="2.0" />
<dynamic level="20" exp="2.5" sp="2.5" />
<dynamic level="30" exp="3.0" sp="3.0" />
<dynamic level="13" exp="1" sp="1" />
<dynamic level="14" exp="1" sp="1" />
<dynamic level="15" exp="1" sp="1" />
<dynamic level="16" exp="1" sp="1" />
<dynamic level="17" exp="1" sp="1" />
<dynamic level="18" exp="1" sp="1" />
<dynamic level="19" exp="1" sp="1" />
<dynamic level="20" exp="1" sp="1" />
<dynamic level="21" exp="1" sp="1" />
<dynamic level="22" exp="1" sp="1" />
<dynamic level="23" exp="1" sp="1" />
<dynamic level="24" exp="1" sp="1" />
<dynamic level="25" exp="1" sp="1" />
<dynamic level="26" exp="1" sp="1" />
<dynamic level="27" exp="1" sp="1" />
<dynamic level="28" exp="1" sp="1" />
<dynamic level="29" exp="1" sp="1" />
<dynamic level="30" exp="1" sp="1" />
<dynamic level="31" exp="1" sp="1" />
<dynamic level="32" exp="1" sp="1" />
<dynamic level="33" exp="1" sp="1" />
<dynamic level="34" exp="1" sp="1" />
<dynamic level="35" exp="1" sp="1" />
<dynamic level="36" exp="1" sp="1" />
<dynamic level="37" exp="1" sp="1" />
<dynamic level="38" exp="1" sp="1" />
<dynamic level="39" exp="1" sp="1" />
<dynamic level="40" exp="3.5" sp="3.5" />
<dynamic level="41" exp="1" sp="1" />
<dynamic level="42" exp="1" sp="1" />
<dynamic level="43" exp="1" sp="1" />
<dynamic level="44" exp="1" sp="1" />
<dynamic level="45" exp="1" sp="1" />
<dynamic level="46" exp="1" sp="1" />
<dynamic level="47" exp="1" sp="1" />
<dynamic level="48" exp="1" sp="1" />
<dynamic level="49" exp="1" sp="1" />
<dynamic level="50" exp="4.0" sp="4.0" />
<dynamic level="51" exp="1" sp="1" />
<dynamic level="52" exp="1" sp="1" />
<dynamic level="53" exp="1" sp="1" />
<dynamic level="54" exp="1" sp="1" />
<dynamic level="55" exp="1" sp="1" />
<dynamic level="56" exp="1" sp="1" />
<dynamic level="57" exp="1" sp="1" />
<dynamic level="58" exp="1" sp="1" />
<dynamic level="59" exp="1" sp="1" />
<dynamic level="60" exp="1" sp="1" />
<dynamic level="61" exp="1" sp="1" />
<dynamic level="62" exp="1" sp="1" />
<dynamic level="63" exp="1" sp="1" />
<dynamic level="64" exp="1" sp="1" />
<dynamic level="65" exp="1" sp="1" />
<dynamic level="66" exp="1" sp="1" />
<dynamic level="67" exp="1" sp="1" />
<dynamic level="68" exp="1" sp="1" />
<dynamic level="69" exp="1" sp="1" />
<dynamic level="70" exp="1" sp="1" />
<dynamic level="71" exp="1" sp="1" />
<dynamic level="72" exp="1" sp="1" />
<dynamic level="73" exp="1" sp="1" />
<dynamic level="74" exp="1" sp="1" />
<dynamic level="75" exp="1" sp="1" />
<dynamic level="76" exp="1" sp="1" />
<dynamic level="77" exp="1" sp="1" />
<dynamic level="78" exp="1" sp="1" />
<dynamic level="79" exp="1" sp="1" />
<dynamic level="80" exp="1" sp="1" />
<dynamic level="81" exp="1" sp="1" />
</list>

Here, the base experience is multiplied depending on the character's level.
A level 1 player will gain 50% more experience (exp="1.5").
A level 50 player will gain 4 times more experience (exp="4.0").
You must follow the correlation settings so that there are no empty level lines

This makes the experience obtained depend exclusively on the Dynamic Exp Rates system.

Important considerations
* Balance: It is important to test the values ​​to make sure that the game progression is neither too easy nor too difficult.
* Parties and EXP Bonuses: If the party experience system (RatePartyXp) is active, make sure that multipliers do not cause unexpected imbalances.
* Vitality System: If enabled, verifies that values ​​are not overmultiplied when combined with RateVitalityLevelX in Rates.ini.


If there is any error or something that should be modified, feel free to correct me in my error, I am just trying to contribute within the little knowledge that I have, thank you

Atte Bazooka
Atte BazooKa.RPM

Lineage II Lovers


Online vmazai

  • Vassal
  • *
    • Posts: 1
Good afternoon, man.

Sorry if I sound completely clueless, but I’ve tried everything already and it feels like nothing I change in the dynamic rates .xml actually affects the game.

Maybe I’m screwing something up?