So the other day, I added this to my server:
http://www.rune-server.org/runescape...combat-pi.html

Everything on it works fine, except when I do a special attack against an NPC that I spawn (such as using ::npc 1, or spawned via code like the fight caves monsters). When that happens, I get this error:

Code:
[10/29/12 4:09 PM]: java.lang.ArrayIndexOutOfBoundsException: 1158
[10/29/12 4:09 PM]: 	at server.model.players.combat.melee.MeleeSpecial.activateSpecial(MeleeSpecial.java:88)
[10/29/12 4:09 PM]: 	at server.model.players.CombatAssistant.activateSpecial(CombatAssistant.java:247)
[10/29/12 4:09 PM]: 	at server.model.players.combat.AttackNPC.attackNpc(AttackNPC.java:543)
[10/29/12 4:09 PM]: 	at server.model.players.CombatAssistant.attackNpc(CombatAssistant.java:99)
[10/29/12 4:09 PM]: 	at server.model.players.packets.ClickNPC.processPacket(ClickNPC.java:110)
[10/29/12 4:09 PM]: 	at server.model.players.PacketHandler.processPacket(PacketHandler.java:138)
[10/29/12 4:09 PM]: 	at server.model.players.Client.processQueuedPackets(Client.java:728)
[10/29/12 4:09 PM]: 	at server.model.players.PlayerHandler.process(PlayerHandler.java:136)
[10/29/12 4:09 PM]: 	at server.Server$1.execute(Server.java:237)
[10/29/12 4:09 PM]: 	at server.event.Task.tick(Task.java:103)
[10/29/12 4:09 PM]: 	at server.event.TaskScheduler.run(TaskScheduler.java:98)
[10/29/12 4:09 PM]: 	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[10/29/12 4:09 PM]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[10/29/12 4:09 PM]: 	at java.lang.Thread.run(Unknown Source)
If the NPC is spawned via the CFG file, it works 100% fine, but if not it doesn't...

Other useful code:
if(NPCHandler.npcs[i] == null && c.npcIndex > 0) {
return;
}
if(PlayerHandler.players[i] == null && c.playerIndex > 0) { (line 88 of MeeleSpecial.java)
return;
}
Thanks! I've been trying to get this working and it's really frustrating me...