L2JDP Revision Number:7279
hello, here is a prob with seven sign npc:

its same code for alls cabal npc...
Code: Select all
Index: java/com/l2jserver/gameserver/model/AutoSpawnHandler.java===================================================================--- java/com/l2jserver/gameserver/model/AutoSpawnHandler.java (revision 4223)+++ java/com/l2jserver/gameserver/model/AutoSpawnHandler.java (working copy)@@ -73,16 +73,13 @@ private static final int DEFAULT_RESPAWN = 3600000; // 1 hour in millisecs private static final int DEFAULT_DESPAWN = 3600000; // 1 hour in millisecs - protected Map<Integer, AutoSpawnInstance> _registeredSpawns;- protected Map<Integer, ScheduledFuture<?>> _runningSpawns;+ protected Map<Integer, AutoSpawnInstance> _registeredSpawns = new FastMap<Integer, AutoSpawnInstance>();+ protected Map<Integer, ScheduledFuture<?>> _runningSpawns = new FastMap<Integer, ScheduledFuture<?>>(); protected boolean _activeState = true; private AutoSpawnHandler() {- _registeredSpawns = new FastMap<Integer, AutoSpawnInstance>();- _runningSpawns = new FastMap<Integer, ScheduledFuture<?>>();- restoreSpawnData(); } @@ -98,12 +95,6 @@ public void reload() {- // stop all timers- for (ScheduledFuture<?> sf : _runningSpawns.values())- {- if (sf != null)- sf.cancel(true);- } // unregister all registered spawns for (AutoSpawnInstance asi : _registeredSpawns.values()) {@@ -111,10 +102,17 @@ this.removeSpawn(asi); } - // create clean list- _registeredSpawns = new FastMap<Integer, AutoSpawnInstance>();- _runningSpawns = new FastMap<Integer, ScheduledFuture<?>>();+ // stop all timers+ for (ScheduledFuture<?> sf : _runningSpawns.values())+ {+ if (sf != null)+ sf.cancel(true);+ } + // clean list+ _registeredSpawns.clear();+ _runningSpawns.clear();+ // load restoreSpawnData(); }@@ -256,7 +254,8 @@ // Cancel the currently associated running scheduled task. ScheduledFuture<?> respawnTask = _runningSpawns.remove(spawnInst._objectId);- respawnTask.cancel(false);+ if (respawnTask != null)+ respawnTask.cancel(false); if (Config.DEBUG) _log.info("AutoSpawnHandler: Removed auto spawn for NPC ID " + spawnInst._npcId + " (Object ID = " + spawnInst._objectId
Code: Select all
Feb 26, 2011 11:22:53 PM com.l2jserver.gameserver.model.AutoSpawnHandler$AutoDespawner runWARNING: AutoSpawnHandler: An error occurred while despawning spawn (Object ID = 268482332): 0java.lang.ArrayIndexOutOfBoundsException: 0 at javolution.util.FastCollection.toArray(FastCollection.java:383) at com.l2jserver.gameserver.model.AutoSpawnHandler$AutoSpawnInstance.getNPCInstanceList(AutoSpawnHandler.java:706) at com.l2jserver.gameserver.model.AutoSpawnHandler$AutoDespawner.run(AutoSpawnHandler.java:587) at com.l2jserver.gameserver.ThreadPoolManager$RunnableWrapper.run(ThreadPoolManager.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636)
Code: Select all
Feb 26, 2011 11:23:04 PM com.l2jserver.gameserver.model.AutoSpawnHandler$AutoDespawner runWARNING: AutoSpawnHandler: An error occurred while despawning spawn (Object ID = 268482332): nulljava.lang.ArrayIndexOutOfBoundsException