Examples of RSCPacketBuilder


Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Sends a system update message
   */
  public void startShutdown(int seconds) {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(172);
    s.addShort((int) (((double) seconds / 32D) * 50));
    packets.add(s.toPacket());
  }
 
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Updates the id and amount of an item in the bank
   */
  public void updateBankItem(int slot, int newId, int amount) {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(139);
    s.addByte((byte) slot);
    s.addShort(newId);
    s.addInt(amount);
    packets.add(s.toPacket());
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

        + chatMessagesNeedingDisplayed.size()
        + playersNeedingHitsUpdate.size()
        + projectilesNeedingDisplayed.size()
        + playersNeedingAppearanceUpdate.size();
    if (updateSize > 0) {
      RSCPacketBuilder updates = new RSCPacketBuilder();
      updates.setID(53);
      updates.addShort(updateSize);
      for (Bubble b : bubblesNeedingDisplayed) { // 0 - Draws item over
        // players head
        updates.addShort(b.getOwner().getIndex());
        updates.addByte((byte) 0);
        updates.addShort(b.getID());
      }
      for (ChatMessage cm : chatMessagesNeedingDisplayed) { // 1/6 -
        // Player
        // talking
        updates.addShort(cm.getSender().getIndex());
        updates.addByte((byte) (cm.getRecipient() == null ? 1 : 6));
        // Logging.debug(cm.getRecipient() == null);
        updates.addByte((byte) cm.getLength());
        updates.addBytes(cm.getMessage());
      }
      for (Player p : playersNeedingHitsUpdate) { // 2 - Hitpoints update
        // for players, draws
        // health bar etc too
        updates.addShort(p.getIndex());
        updates.addByte((byte) 2);
        updates.addByte((byte) p.getLastDamage());
        updates.addByte((byte) p.getCurStat(3));
        updates.addByte((byte) p.getMaxStat(3));
      }
      for (Projectile p : projectilesNeedingDisplayed) { // 3/4 - Draws a
        // projectile
        Entity victim = p.getVictim();
        if (victim instanceof Npc) {
          updates.addShort(p.getCaster().getIndex());
          updates.addByte((byte) 3);
          updates.addShort(p.getType());
          updates.addShort(((Npc) victim).getIndex());
        } else if (victim instanceof Player) {
          updates.addShort(p.getCaster().getIndex());
          updates.addByte((byte) 4);
          updates.addShort(p.getType());
          updates.addShort(((Player) victim).getIndex());
        }
      }
      for (Player p : playersNeedingAppearanceUpdate) { // 5 - Updates
        // players
        // appearance,
        // clothes,
        // skull, combat
        // etc.
        PlayerAppearance appearance = p.getPlayerAppearance();
        updates.addShort(p.getIndex());
        updates.addByte((byte) 5);
        updates.addShort(p.getAppearanceID());
        updates.addLong(p.getUsernameHash());
        updates.addByte((byte) p.getWornItems().length);
        for (int i : p.getWornItems()) {
          updates.addByte((byte) i);
        }
        updates.addByte(appearance.getHairColour());
        updates.addByte(appearance.getTopColour());
        updates.addByte(appearance.getTrouserColour());
        updates.addByte(appearance.getSkinColour());
        updates.addByte((byte) p.getCombatLevel());
        updates.addByte((byte) (p.isSkulled() ? 1 : 0));
        updates.addByte((byte) (p.isAdmin() ? 3 : (p.isMod() ? 2 : (p
            .isPMod() ? 1 : 0))));
      }
      return updates.toPacket();
    }
    return null;
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

    StatefulEntityCollection<Npc> watchedNpcs = playerToUpdate
        .getWatchedNpcs();
    Collection<Npc> newNpcs = watchedNpcs.getNewEntities();
    Collection<Npc> knownNpcs = watchedNpcs.getKnownEntities();

    RSCPacketBuilder packet = new RSCPacketBuilder();
    packet.setID(77);
    packet.addBits(knownNpcs.size(), 8);
    for (Npc n : knownNpcs) {
      packet.addBits(n.getIndex(), 16);
      if (watchedNpcs.isRemoving(n)) {
        packet.addBits(1, 1);
        packet.addBits(1, 1);
        packet.addBits(12, 4);
      } else if (n.hasMoved()) {
        packet.addBits(1, 1);
        packet.addBits(0, 1);
        packet.addBits(n.getSprite(), 3);
      } else if (n.spriteChanged()) {
        packet.addBits(1, 1);
        packet.addBits(1, 1);
        packet.addBits(n.getSprite(), 4);
      } else {
        packet.addBits(0, 1);
      }
    }
    for (Npc n : newNpcs) {
      byte[] offsets = DataConversions.getMobPositionOffsets(
          n.getLocation(), playerToUpdate.getLocation());
      packet.addBits(n.getIndex(), 16);
      packet.addBits(offsets[0], 5);
      packet.addBits(offsets[1], 5);
      packet.addBits(n.getSprite(), 4);
      packet.addBits(n.getID(), 10);
    }
    return packet.toPacket();
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

    int updateSize = npcMessagesNeedingDisplayed.size()
        + npcsNeedingHitsUpdate.size();
    if (updateSize > 0) {
      try {
        RSCPacketBuilder updates = new RSCPacketBuilder();
        updates.setID(190);
        updates.addShort(updateSize);
        for (ChatMessage cm : npcMessagesNeedingDisplayed) {
          updates.addShort(cm.getSender().getIndex());
          updates.addByte((byte) 1);
          updates.addShort(cm.getRecipient().getIndex());
          updates.addByte((byte) cm.getLength());
          updates.addBytes(cm.getMessage());
          // show text above heads of players around
          if (cm.getRecipient() != null
              && cm.getRecipient() instanceof Player) {
            RSCPacketBuilder updatez = new RSCPacketBuilder();
            updatez.setID(190);
            updatez.addShort(1);
            updatez.addShort(cm.getSender().getIndex());
            updatez.addByte((byte) 1);
            updatez.addShort(-1);
            updatez.addByte((byte) cm.getLength());
            updatez.addBytes(cm.getMessage());
            for (Player pl : playerToUpdate.getViewArea()
                .getPlayersInView()) {
              if (pl.equals(playerToUpdate)
                  || pl == playerToUpdate)
                continue;
              pl.getActionSender().addPacket(updatez.toPacket());
            }
          }
        }
        for (Npc n : npcsNeedingHitsUpdate) {
          updates.addShort(n.getIndex());
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

        .getWatchedObjects();
    if (watchedObjects.changed()) {
      Collection<GameObject> newObjects = watchedObjects.getNewEntities();
      Collection<GameObject> knownObjets = watchedObjects
          .getKnownEntities();
      RSCPacketBuilder packet = new RSCPacketBuilder();
      packet.setID(27);
      for (GameObject o : knownObjets) {
        if (o.getType() != 0) {
          continue;
        }
        // We should remove ones miles away differently I think
        if (watchedObjects.isRemoving(o)) {
          byte[] offsets = DataConversions.getObjectPositionOffsets(
              o.getLocation(), playerToUpdate.getLocation());
          packet.addShort(60000);
          packet.addByte(offsets[0]);
          packet.addByte(offsets[1]);
          packet.addByte((byte) o.getDirection());
        }
      }
      for (GameObject o : newObjects) {
        if (o.getType() != 0) {
          continue;
        }
        byte[] offsets = DataConversions.getObjectPositionOffsets(
            o.getLocation(), playerToUpdate.getLocation());
        packet.addShort(o.getID());
        packet.addByte(offsets[0]);
        packet.addByte(offsets[1]);
        packet.addByte((byte) o.getDirection());
      }
      return packet.toPacket();
    }
    return null;
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Updates the equipment status
   */
  public void sendEquipmentStats() {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(177);
    s.addShort(player.getArmourPoints());
    s.addShort(player.getWeaponAimPoints());
    s.addShort(player.getWeaponPowerPoints());
    s.addShort(player.getMagicPoints());
    s.addShort(player.getPrayerBonus());
    s.addShort(player.getRangePoints());
    packets.add(s.toPacket());
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Updates the fatigue percentage
   */
  public void sendFatigue() {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(126);
    s.addShort(player.getFatigue() / 10);
    packets.add(s.toPacket());
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Sends the whole friendlist
   */
  public void sendFriendList() {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(249);
    s.addByte((byte) player.getFriendList().size());
    for (Entry<Long, Integer> friend : player.getFriendList()) {
      int world = friend.getValue();
      s.addLong(friend.getKey());
      s.addByte((byte) (world == Config.WORLD_ID ? 99 : world));
    }
    packets.add(s.toPacket());
  }
View Full Code Here

Examples of org.moparscape.msc.gs.builders.RSCPacketBuilder

  /**
   * Updates a friends login status
   */
  public void sendFriendUpdate(long usernameHash, int world) {
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(25);
    s.addLong(usernameHash);
    s.addByte((byte) (world == Config.WORLD_ID ? 99 : world));
    packets.add(s.toPacket());
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.