Package org.moparscape.msc.gs.model

Examples of org.moparscape.msc.gs.model.Player


   */
  public static final World world = Instance.getWorld();
  private GameSettingUpdatePacketBuilder builder = new GameSettingUpdatePacketBuilder();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    int idx = (int) p.readByte();
    if (idx < 0 || idx > 6) {
      player.setSuspiciousPlayer(true);
      return;
    }
    boolean on = p.readByte() == 1;
    player.setGameSetting(idx, on);

    builder.setPlayer(player);
    builder.setIndex(idx);
    builder.setOn(on);

View Full Code Here


   */
  public static final World world = Instance.getWorld();

  public void handlePacket(Packet p1, IoSession session) throws Exception {

    Player player = (Player) session.getAttachment();
    final String ip = ((InetSocketAddress) session.getRemoteAddress())
        .getAddress().toString().replaceAll("/", "");

    byte loginCode;
    try {

      byte[] data = RSA.decrypt(p1.getData());
      Packet p = new Packet(session, data);

      boolean reconnecting = (p.readByte() == 1);

      int clientVersion = p.readInt();

      if (Config.SERVER_VERSION != clientVersion) {
        Logger.println("ip: " + ip + " | clientversion: "
            + clientVersion + " : " + Config.SERVER_VERSION);
      }

      int[] sessionKeys = new int[4];
      for (int key = 0; key < sessionKeys.length; key++) {
        sessionKeys[key] = p.readInt();
      }
      String username = "";
      byte[] password = null;

      int lenU = p.readInt();
      username = p.readString(lenU).trim();
      int len = p.readInt();
      password = new Hash(p.readBytes(len)).value();

      if (world.countPlayers() >= Config.MAX_PLAYERS) {
        loginCode = 10;
      } else if (clientVersion < Config.SERVER_VERSION) {
        loginCode = 4;
      } else if (!player.setSessionKeys(sessionKeys)) {
        loginCode = 5;
      } else {
        player.load(username, password, 0, reconnecting);
        if (clientVersion < Config.SERVER_VERSION) {
          player.clientWarn(true);
        }
        return;
      }
    } catch (Exception e) {
      Logger.println("Login exception with: " + ip);
      e.printStackTrace();
      loginCode = 4;
    }

    RSCPacketBuilder pb = new RSCPacketBuilder();
    pb.setBare(true);
    pb.addByte((byte) loginCode);
    session.write(pb.toPacket());
    player.destroy(true);
  }
View Full Code Here

    return null;
  }

  public void handlePacket(Packet p, IoSession session) throws Exception {
    try {
      Player player = (Player) session.getAttachment();
      if (player.isBusy()) {
        player.resetPath();
        return;
      }
      // incExp
      player.resetAll();
      Point location = Point.location(p.readShort(), p.readShort());
      int id = p.readShort();
      final ActiveTile tile = world.getTile(location);
      if (tile == null)
        return;
      final InvItem myItem = player.getInventory().getSlot(p.readShort());
      if (myItem == null)
        return;
      if (tile.hasGameObject() && myItem.id != 135) {
        player.getActionSender().sendMessage(
            "You cannot do that here, please move to a new area.");
        return;
      }
      final Item item = getItem(id, tile, player);

      if (item == null || myItem == null) {
        player.setSuspiciousPlayer(true);
        player.resetPath();
        return;
      }
      world.addEntryToSnapshots(new Activity(player.getUsername(), player
          .getUsername()
          + " used item "
          + myItem.getDef().getName()
          + "("
          + myItem.id
          + ")"
          + " [CMD: "
          + myItem.getDef().getCommand()
          + "] ON A GROUND ITEM "
          + myItem.getDef().getName()
          + "("
          + myItem.id
          + ")"
          + " [CMD: "
          + myItem.getDef().getCommand()
          + "] at: "
          + player.getX() + "/" + player.getY()));

      player.setStatus(Action.USING_INVITEM_ON_GITEM);
      Instance.getDelayedEventHandler().add(
          new WalkToPointEvent(player, location, 1, false) {
            public void arrived() {
              if (owner.isBusy()
                  || owner.isRanging()
View Full Code Here

    s.setID(165);
    packets.add(s.toPacket());
  }

  public void sendDuelAccept() {
    Player with = player.getWishToDuel();
    if (with == null) { // This shouldn't happen
      return;
    }
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(147);
    s.addLong(with.getUsernameHash());
    s.addByte((byte) with.getDuelOffer().size());
    for (InvItem item : with.getDuelOffer()) {
      s.addShort(item.id);
      s.addInt(item.amount);
    }
    s.addByte((byte) player.getDuelOffer().size());
    for (InvItem item : player.getDuelOffer()) {
View Full Code Here

    packets.add(s.toPacket());
  }

  public void sendDuelAcceptUpdate() {
    Player with = player.getWishToDuel();
    if (with == null) { // This shouldn't happen
      return;
    }
    RSCPacketBuilder s1 = new RSCPacketBuilder();
    s1.setID(97);
    s1.addByte((byte) (player.isDuelOfferAccepted() ? 1 : 0));
    packets.add(s1.toPacket());

    RSCPacketBuilder s2 = new RSCPacketBuilder();
    s2.setID(65);
    s2.addByte((byte) (with.isDuelOfferAccepted() ? 1 : 0));
    packets.add(s2.toPacket());
  }
View Full Code Here

    s2.addByte((byte) (with.isDuelOfferAccepted() ? 1 : 0));
    packets.add(s2.toPacket());
  }

  public void sendDuelItems() {
    Player with = player.getWishToDuel();
    if (with == null) { // This shouldn't happen
      return;
    }
    ArrayList<InvItem> items = with.getDuelOffer();
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(63);
    s.addByte((byte) items.size());
    for (InvItem item : items) {
      s.addShort(item.id);
View Full Code Here

    s.setID(160);
    packets.add(s.toPacket());
  }

  public void sendDuelWindowOpen() {
    Player with = player.getWishToDuel();
    if (with == null) { // This shouldn't happen
      return;
    }
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(229);
    s.addShort(with.getIndex());
    packets.add(s.toPacket());
  }
View Full Code Here

   * World instance
   */
  public static final World world = Instance.getWorld();

  public void handlePacket(Packet p, IoSession session) throws Exception {
    Player player = (Player) session.getAttachment();
    Player affectedPlayer = world.getPlayer(p.readShort());
    if (affectedPlayer == null) {
      player.setSuspiciousPlayer(true);
      return;
    }
    if (player.isBusy()) {
      player.resetPath();
      return;
    }
    if (GameEngine.getTime() - player.getLastRun() < 3000)
      return;
    player.resetAll();
    player.setFollowing(affectedPlayer, 1);
    player.getActionSender().sendMessage(
        "Now following " + affectedPlayer.getUsername());
    world.addEntryToSnapshots(new Activity(player.getUsername(), player
        .getUsername()
        + " started to follow "
        + affectedPlayer.getUsername()
        + " at: "
        + player.getX()
        + "/"
        + player.getY()
        + " | "
        + affectedPlayer.getX()
        + "/"
        + affectedPlayer.getY()));

  }
View Full Code Here

    s.addByte((byte) (y - player.getY()));
    packets.add(s.toPacket());
  }

  public void sendTradeAccept() {
    Player with = player.getWishToTrade();
    if (with == null) { // This shouldn't happen
      return;
    }
    RSCPacketBuilder s = new RSCPacketBuilder();
    s.setID(251);
    s.addLong(with.getUsernameHash());
    s.addByte((byte) with.getTradeOffer().size());
    for (InvItem item : with.getTradeOffer()) {
      s.addShort(item.id);
      s.addInt(item.amount);
    }
    s.addByte((byte) player.getTradeOffer().size());
    for (InvItem item : player.getTradeOffer()) {
View Full Code Here

    }
    packets.add(s.toPacket());
  }

  public void sendTradeAcceptUpdate() {
    Player with = player.getWishToTrade();
    if (with == null) { // This shouldn't happen
      return;
    }
    RSCPacketBuilder s1 = new RSCPacketBuilder();
    s1.setID(18);
    s1.addByte((byte) (player.isTradeOfferAccepted() ? 1 : 0));
    packets.add(s1.toPacket());

    RSCPacketBuilder s2 = new RSCPacketBuilder();
    s2.setID(92);
    s2.addByte((byte) (with.isTradeOfferAccepted() ? 1 : 0));
    packets.add(s2.toPacket());
  }
View Full Code Here

TOP

Related Classes of org.moparscape.msc.gs.model.Player

Copyright © 2018 www.massapicom. 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.