U3Games

Games | Desarrollo & Soporte => L2 | Sección de Servidores => Lineage => L2 | Apartado de Soporte => Mensaje iniciado por: lvchin en Oct 23, 2025, 03:07 PM

Título: Se transfiere el PK
Publicado por: lvchin en Oct 23, 2025, 03:07 PM
Buenas, tengo un problema con el karma y pk.

cuando un pj X mata a un pj que esta PK, se le transfiere el PK al pj X, lo cual no debería de pasar, alguno tendrá la solución ? utilizo el ultimo l2jserver máster, gracias.
Título: Re:Se transfiere el PK
Publicado por: Swarlog en Nov 05, 2025, 11:11 PM
Cita de: lvchinBuenas, tengo un problema con el karma y pk.

cuando un pj X mata a un pj que esta PK, se le transfiere el PK al pj X, lo cual no debería de pasar, alguno tendrá la solución ? utilizo el ultimo l2jserver máster, gracias.

Prueben este fix:

diff --git a/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java b/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
index f73ce49..e378894 100644
--- a/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
+++ b/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
@@ -5110,6 +5110,14 @@
     @Override
     public boolean doDie(L2Character killer)
     {
+        // Kill the L2PcInstance
+        if (!super.doDie(killer))
+        {
+            return false;
+        }
+       
+        setExpBeforeDeath(getExp());
+       
         if (killer != null)
         {
             final L2PcInstance pk = killer.getActingPlayer();
@@ -5127,7 +5135,7 @@
            
             broadcastStatusUpdate();
             // Clear resurrect xp calculation
-            setExpBeforeDeath(0);
+            // setExpBeforeDeath(0);
            
             // Issues drop of Cursed Weapon.
             if (isCursedWeaponEquipped())
@@ -5192,12 +5200,6 @@
                     }
                 }
             }
-        }
-       
-        // Kill the L2PcInstance
-        if (!super.doDie(killer))
-        {
-            return false;
         }
        
         if (isMounted())
@@ -5585,8 +5587,6 @@
         {
             lostExp /= 4.0;
         }
-       
-        setExpBeforeDeath(getExp());
        
         getStat().addExp(-lostExp);
     }