Thread: Packets for RS377d

Results 1 to 2 of 2
  1. #1 Packets for RS377d 
    Banned

    Join Date
    Oct 2008
    Age
    30
    Posts
    306
    Thanks given
    13
    Thanks received
    36
    Rep Power
    0
    Well, last night I was pretty bored so I figured I'd work a bit on RS377d, here are some of the packets I found.

    Code:
    	public ActionSender sendMessage(String msg)
    	{
    		player.getSession().write(new Rs2PacketBuilder(63, Type.VARIABLE).putRs2String(msg).toPacket());
    		return this;
    	}
    
    	public ActionSender sendLogout()
    	{
    		player.getSession().write(new Rs2PacketBuilder(5).toPacket());
    		return this;
    		
    	}
    	
    	public ActionSender sendSkill(int skill) 
    	{
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(49);
    		packet.putByteC(skill);
    		packet.put((byte) player.getSkills().getLevel(skill));
    		packet.putInt((int) player.getSkills().getExperience(skill));
    		player.getSession().write(packet.toPacket());
    		return this;
    
    	}
    	
    	public ActionSender sendChatBoxInterface(int interfaceId) 
    	{
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(109);
    		packet.putShort(interfaceId);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendInterface(int interfaceId) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(159);
    		packet.putLEShortA(interfaceId);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendEnterAmountInterface(int interfaceId) {
    		player.getSession().write(new Rs2PacketBuilder(58).toPacket());
    		return this;
    	}
    	
    	public ActionSender sendEnterNameInterface() {
    		player.getSession().write(new Rs2PacketBuilder(6).toPacket());
    		return this;
    	}
    	
    	public ActionSender sendSystemUpdate(int countdown) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(190);
    		packet.putLEShort(countdown);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender flashSideBarIcon(int tab) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(238);
    		packet.put((byte) tab);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendString(int childId, String string) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(232, Type.VARIABLE_SHORT);
    		packet.putLEShortA(childId);
    		packet.putRs2String(string);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    
    	public ActionSender sendTextColor(int childId, int blue, int green, int red) {
    		  Rs2PacketBuilder packet = new Rs2PacketBuilder(218);
    		  packet.putShort((blue) << 0 | (green) << 5 | (red) << 10);   
    		  packet.putShortA(childId);
    		  player.getSession().write(packet.toPacket());
    		  return this;
    		}
    	
    	public ActionSender sendCloseInterfaces() {
    		player.getSession().write(new Rs2PacketBuilder(29).toPacket());
    		return this;
    	}
    	
    	public ActionSender sendPlayerOption(int slot, String string, int priority){
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(157, Type.VARIABLE);
    		packet.putByteC((byte) slot);
    		packet.putRs2String(string);
    		packet.put((byte) priority);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    
    	public ActionSender sendWeight(int weight) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(174);
    		packet.putSmart(weight);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendRunEnergy() {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(125);
    		packet.put((byte) 100);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendInterfaceModel(int childId, int zoom, int itemId) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(21);
    		packet.putShort(childId);
    		packet.putShort(zoom);
    		packet.putLEShort(itemId);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendFriendServer(int status) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(251);
    		packet.put((byte) status);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendConfig(int id, int value) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(182);
    		packet.putShortA(id);
    		packet.putByteS((byte) value);
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendUpdateItems(int interfaceId, Item[] items) {
    		Rs2PacketBuilder packet = new Rs2PacketBuilder(206, Type.VARIABLE_SHORT);
    		packet.putShort(interfaceId);
    		packet.putShort(items.length);
    		for(Item item : items) {
    			if(item != null) {
    				int count = item.getCount();
    				if(count > 254) {
    					packet.putByteC((byte) 255);
    					packet.putInt2(count);
    				} else {
    					packet.putByteC((byte) count);
    				}
    				packet.putLEShortA(item.getId() + 1);
    			} else {
    				packet.putByteC((byte) 0);
    				packet.putLEShortA(0);
    			}
    		}
    		player.getSession().write(packet.toPacket());
    		return this;
    	}
    	
    	public ActionSender sendHintIcon(int targetType, int targetId, int arrowId,
    			int x, int y) {
    		Rs2PacketBuilder spb = new Rs2PacketBuilder(199);
    		spb.put((byte) targetType);
    		if (targetType == 1) {
    			spb.putShort(targetId);
    			spb.put((byte) arrowId);
    		} else if (targetType == 10) {
    			spb.putShort(targetId);
    			spb.put((byte) arrowId);
    		} else {
    			spb.putShort(x);
    			spb.putShort(y);
    			spb.put((byte) arrowId);
    		}
    		player.getSession().write(spb.toPacket());
    		return this;
    	}
    
    	public ActionSender sendPlayerHints(int playerIndex) {
    		Rs2PacketBuilder spb = new Rs2PacketBuilder(199);
    		spb.put((byte) 10);// 10 for Player's.
    		spb.putShort(playerIndex);
    		spb.putShort(0);
    		spb.put((byte) 0);
    		player.getSession().write(spb.toPacket());
    		return this;
    	}
    
    	public ActionSender sendNPCHints(int npcIndex) {
    		Rs2PacketBuilder spb = new Rs2PacketBuilder(199);
    		spb.put((byte) 1);// 1 for NPC's.
    		spb.putShort(npcIndex);
    		spb.putShort(0);
    		spb.put((byte) 0);
    		player.getSession().write(spb.toPacket());
    		return this;
    	}
    
    	public ActionSender sendObjectHints(int x, int y, int height) {
    		Rs2PacketBuilder spb = new Rs2PacketBuilder(199);
    		spb.put((byte) 2);// 2 for well yeah some specific coordinates.
    		spb.putShort(x);
    		spb.putShort(y);
    		spb.put((byte) height);
    		player.getSession().write(spb.toPacket());
    		return this;
    	}
    ButtonHandler
    Code:
    package org.rs377d.net.event.impl;
    
    import org.apache.mina.core.session.IoSession;
    import org.rs377d.model.player.Player;
    import org.rs377d.model.util.InterfaceDefinition;
    import org.rs377d.net.Rs2Packet;
    import org.rs377d.net.event.EventListener;
    import org.rs377d.net.event.EventListenerChain;
    
    public class ButtonEventListener implements EventListener {
    
    	@Override
    	public void handle(IoSession session, Rs2Packet packet,
    			EventListenerChain chain) throws Exception {
    		final Player player = (Player) session.getAttribute("player");
    		final int button = packet.getShort();
    		final int interfaceId = InterfaceDefinition.getParentId(button);
    		System.out.println("Clicked button: " + button + " on interface: "
    				+ interfaceId);
    		if (player.getInterfaceState().isInterfaceAccessable(interfaceId)) {
    			switch (interfaceId) {
    			case 2449:
    				switch (button) {
    				case 2458:
    					player.getActionSender().sendLogout();
    					break;
    				}
    			}
    		}
    		System.out.println("Clicked button: " + button + " on interface: "
    				+ interfaceId);
    	}
    }
    CommandHandler

    Code:
    package org.rs377d.net.event.impl;
    
    import org.apache.mina.core.session.IoSession;
    import org.rs377d.model.World;
    import org.rs377d.model.npc.Npc;
    import org.rs377d.model.player.Player;
    import org.rs377d.model.util.Container;
    import org.rs377d.model.util.Item;
    import org.rs377d.model.util.Container.Type;
    import org.rs377d.net.Rs2Packet;
    import org.rs377d.net.event.EventListener;
    import org.rs377d.net.event.EventListenerChain;
    import org.rs377d.net.util.ActionSender;
    
    
    public class CommandEventListener implements EventListener {
    
    	@Override
    	public void handle(IoSession session, Rs2Packet packet, EventListenerChain chain) throws Exception {
    		final Player player = (Player) session.getAttribute("player");
    		final String command = packet.getRs2String().toLowerCase();
    		try {
    			final String[] arguments = command.split(" ");
    			if (arguments[0].equals("cbinterface")) {
    				int interfaceId = Integer.valueOf(arguments[1]);
    				player.getActionSender().sendChatBoxInterface(interfaceId);
    			} else if (arguments[0].equals("interface")) {
    				int interfaceId = Integer.valueOf(arguments[1]);
    				player.getActionSender().sendInterface(interfaceId);
    			} else if (arguments[0].equals("amount")) {
    				int interfaceId = Integer.valueOf(arguments[1]);
    				player.getActionSender().sendEnterAmountInterface(interfaceId);
    			} else if (arguments[0].equals("name")) {
    				player.getActionSender().sendEnterNameInterface();
    			} else if (arguments[0].equals("systemupdate")) {
    				int countdown = Integer.valueOf(arguments[1]);
    				player.getActionSender().sendSystemUpdate(countdown);
    			} else if (arguments[0].equals("flashtab")) {
    				int tab = Integer.valueOf(arguments[1]);
    				player.getActionSender().flashSideBarIcon(tab);
    			} else if (arguments[0].equals("sendstring")) {
    				player.getActionSender().sendString(Integer.valueOf(arguments[1]), 
    						arguments[2]);
    			} else if (arguments[0].equals("closeinterfaces")) {
    				player.getActionSender().sendCloseInterfaces();
    			} else if (arguments[0].equals("coords")) {
    				player.getActionSender().sendMessage("X:" + player.getPosition().getX() + " Y:" + player.getPosition().getY() + " Z:" + player.getPosition().getZ() );
    			}  else if (arguments[0].equals("item")) {
    				try {
    					int id = Integer.valueOf(arguments[1]);
    					int amount = 1;
    					if (arguments.length > 2) {
    						amount = Integer.valueOf(arguments[2]);
    					}
    					if (player.getInventory().add(new Item(id, amount))) {
    						player.getActionSender().sendInventory();
    					} else {
    						player
    								.getActionSender()
    								.sendMessage(
    										"You don't have enough space in your inventory.");
    					}
    				} catch (final Exception ex) {
    					player.getActionSender().sendMessage(
    							"Wrong syntax. Usage: item [id] [amount]");
    					ex.printStackTrace();
    				}
    			}
    		} catch (final Exception ex) {
    			player.getActionSender().sendMessage(
    					"Error handling command: " + command);
    			ex.printStackTrace();
    		}
    	}
    }
    Reply With Quote  
     


  2. #2  
    Banned

    Join Date
    Dec 2008
    Posts
    2,097
    Thanks given
    1,419
    Thanks received
    732
    Rep Power
    0
    Thanks, this saves me lots of time
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. rs377d
    By blakeman8192 in forum Projects
    Replies: 239
    Last Post: 01-10-2012, 11:27 AM
  2. rs377d to 317
    By Cjay00091 in forum Requests
    Replies: 8
    Last Post: 05-11-2011, 02:20 AM
  3. rs377d packets
    By cornflakes_ in forum Snippets
    Replies: 0
    Last Post: 06-21-2010, 07:55 PM
  4. rs377d v1.0
    By blakeman8192 in forum Downloads
    Replies: 26
    Last Post: 04-24-2010, 07:52 PM
  5. Understanding Packets and Unhandled Packets
    By Vastiko in forum Tutorials
    Replies: 10
    Last Post: 09-27-2008, 06:46 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •