L2JMobius
Free Users => Solved/Invalid Bug Reports => Topic started by: kinghanker on May 18, 2022, 04:19:00 PM
-
I tested several tests and found specific situations where they cause this problem:
Irrelevant situations:
- Being alone or in a group
- Have a residence or not
- Have enchanted skills or not
- A Config Delevel = false
Situations in which the player does NOT go back the levels:
- The use of single-targeted weapons
- hunt 1 monster at a time
- Any situation where the player receives experience from multiple targets simultaneously. If alone using a spear when in a group where several players attack different targets and they die at the same time, if they die at a different time, the problem does not occur
(https://i.imgur.com/xY4WG6a.jpg)
-
PlayerInstance?
Try this.
Index: java/org/l2jmobius/gameserver/model/actor/Creature.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/Creature.java (revision 10205)
+++ java/org/l2jmobius/gameserver/model/actor/Creature.java (working copy)
@@ -4744,7 +4744,7 @@
* @param addToExp
* @param addToSp
*/
- public void addExpAndSp(double addToExp, double addToSp)
+ public synchronized void addExpAndSp(double addToExp, double addToSp)
{
// Dummy method (overridden by players and pets)
}
Index: java/org/l2jmobius/gameserver/model/actor/Player.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/Player.java (revision 10203)
+++ java/org/l2jmobius/gameserver/model/actor/Player.java (working copy)
@@ -10825,12 +10825,12 @@
}
@Override
- public void addExpAndSp(double addToExp, double addToSp)
+ public synchronized void addExpAndSp(double addToExp, double addToSp)
{
getStat().addExpAndSp(addToExp, addToSp, false);
}
- public void addExpAndSp(double addToExp, double addToSp, boolean useVitality)
+ public synchronized void addExpAndSp(double addToExp, double addToSp, boolean useVitality)
{
getStat().addExpAndSp(addToExp, addToSp, useVitality);
}
Index: java/org/l2jmobius/gameserver/model/actor/instance/Pet.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/instance/Pet.java (revision 10203)
+++ java/org/l2jmobius/gameserver/model/actor/instance/Pet.java (working copy)
@@ -1141,7 +1141,7 @@
}
@Override
- public void addExpAndSp(double addToExp, double addToSp)
+ public synchronized void addExpAndSp(double addToExp, double addToSp)
{
if (getId() == 12564)
{
-
PlayerInstance?
Yes, I'm using the rev from a year ago but I follow the updates that have fix, so I haven't synced the projects yet because of the tvt that the team preferred the old one.
There are few things that differ if you compare the codes.
I applied the changes, it's already in testing
-
So far there have been no problems
-
Fixed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/1e9b68c6d3f1fcd854b591dedce3ed4f35583cc8