- Joined
- Apr 25, 2010
- Messages
- 479
- Reaction score
- 49
My trade system was not working , I made some changes and it worked . But always when I confirm the trade is with 1 or 2 player I get this error. More does not affect anything in return, it just appears that message. I think my PacketReader is correct too.
PlayerInteractionHandler.java:353
PacketReader.java:54
PacketReader.java:46
Code:
java.lang.ArrayIndexOutOfBoundsException: 4
at handling.mina.PacketReader.readDatatype(PacketReader.java:46)
at handling.mina.PacketReader.readShort(PacketReader.java:54)
at handling.channel.handler.PlayerInteractionHandler.PlayerInteraction(PlayerInteractionHandler.java:353)
at handling.MapleServerHandler.handlePacket(MapleServerHandler.java:546)
at handling.MapleServerHandler.messageReceived(MapleServerHandler.java:190)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Unknown Source)
PlayerInteractionHandler.java:353
Code:
short bundles = slea.readShort();
PacketReader.java:54
Code:
public short readShort() {
return (short)readDatatype(2);
}
PacketReader.java:46
Code:
private int readDatatype(int count) {
int ret = message[index++] & 0xFF;
for (int i = 1; i <= count - 1; i++) {
ret += ((message[index++] & 0xFF) << 8*i);
}
return ret;
}