I use mithril kitesield on bank this is what happens
console prints out this:
Code:
[1/7/15 11:47 PM]: Send packet: 192 12
[1/7/15 11:47 PM]: Item on object: 256
hers the class
Code:
package org.rs2server.entity.players.packets;
import org.rs2server.entity.items.UseItem;
import org.rs2server.entity.players.Client;
import org.rs2server.entity.players.PacketType;
import org.rs2server.entity.players.skills.Cooking;
public class ItemOnObject implements PacketType {
@Override
public void processPacket(Client c, int packetType, int packetSize) {
//int a = c.getInStream().readUnsignedWord();
//int b = c.getInStream().readUnsignedWord();
int objectId = c.getInStream().readSignedWordBigEndian();
int objectY = c.getInStream().readSignedWordBigEndianA();
int objectX = c.getInStream().readSignedWordBigEndianA();
int itemId = c.getInStream().readUnsignedWord();
System.out.println("Item on object: " + itemId);
if (!c.getItems().playerHasItem(itemId, 1)) {
return;
}
UseItem.ItemonObject(c, objectId, objectX, objectY, itemId);
switch (objectId) {
case 12269:
case 2732:
case 3039:
case 114:
case 2728:
Cooking.cookThisFood(c, itemId, objectId);
break;
}
}
}
i have tried to set up the readUnsignedWord. here is the servers:
Code:
public int readUnsignedWord() {
currentOffset += 2;
return ((buffer[currentOffset - 2] & 0xff) << 8) + (buffer[currentOffset - 1] & 0xff);
}
and here is the clients
Code:
public int readUnsignedWord() {
try {
currentOffset += 2;
return ((buffer[currentOffset - 2] & 0xff) << 8)
+ (buffer[currentOffset - 1] & 0xff);
} catch (Exception e) {
return -1;
}
}
Any idea's why it's returning the wrong itemId?