Example #1
0
        public override void read()
        {
            Account player = this._client._player;

            if (player == null)
            {
                return;
            }
            Clan clan = ClanManager.getClan(player.clanId);

            if (clan._id == 0 || (player.clanAccess < 1 || player.clanAccess > 2) && clan.owner_id != this._client.player_id)
            {
                this.result = 2147487833U;
            }
            else
            {
                List <Account> clanPlayers = ClanManager.getClanPlayers(clan._id, -1L, true);
                int            num         = (int)this.readC();
                for (int index = 0; index < num; ++index)
                {
                    Account account = AccountManager.getAccount(this.readQ(), 0);
                    if (account != null && account.clanId == clan._id && account._match == null)
                    {
                        if (ComDiv.updateDB("accounts", "player_id", (object)account.player_id, new string[4]
                        {
                            "clan_id",
                            "clanaccess",
                            "clan_game_pt",
                            "clan_wins_pt"
                        }, (object)0, (object)0, (object)0, (object)0))
                        {
                            using (CLAN_MEMBER_INFO_DELETE_PAK memberInfoDeletePak = new CLAN_MEMBER_INFO_DELETE_PAK(account.player_id))
                                ClanManager.SendPacket((SendPacket)memberInfoDeletePak, clanPlayers, account.player_id);
                            account.clanId     = 0;
                            account.clanAccess = 0;
                            SEND_CLAN_INFOS.Load(account, (Account)null, 0);
                            if (MessageManager.getMsgsCount(account.player_id) < 100)
                            {
                                Message message = this.CreateMessage(clan, account.player_id, this._client.player_id);
                                if (message != null && account._isOnline)
                                {
                                    account.SendPacket((SendPacket) new BOX_MESSAGE_RECEIVE_PAK(message), false);
                                }
                            }
                            if (account._isOnline)
                            {
                                account.SendPacket((SendPacket) new CLAN_PRIVILEGES_KICK_PAK(), false);
                            }
                            ++this.result;
                            clanPlayers.Remove(account);
                            continue;
                        }
                    }
                    this.result = 2147487833U;
                    break;
                }
            }
        }
Example #2
0
        public override void read()
        {
            Account player = _client._player;

            if (player == null)
            {
                return;
            }
            Clan clan = ClanManager.getClan(player.clanId);

            if (clan._id == 0 || !(player.clanAccess >= 1 && player.clanAccess <= 2 || clan.owner_id == _client.player_id))
            {
                result = 2147487833;
                return;
            }
            List <Account> clanPlayers  = ClanManager.getClanPlayers(clan._id, -1, true);
            int            countPlayers = readC();

            for (int i = 0; i < countPlayers; i++)
            {
                Account member = AccountManager.getAccount(readQ(), 0);
                if (member != null && member.clanId == clan._id && member._match == null && ComDiv.updateDB("contas", "player_id", member.player_id, new string[]
                {
                    "clan_id", "clanaccess", "clan_game_pt", "clan_wins_pt"
                }, 0, 0, 0, 0))
                {
                    using (CLAN_MEMBER_INFO_DELETE_PAK packet = new CLAN_MEMBER_INFO_DELETE_PAK(member.player_id))
                        ClanManager.SendPacket(packet, clanPlayers, member.player_id);
                    member.clanId     = 0;
                    member.clanAccess = 0;
                    SEND_CLAN_INFOS.Load(member, null, 0);
                    if (MessageManager.getMsgsCount(member.player_id) < 100)
                    {
                        Message msg = CreateMessage(clan, member.player_id, _client.player_id);
                        if (msg != null && member._isOnline)
                        {
                            member.SendPacket(new BOX_MESSAGE_RECEIVE_PAK(msg), false);
                        }
                    }
                    if (member._isOnline)
                    {
                        member.SendPacket(new CLAN_PRIVILEGES_KICK_PAK(), false);
                    }
                    result++;
                    clanPlayers.Remove(member);
                }
                else
                {
                    result = 2147487833; break;
                }
            }
        }
Example #3
0
 public override void run()
 {
     try
     {
         if (_client == null)
         {
             return;
         }
         Account p = _client._player;
         try
         {
             if (p != null && p.clanId > 0)
             {
                 Clan clan = ClanManager.getClan(p.clanId);
                 if (clan._id > 0 && clan.owner_id != p.player_id)
                 {
                     if (ComDiv.updateDB("contas", "player_id", p.player_id, new string[]
                     {
                         "clan_id", "clanaccess", "clan_game_pt", "clan_wins_pt"
                     }, 0, 0, 0, 0))
                     {
                         using (CLAN_MEMBER_INFO_DELETE_PAK packet = new CLAN_MEMBER_INFO_DELETE_PAK(p.player_id))
                             ClanManager.SendPacket(packet, p.clanId, p.player_id, true, true);
                         long ownerId = clan.owner_id;
                         if (MessageManager.getMsgsCount(ownerId) < 100)
                         {
                             Message msg = CreateMessage(clan, p);
                             if (msg != null)
                             {
                                 Account pM = AccountManager.getAccount(ownerId, 0);
                                 if (pM != null && pM._isOnline)
                                 {
                                     pM.SendPacket(new BOX_MESSAGE_RECEIVE_PAK(msg), false);
                                 }
                             }
                         }
                         p.clanId     = 0;
                         p.clanAccess = 0;
                     }
                     else
                     {
                         erro = 0x8000106B;
                     }
                 }
                 else
                 {
                     erro = 2147487838;
                 }
             }
             else
             {
                 erro = 2147487835;
             }
         }
         catch
         {
             erro = 0x8000106B;
         }
         _client.SendPacket(new CLAN_PLAYER_LEAVE_PAK(erro));
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[CLAN_PLAYER_LEAVE_REC.run] Erro fatal!");
     }
 }
 public override void run()
 {
     try
     {
         if (this._client == null)
         {
             return;
         }
         Account player = this._client._player;
         try
         {
             if (player != null && player.clanId > 0)
             {
                 Clan clan = ClanManager.getClan(player.clanId);
                 if (clan._id > 0 && clan.owner_id != player.player_id)
                 {
                     if (ComDiv.updateDB("accounts", "player_id", (object)player.player_id, new string[4]
                     {
                         "clan_id",
                         "clanaccess",
                         "clan_game_pt",
                         "clan_wins_pt"
                     }, (object)0, (object)0, (object)0, (object)0))
                     {
                         using (CLAN_MEMBER_INFO_DELETE_PAK memberInfoDeletePak = new CLAN_MEMBER_INFO_DELETE_PAK(player.player_id))
                             ClanManager.SendPacket((SendPacket)memberInfoDeletePak, player.clanId, player.player_id, true, true);
                         long ownerId = clan.owner_id;
                         if (MessageManager.getMsgsCount(ownerId) < 100)
                         {
                             Message message = this.CreateMessage(clan, player);
                             if (message != null)
                             {
                                 Account account = AccountManager.getAccount(ownerId, 0);
                                 if (account != null && account._isOnline)
                                 {
                                     account.SendPacket((SendPacket) new BOX_MESSAGE_RECEIVE_PAK(message), false);
                                 }
                             }
                         }
                         player.clanId     = 0;
                         player.clanAccess = 0;
                     }
                     else
                     {
                         this.erro = 2147487851U;
                     }
                 }
                 else
                 {
                     this.erro = 2147487838U;
                 }
             }
             else
             {
                 this.erro = 2147487835U;
             }
         }
         catch
         {
             this.erro = 2147487851U;
         }
         this._client.SendPacket((SendPacket) new CLAN_PLAYER_LEAVE_PAK(this.erro));
     }
     catch (Exception ex)
     {
         Logger.info("[CLAN_PLAYER_LEAVE_REC] " + ex.ToString());
     }
 }