2
0
Эх сурвалжийг харах

BETA: Fixed a bug where servitor item consume and life time task could be started multiple times if servitor owner teleports.

Reported by: Zephyr
Nos 11 жил өмнө
parent
commit
834ffd3eaf

+ 4 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java

@@ -83,7 +83,10 @@ public class L2ServitorInstance extends L2Summon implements Runnable
 	public void onSpawn()
 	{
 		super.onSpawn();
-		_summonLifeTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, 0, 5000);
+		if (_summonLifeTask == null)
+		{
+			_summonLifeTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, 0, 5000);
+		}
 	}
 	
 	@Override
@@ -181,7 +184,6 @@ public class L2ServitorInstance extends L2Summon implements Runnable
 		if (_summonLifeTask != null)
 		{
 			_summonLifeTask.cancel(false);
-			_summonLifeTask = null;
 		}
 		
 		CharSummonTable.getInstance().removeServitor(getOwner());
@@ -455,7 +457,6 @@ public class L2ServitorInstance extends L2Summon implements Runnable
 		if (_summonLifeTask != null)
 		{
 			_summonLifeTask.cancel(false);
-			_summonLifeTask = null;
 		}
 		
 		super.unSummon(owner);
@@ -525,7 +526,6 @@ public class L2ServitorInstance extends L2Summon implements Runnable
 			if (_summonLifeTask != null)
 			{
 				_summonLifeTask.cancel(false);
-				_summonLifeTask = null;
 			}
 			return;
 		}