rendered paste body
package com.rscd.npchandler;
import com.rscd.DelayedEventHandler;
import com.rscd.event.ShortEvent;
import com.rscd.model.*;
import com.rscd.net.ActionSender;
import com.rscd.packetbuilder.StaticPacketBuilder;
import com.rscd.util.DataConversions;
import org.apache.mina.common.IoSession;
// Referenced classes of package com.rscd.npchandler:
// NpcHandler
public class ChangeApp
implements NpcHandler
{
public ChangeApp()
{
world = World.getWorld();
}
public void handleNpc(final Npc affectedNpc, final Player player)
{
String access = "I would like to change my apperance please";
SayMessage(access, player);
player.setBusy(true);
world.getDelayedEventHandler().add(new ShortEvent(player) {
public void action()
{
world.getDelayedEventHandler().add(new ShortEvent(player) {
public void action()
{
player.setChangingAppearance(true);
player.getActionSender().sendAppearanceScreen();
player.setState(MobState.BANKING);
affectedNpc.setState(MobState.IDLE);
}
});
}
});
return;
}
public void SayNpcMessage(String msg, Npc reqNpc, Player plr)
{
int length = DataConversions.stringToByteArray(msg);
StaticPacketBuilder s = new StaticPacketBuilder();
s.setID(190);
s.addShort(1);
s.addShort(reqNpc.getIndex());
s.addByte((byte)1);
s.addShort(plr.getIndex());
s.addByte((byte)length);
s.addBytes(DataConversions.messageData);
plr.getSession().write(s.toPacket());
}
public void SayMessage(String access, Player plr)
{
int length = DataConversions.stringToByteArray(access);
StaticPacketBuilder s = new StaticPacketBuilder();
s.setID(53);
s.addShort(1);
s.addShort(plr.getIndex());
s.addByte((byte)1);
s.addByte((byte)length);
s.addBytes(DataConversions.messageData);
plr.getSession().write(s.toPacket());
}
public World world;
}