コード例 #1
0
 public override void run()
 {
     try
     {
         Account player = _client._player;
         if (player != null)
         {
             Clan clan = ClanManager.getClan(player.clanId);
             if (clan._id > 0 && clan.owner_id == _client.player_id &&
                 ComDiv.deleteDB("clan_data", "clan_id", clan._id) &&
                 ComDiv.updateDB("contas", "player_id", player.player_id, new string[] { "clan_id", "clanaccess", "clan_game_pt", "clan_wins_pt" }, 0, 0, 0, 0) &&
                 ClanManager.RemoveClan(clan))
             {
                 player.clanId     = 0;
                 player.clanAccess = 0;
                 SEND_CLAN_INFOS.Load(clan, 1);
             }
             else
             {
                 erro = 2147487850;
             }
         }
         else
         {
             erro = 2147487850;
         }
         _client.SendPacket(new CLAN_CLOSE_PAK(erro));
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[CLAN_CLOSE_REC.run] Erro fatal!");
     }
 }
コード例 #2
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;
                }
            }
        }
コード例 #3
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;
                }
            }
        }
コード例 #4
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
            {
                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.clanAccess == 2 && ComDiv.updateDB("accounts", "clanaccess", (object)3, "player_id", (object)account.player_id)))
                    {
                        account.clanAccess = 3;
                        SEND_CLAN_INFOS.Load(account, (Account)null, 3);
                        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_DEMOTE_PAK(), false);
                        }
                        ++this.result;
                    }
                }
            }
        }
コード例 #5
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 || clan.owner_id == _client.player_id))
            {
                result = 2147487833;
                return;
            }
            int countPlayers = readC();

            for (int i = 0; i < countPlayers; i++)
            {
                Account member = AccountManager.getAccount(readQ(), 0);
                if (member != null && member.clanId == clan._id && member.clanAccess == 3 && ComDiv.updateDB("contas", "clanaccess", 2, "player_id", member.player_id))
                {
                    member.clanAccess = 2; //Aux
                    SEND_CLAN_INFOS.Load(member, null, 3);
                    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_AUX_PAK(), false);
                    }
                    result++;
                }
            }
        }
コード例 #6
0
        public override void run()
        {
            try
            {
                Account player = this._client._player;
                if (player != null)
                {
                    Clan clan = ClanManager.getClan(player.clanId);
                    if (clan._id > 0 && clan.owner_id == this._client.player_id && ComDiv.deleteDB("clan_data", "clan_id", (object)clan._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) && ClanManager.RemoveClan(clan))
                        {
                            player.clanId     = 0;
                            player.clanAccess = 0;
                            SEND_CLAN_INFOS.Load(clan, 1);
                            goto label_6;
                        }
                    }
                    this.erro = 2147487850U;
                }
                else
                {
                    this.erro = 2147487850U;
                }
label_6:
                this._client.SendPacket((SendPacket) new CLAN_CLOSE_PAK(this.erro));
            }
            catch (Exception ex)
            {
                Logger.info("[CLAN_CLOSE_REC] " + ex.ToString());
            }
        }
コード例 #7
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 || player.player_id == clan.owner_id))
            {
                List <Account> clanPlayers = ClanManager.getClanPlayers(clan._id, -1L, true);
                if (clanPlayers.Count >= clan.maxPlayers)
                {
                    this.result = -1;
                }
                else
                {
                    int num = (int)this.readC();
                    for (int index = 0; index < num; ++index)
                    {
                        Account account = AccountManager.getAccount(this.readQ(), 0);
                        if (account != null && clanPlayers.Count < clan.maxPlayers && (account.clanId == 0 && PlayerManager.getRequestClanId(account.player_id) > 0))
                        {
                            using (CLAN_MEMBER_INFO_INSERT_PAK memberInfoInsertPak = new CLAN_MEMBER_INFO_INSERT_PAK(account))
                                ClanManager.SendPacket((SendPacket)memberInfoInsertPak, clanPlayers);
                            account.clanId     = player.clanId;
                            account.clanDate   = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
                            account.clanAccess = 3;
                            SEND_CLAN_INFOS.Load(account, (Account)null, 3);
                            ComDiv.updateDB("accounts", "player_id", (object)account.player_id, new string[3]
                            {
                                "clanaccess",
                                "clan_id",
                                "clandate"
                            }, new object[3]
                            {
                                (object)account.clanAccess,
                                (object)account.clanId,
                                (object)account.clanDate
                            });
                            PlayerManager.DeleteInviteDb(player.clanId, account.player_id);
                            if (account._isOnline)
                            {
                                account.SendPacket((SendPacket) new CLAN_GET_CLAN_MEMBERS_PAK(clanPlayers), false);
                                account._room.SendPacketToPlayers((SendPacket) new ROOM_GET_SLOTONEINFO_PAK(account, clan));
                                account.SendPacket((SendPacket) new CLAN_NEW_INFOS_PAK(clan, clanPlayers.Count + 1), false);
                            }
                            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);
                                }
                            }
                            ++this.result;
                            clanPlayers.Add(account);
                        }
                    }
                }
            }
            else
            {
                this.result = -1;
            }
        }
コード例 #8
0
        public override void run()
        {
            try
            {
                Account p = _client._player;
                if (p == null)
                {
                    return;
                }
                Clan clan = new Clan
                {
                    _name        = clanName,
                    _info        = clanInfo,
                    _logo        = 0,
                    owner_id     = p.player_id,
                    creationDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
                };
                if (p.clanId > 0 || PlayerManager.getRequestClanId(p.player_id) > 0)
                {
                    erro = 0x8000105C;
                }
                else if (0 > p._gp - ConfigGS.minCreateGold || ConfigGS.minCreateRank > p._rank)
                {
                    erro = 0x8000104A;
                }
                else if (ClanManager.isClanNameExist(clan._name))
                {
                    erro = 0x8000105A;
                    return;
                }
                else if (ClanManager._clans.Count > ConfigGS.maxActiveClans)
                {
                    erro = 0x80001055;
                }
                else if (PlayerManager.CreateClan(out clan._id, clan._name, clan.owner_id, clan._info, clan.creationDate) && PlayerManager.updateAccountGold(p.player_id, p._gp - ConfigGS.minCreateGold))
                {
                    clan.BestPlayers.SetDefault();
                    p.clanDate = clan.creationDate;
                    if (ComDiv.updateDB("contas", "player_id", p.player_id, new string[] { "clanaccess", "clandate", "clan_id" }, 1, clan.creationDate, clan._id))
                    {
                        if (clan._id > 0)
                        {
                            p.clanId     = clan._id;
                            p.clanAccess = 1;
                            ClanManager.AddClan(clan);
                            SEND_CLAN_INFOS.Load(clan, 0);
                            p._gp -= ConfigGS.minCreateGold;
                        }
                        else
                        {
                            erro = 0x8000104B;
                        }
                    }
                    else
                    {
                        erro = 0x80001048;
                    }
                }
                else
                {
                    erro = 0x80001048;
                }
                _client.SendPacket(new CLAN_CREATE_PAK(erro, clan, p));
            }
            catch (Exception ex)
            {
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[CLAN_CREATE_REC.run] Erro fatal!");
            }

            /*
             * 80001055 - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_OVERFLOW
             * 8000105C - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_ALREADY
             * 8000105A - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_OVERLAPPING
             * 80001048 - STBL_IDX_CLAN_MESSAGE_FAIL_CREATING
             * Padrão: STBL_IDX_CLAN_MESSAGE_FAIL_CREATING_ADMIN
             */
        }
        public override void read()
        {
            Account p = _client._player;

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

            if (clan._id > 0 && (p.clanAccess >= 1 && p.clanAccess <= 2 || p.player_id == clan.owner_id))
            {
                List <Account> clanPlayers = ClanManager.getClanPlayers(clan._id, -1, true);
                if (clanPlayers.Count >= clan.maxPlayers)
                {
                    result = -1;
                    return;
                }
                int playersCount = readC();
                for (int i = 0; i < playersCount; i++)
                {
                    Account pl = AccountManager.getAccount(readQ(), 0);
                    if (pl != null && clanPlayers.Count < clan.maxPlayers && pl.clanId == 0 && PlayerManager.getRequestClanId(pl.player_id) > 0)
                    {
                        using (CLAN_MEMBER_INFO_INSERT_PAK packet = new CLAN_MEMBER_INFO_INSERT_PAK(pl))
                            ClanManager.SendPacket(packet, clanPlayers);
                        pl.clanId     = p.clanId;
                        pl.clanDate   = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
                        pl.clanAccess = 3;
                        SEND_CLAN_INFOS.Load(pl, null, 3);

                        ComDiv.updateDB("contas", "player_id", pl.player_id, new string[] { "clanaccess", "clan_id", "clandate" }, pl.clanAccess, pl.clanId, pl.clanDate);

                        PlayerManager.DeleteInviteDb(p.clanId, pl.player_id);
                        if (pl._isOnline)
                        {
                            pl.SendPacket(new CLAN_GET_CLAN_MEMBERS_PAK(clanPlayers), false);
                            Room r = pl._room;
                            if (r != null)
                            {
                                r.SendPacketToPlayers(new ROOM_GET_SLOTONEINFO_PAK(pl, clan));
                            }
                            pl.SendPacket(new CLAN_NEW_INFOS_PAK(clan, clanPlayers.Count + 1), false);
                        }
                        if (MessageManager.getMsgsCount(pl.player_id) < 100)
                        {
                            Message msg = CreateMessage(clan, pl.player_id, _client.player_id);
                            if (msg != null && pl._isOnline)
                            {
                                pl.SendPacket(new BOX_MESSAGE_RECEIVE_PAK(msg), false);
                            }
                        }
                        result++;
                        clanPlayers.Add(pl);
                    }
                }
                clanPlayers = null;
            }
            else
            {
                result = -1;
            }
        }
コード例 #10
0
ファイル: CLAN_CREATE_REC.cs プロジェクト: ProjectsPZ/PB0.1
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         if (player == null)
         {
             return;
         }
         Clan clan = new Clan()
         {
             _name        = this.clanName,
             _info        = this.clanInfo,
             _logo        = 0,
             owner_id     = player.player_id,
             creationDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"))
         };
         if (player.clanId > 0 || PlayerManager.getRequestClanId(player.player_id) > 0)
         {
             this.erro = 2147487836U;
         }
         else if (0 > player._gp - ConfigGS.minCreateGold || ConfigGS.minCreateRank > player._rank)
         {
             this.erro = 2147487818U;
         }
         else
         {
             if (ClanManager.isClanNameExist(clan._name))
             {
                 this.erro = 2147487834U;
                 return;
             }
             if (ClanManager._clans.Count > ConfigGS.maxActiveClans)
             {
                 this.erro = 2147487829U;
             }
             else if (PlayerManager.CreateClan(out clan._id, clan._name, clan.owner_id, clan._info, clan.creationDate) && PlayerManager.updateAccountGold(player.player_id, player._gp - ConfigGS.minCreateGold))
             {
                 clan.BestPlayers.SetDefault();
                 player.clanDate = clan.creationDate;
                 if (ComDiv.updateDB("accounts", "player_id", (object)player.player_id, new string[3]
                 {
                     "clanaccess",
                     "clandate",
                     "clan_id"
                 }, new object[3]
                 {
                     (object)1,
                     (object)clan.creationDate,
                     (object)clan._id
                 }))
                 {
                     if (clan._id > 0)
                     {
                         player.clanId     = clan._id;
                         player.clanAccess = 1;
                         ClanManager.AddClan(clan);
                         SEND_CLAN_INFOS.Load(clan, 0);
                         player._gp -= ConfigGS.minCreateGold;
                     }
                     else
                     {
                         this.erro = 2147487819U;
                     }
                 }
                 else
                 {
                     this.erro = 2147487816U;
                 }
             }
             else
             {
                 this.erro = 2147487816U;
             }
         }
         this._client.SendPacket((SendPacket) new CLAN_CREATE_PAK(this.erro, clan, player));
     }
     catch (Exception ex)
     {
         Logger.warning("[CLAN_CREATE_REC] " + ex.ToString());
     }
 }