Well spamming this section is stupid lol, i just put everything in one thread =]
Item On NPCs
[SPOIL]Packet index: 130
Code:
Class96.aClass30_Sub25_Sub1_1566.createFrame(130, 124);
Class96.aClass30_Sub25_Sub1_1566.writeWord(i_14_,
-26655);
Class96.aClass30_Sub25_Sub1_1566
.writeLEShortA(i ^ 0x5d, Class15.anInt325);
Class96.aClass30_Sub25_Sub1_1566
.writeLEShort(true, Class144.anInt2518);
Class96.aClass30_Sub25_Sub1_1566
.writeLEInt(Class30_Sub9_Sub16.anInt4402, 122);
Code:
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int i1 = packet.readShort();
int i2 = packet.readLEShortA();
int i3 = packet.readLEShort();
int i4 = packet.readLEInt();
System.out.println("Item on NPC: i1 = " + i1);
System.out.println("Item on NPC: i2 = " + i2);
System.out.println("Item on NPC: i3 = " + i3);
System.out.println("Item on NPC: i4 = " + i4);
}
[/SPOIL]
Unequipping
[SPOIL]Packet ID: 103
Code:
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int itemId = packet.readLEShortA();
int junk = packet.readLEInt();
int slot = packet.readLEShortA();
System.out.println(itemId);
System.out.println(junk);
System.out.println(slot);
}
ClientSide:
Code:
if ((i_13_ ^ 0xffffffff) <= -2001)
i_13_ -= 2000;
if ((i_13_ ^ 0xffffffff) == -11) {
Class96.aClass30_Sub25_Sub1_1566.createFrame(103, 97);
Class97.anInt1595++;
Class96.aClass30_Sub25_Sub1_1566.writeLEShortA(65, i_14_);
Class96.aClass30_Sub25_Sub1_1566.writeLEInt(i_15_, 22);
Class96.aClass30_Sub25_Sub1_1566.writeLEShortA(111, i_12_);
Class136.anInt2413 = 0;
Class75.aClass103_1328
= Class30_Sub9_Sub39.method782(-102, i_15_);
Class30_Sub9_Sub1.anInt4163 = i_12_;
}
[/SPOIL]
Chat packet
[SPOIL]Packet 24: Size: -1.
Code:
Class96.aClass30_Sub25_Sub1_1566.createFrame(24,93);
Class96.aClass30_Sub25_Sub1_1566.writeByte(0,(byte) -64);
int i_131_ = Class96.aClass30_Sub25_Sub1_1566.caret;
Class96.aClass30_Sub25_Sub1_1566.writeByte(i_129_,(byte) -64);
Class96.aClass30_Sub25_Sub1_1566.writeByte(i_130_,(byte) -64);
Class30_Sub6_Sub6.method427(class29,Class96.aClass30_Sub25_Sub1_1566,118);
Class96.aClass30_Sub25_Sub1_1566.writeFrameSize(252,Class96.aClass30_Sub25_Sub1_1566.caret+ -i_131_);
The client side structure, you can see from the 508 the f***t 2 bytes are changed, and 1 new byte is added.
server side structure would be like
Code:
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int chatColour = packet.readByte(); // Colour; EG: red = 1. =P
int unknown = packet.readByte(); // IDK what this is, junk i think lol =P
int textLength = packet.readByte(); // Length of your message.
String chatText = Misc.decryptPlayerChat(packet, textLength); // Decrypted chat
}
Now forcechat and your done. =]
[/SPOIL]
Item Examine
[SPOIL]
Code:
Class96.aClass30_Sub25_Sub1_1566.createFrame(205, 99);
Class96.aClass30_Sub25_Sub1_1566.writeShortA(i_14_, -23132);
Class30_Sub6_Sub4.anInt3869++;
Code:
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int id = packet.readShortA() - 128;
System.out.println(id);
}
Idk why the client stream is wrong lols. but whatever.[/SPOIL]
WearItem
[SPOIL]Wearitem; packet 70.
Clientside code (refactored by me)
Code:
if ((i_13_ ^ 0xffffffff) == -7) {
Class96.aClass30_Sub25_Sub1_1566.createFrame(70, 98);
Class30_Sub6_Sub16.anInt4082++;
Class96.aClass30_Sub25_Sub1_1566.writeInt2(i_15_, i ^ 0x59);
Class96.aClass30_Sub25_Sub1_1566.writeLEShort(true, i_12_);
Class96.aClass30_Sub25_Sub1_1566.writeLEShort(true, i_14_);
Class136.anInt2413 = 0;
Class75.aClass103_1328
= Class30_Sub9_Sub39.method782(-126, i_15_);
Class30_Sub9_Sub1.anInt4163 = i_12_;
}
server side:
Code:
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int unknown = packet.readInt2();
int slot = packet.readLEShort();
int itemID = packet.readLEShort();
System.out.println("unkown: = " + unknown + " slot: = " + slot + " item: = " + itemID);
}
[/SPOIL]
Drop Item
[SPOIL]Packet 171:
Code:
package com.rs2hd.packethandler;
import org.apache.mina.common.IoSession;
import com.rs2hd.model.Player;
import com.rs2hd.net.Packet;
public class DropItemPacketHandler implements PacketHandler{
@Override
public void handlePacket(Player player, IoSession session, Packet packet) {
int unknown1 = packet.readLEInt();
int slot = packet.readLEShortA();
int itemID = packet.readLEShort();
System.out.println("Unkown 1 = " + unknown1);
System.out.println("Slot = " + slot);
System.out.println("ITEM ID: = " + itemID);
}
}
Clientside code;
Code:
if (i_13_ == 41)
Class132.method1828(-8);
if ((i_13_ ^ 0xffffffff) == -58) {
Class96.aClass30_Sub25_Sub1_1566.createFrame(171, 115);
Class8.anInt235++;
Class96.aClass30_Sub25_Sub1_1566.writeLEInt(i_15_, 125);
Class96.aClass30_Sub25_Sub1_1566.writeLEShortA(118, i_12_);
Class96.aClass30_Sub25_Sub1_1566.writeLEShort(true,
i_14_);
Class136.anInt2413 = 0;
Class75.aClass103_1328
= Class30_Sub9_Sub39.method782(-126, i_15_);
Class30_Sub9_Sub1.anInt4163 = i_12_;
}
[/SPOIL]