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; }