public override void run()
 {
     try
     {
         Account p = _client._player, leader;
         Channel ch;
         if (p != null && p.player_name.Length > 0 && p._room == null &&
             p._match == null && p.getChannel(out ch))
         {
             Room room = ch.getRoom(roomId);
             if (room != null && room.getLeader(out leader))
             {
                 if (room.room_type == 10)
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x8000107C)); //Tutorial
                 }
                 else if (room.password.Length > 0 && password != room.password && p._rank != 53 && !p.HaveGMLevel() && type != 1)
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x80001005));
                 }
                 else if (room.limit == 1 && (int)room._state >= 1 && !p.HaveGMLevel() || room.special == 5)
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x80001013)); //Entrada proibida com partida em andamento
                 }
                 else if (room.kickedPlayers.Contains(p.player_id) && !p.HaveGMLevel())
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x8000100C)); //Você foi expulso dessa sala.
                 }
                 else if (room.addPlayer(p) >= 0)
                 {
                     p.ResetPages();
                     using (ROOM_GET_SLOTONEINFO_PAK packet = new ROOM_GET_SLOTONEINFO_PAK(p))
                         room.SendPacketToPlayers(packet, p.player_id);
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0, p, leader));
                 }
                 else
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x80001003));  //SLOTFULL
                 }
             }
             else
             {
                 _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x80001004));  //INVALIDROOM
             }
         }
         else
         {
             _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0x80001004));
         }
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[ROOM_JOIN_NORMAL_REC.run] Erro fatal!");
     }
 }
Esempio n. 2
0
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         Channel channel;
         if (player != null && player.player_name.Length > 0 && (player._room == null && player._match == null) && player.getChannel(out channel))
         {
             Room    room = channel.getRoom(this.roomId);
             Account p;
             if (room != null && room.getLeader(out p))
             {
                 if (room.room_type == (byte)10)
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487868U, (Account)null, (Account)null));
                 }
                 else if (room.password.Length > 0 && this.password != room.password && (player._rank != 53 && !player.HaveGMLevel()) && this.type != 1)
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487749U, (Account)null, (Account)null));
                 }
                 else if (room.limit == (byte)1 && room._state >= RoomState.CountDown && !player.HaveGMLevel() || room.special == (byte)5)
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487763U, (Account)null, (Account)null));
                 }
                 else if (room.kickedPlayers.Contains(player.player_id) && !player.HaveGMLevel())
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487756U, (Account)null, (Account)null));
                 }
                 else if (room.addPlayer(player) >= 0)
                 {
                     player.ResetPages();
                     using (ROOM_GET_SLOTONEINFO_PAK getSlotoneinfoPak = new ROOM_GET_SLOTONEINFO_PAK(player))
                         room.SendPacketToPlayers((SendPacket)getSlotoneinfoPak, player.player_id);
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(0U, player, p));
                 }
                 else
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487747U, (Account)null, (Account)null));
                 }
             }
             else
             {
                 this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487748U, (Account)null, (Account)null));
             }
         }
         else
         {
             this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487748U, (Account)null, (Account)null));
         }
     }
     catch (Exception ex)
     {
         Logger.warning("[ROOM_JOIN_NORMAL_REC] " + ex.ToString());
     }
 }
Esempio n. 3
0
 public override void run()
 {
     try
     {
         Account p = _client._player;
         if (p == null || p.clanId == 0 || p._match == null)
         {
             return;
         }
         Account leader;
         Channel ch;
         if (p != null && p.player_name.Length > 0 && p._room == null && p.getChannel(out ch))
         {
             Room room = ch.getRoom(match);
             if (room != null && room.getLeader(out leader))
             {
                 if (room.password.Length > 0 && !p.HaveGMLevel())
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487749));
                 }
                 else if (room.limit == 1 && (int)room._state >= 1)
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487763)); //Entrada proibida com partida em andamento
                 }
                 else if (room.kickedPlayers.Contains(p.player_id))
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487756)); //Você foi expulso dessa sala.
                 }
                 else if (room.addPlayer(p, unk) >= 0)
                 {
                     using (ROOM_GET_SLOTONEINFO_PAK packet = new ROOM_GET_SLOTONEINFO_PAK(p))
                         room.SendPacketToPlayers(packet, p.player_id);
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0, p, leader));
                 }
                 else
                 {
                     _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487747));
                 }
             }
             else
             {
                 _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487748));
             }
         }
         else
         {
             _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(2147487748));
         }
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[CLAN_WAR_JOIN_ROOM_REC.run] Erro fatal!");
     }
 }
Esempio n. 4
0
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         if (player == null || player.clanId == 0 || player._match == null)
         {
             return;
         }
         Channel channel;
         if (player != null && player.player_name.Length > 0 && (player._room == null && player.getChannel(out channel)))
         {
             Room    room = channel.getRoom(this.match);
             Account p;
             if (room != null && room.getLeader(out p))
             {
                 if (room.password.Length > 0 && !player.HaveGMLevel())
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487749U, (Account)null, (Account)null));
                 }
                 else if (room.limit == (byte)1 && room._state >= RoomState.CountDown)
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487763U, (Account)null, (Account)null));
                 }
                 else if (room.kickedPlayers.Contains(player.player_id))
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487756U, (Account)null, (Account)null));
                 }
                 else if (room.addPlayer(player, this.unk) >= 0)
                 {
                     using (ROOM_GET_SLOTONEINFO_PAK getSlotoneinfoPak = new ROOM_GET_SLOTONEINFO_PAK(player))
                         room.SendPacketToPlayers((SendPacket)getSlotoneinfoPak, player.player_id);
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(0U, player, p));
                 }
                 else
                 {
                     this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487747U, (Account)null, (Account)null));
                 }
             }
             else
             {
                 this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487748U, (Account)null, (Account)null));
             }
         }
         else
         {
             this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(2147487748U, (Account)null, (Account)null));
         }
     }
     catch (Exception ex)
     {
         Logger.warning("[CLAN_WAR_JOIN_ROOM_REC] " + ex.ToString());
     }
 }
 private void getRandomRoom(Account player)
 {
     if (player != null)
     {
         Room    sala = this.salas[new Random().Next(this.salas.Count)];
         Account p;
         if (sala != null && sala.getLeader(out p) && sala.addPlayer(player) >= 0)
         {
             player.ResetPages();
             using (ROOM_GET_SLOTONEINFO_PAK getSlotoneinfoPak = new ROOM_GET_SLOTONEINFO_PAK(player))
                 sala.SendPacketToPlayers((SendPacket)getSlotoneinfoPak,player.player_id);
             this._client.SendPacket((SendPacket) new LOBBY_JOIN_ROOM_PAK(0U,player,p));
         }
         else
         {
             this._client.SendPacket((SendPacket) new LOBBY_QUICKJOIN_ROOM_PAK());
         }
     }
     else
     {
         this._client.SendPacket((SendPacket) new LOBBY_QUICKJOIN_ROOM_PAK());
     }
 }
 private void getRandomRoom(Account player)
 {
     if (player != null)
     {
         Room    room = salas[new Random().Next(salas.Count)];
         Account leader;
         if (room != null && room.getLeader(out leader) && room.addPlayer(player) >= 0)
         {
             player.ResetPages();
             using (ROOM_GET_SLOTONEINFO_PAK packet = new ROOM_GET_SLOTONEINFO_PAK(player))
                 room.SendPacketToPlayers(packet,player.player_id);
             _client.SendPacket(new LOBBY_JOIN_ROOM_PAK(0,player,leader));
         }
         else
         {
             _client.SendPacket(new LOBBY_QUICKJOIN_ROOM_PAK());
         }
     }
     else
     {
         _client.SendPacket(new LOBBY_QUICKJOIN_ROOM_PAK());
     }
 }