With the Experience-Script exp.js
it's possible to customize when a pet will level up. As you can see at the file ending, the used language is JavaScript.
- Download Rhino, rename the jar to
rhino.jar
and put the file into the MyPet folder. - Set
LevelSystem.CalculationMode
toJavaScript
int theconfig.yml
. - Edit the
exp.js
to your likings.
To make a fully functional exp-script that can be used by MyPet you have to implement the following method:
{% code title="exp.js" %}
function getExpByLevel(level, petType, worldGroup) {
var exp = 0;
return exp;
}
{% endcode %}
Examples:
{% tabs %} {% tab title="Pet Type" %} {% code title="exp.js" %}
function getExpByLevel(level, petType, worldGroup) {
var exp = 10;
if(petType == "Cow") {
exp = 15;
}
return exp;
}
{% endcode %} {% endtab %}
{% tab title="World Group" %} {% code title="exp.js" %}
function getExpByLevel(level, petType, worldGroup) {
var exp = 10;
if(worldGroup == "LuckyWorlds") {
exp = 20;
}
return exp;
}
{% endcode %} {% endtab %} {% endtabs %}
To provide an easy method to debug your scripts the plugin adds a print method to the usable JavaScript functions.
print("message");
{% code title="exp.js" %}
// Level 2-17 cost 17 XP points each
// Level 18-31 cost 3 more XP points than the previous
// Level 32-∞ cost 7 more XP points than the previous
function getExpByLevel(level, petType, worldGroup) {
var exp = 0, i;
if (level > 31) {
exp = 887;
level -= 31;
for (i = 1; i < level; i++) {
exp += 62 + (i * 7);
}
return exp;
}
if (level > 17) {
exp = 272;
level -= 17;
for (i = 1; i <= level; i++) {
exp += 17 + (i * 3);
}
return exp;
}
return (level - 1) * 17;
}
{% endcode %}