Ill update this every time I add stuff.
SendLoginScreen:
Code:
/**
* Sends the default login screen
* @return The action sender instance, for chaining.
*/
public ActionSender sendLoginScreen() {
PacketBuilder bldr = new PacketBuilder(176);
bldr.putByteC(201);//Recovery Days -200 for set, 201 for members on free?
bldr.putShortA(0);//Unread messages
bldr.put((byte) (player.isMembers() ? 0 : 0)); //member on free world?
String connection = player.getSession().getRemoteAddress().toString();
connection = connection.replaceAll("/", "");
int idx = connection.indexOf(':');
if (idx != -1) {
connection = connection.substring(0, idx);
}
String[] parts = connection.split("[.]");
bldr.putInt2((Integer.parseInt(parts[0]) << 24) + (Integer.parseInt(parts[1]) << 16) + (Integer.parseInt(parts[2]) << 8) + (Integer.parseInt(parts[3]))); //Ip
bldr.putShort(0);//Days since last login
player.getSession().write(bldr.toPacket());
return this;
}
Minimap Lock:
Code:
/**
* Sends the minimap lock/unlock/black
* @param status 0 = unlock, 1 = lock, 2 = black
* @return The action sender instance, for chaining.
*/
public ActionSender sendLockMinimap(int status) {
player.getSession().write(new PacketBuilder(99)
.put((byte) status).toPacket());
return this;
}
SendString:
Code:
/**
* Sends the string on an interface / change its value
* @param string the string to set
* @param interfaceId the interface/child combination
* @return The action sender instance, for chaining.
*/
public ActionSender sendString(String string, int interfaceId) {
player.getSession().write(new PacketBuilder(126, Type.VARIABLE_SHORT)
.putRS2String(string).putShortA(interfaceId).toPacket());
return this;
}
ItemPacketHandler:
Code:
package org.hyperion.rs2.packet;
import org.hyperion.rs2.model.Item;
import org.hyperion.rs2.model.Player;
import org.hyperion.rs2.net.Packet;
public class ItemPacketHandler implements PacketHandler {
private final int MOVE_ITEMS = 214;
@Override
public void handle(Player player, Packet packet) {
switch(packet.getOpcode()) {
case MOVE_ITEMS:
moveItems(player, packet);
break;
}
}
private final void moveItems(Player player, Packet packet) {
int interfaceId = packet.getLEShortA();
switch(interfaceId) {
case 3214:
/*
* Inventory
*/
packet.getByteC();//Junk
int itemFrom = packet.getLEShortA(), itemTo = packet.getLEShort();
if(itemFrom < 0 || itemFrom > 27 || itemTo < 0 || itemTo > 27) {
break;//Duping
}
Item from = player.getInventory().get(itemFrom), to = player.getInventory().get(itemTo);
if(from == null) {
break;//Duping
}
player.getInventory().set(itemFrom, to);
player.getInventory().set(itemTo, from);
break;
}
}
}
SkillInterface:
Code:
package org.hyperion.rs2.skill;
import org.hyperion.rs2.model.Player;
public interface Skill {
public boolean fire(Player player);
}
SkillManager:
Code:
package org.hyperion.rs2.skill;
public class SkillManager {
private static final SkillManager INSTANCE = new SkillManager();
public static SkillManager getInstance() {
return INSTANCE;
}
private SkillManager() {
}
}