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!");
     }
 }
 public static bool DeleteMessages(List <object> objs, long owner)
 {
     if (owner == 0 || objs.Count == 0)
     {
         return(false);
     }
     return(ComDiv.deleteDB("player_messages", "id", objs.ToArray(), "owner_id", owner));
 }
예제 #3
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());
            }
        }
 public static bool DeleteMessage(int id, long owner)
 {
     return(ComDiv.deleteDB("player_messages", "id", id, "owner_id", owner));
 }
예제 #5
0
        public void DiscountPlayerItems()
        {
            bool          updEffect = false;
            uint          data_atual = uint.Parse(DateTime.Now.ToString("yyMMddHHmm"));
            List <object> removedItems = new List <object>();
            int           bonuses = _bonus != null ? _bonus.bonuses : 0, freepass = _bonus != null ? _bonus.freepass : 0;

            lock (_inventory._items)
            {
                for (int i = 0; i < _inventory._items.Count; i++)
                {
                    ItemsModel item = _inventory._items[i];
                    if (item._count <= data_atual & item._equip == 2)
                    {
                        if (item._category == 3)
                        {
                            if (_bonus == null)
                            {
                                continue;
                            }
                            bool changed = _bonus.RemoveBonuses(item._id);
                            if (!changed)
                            {
                                if (item._id == 1200014000)
                                {
                                    ComDiv.updateDB("player_bonus", "sightcolor", 4, "player_id", player_id);
                                    _bonus.sightColor = 4;
                                }
                                else if (item._id == 1200006000)
                                {
                                    ComDiv.updateDB("contas", "name_color", 0, "player_id", player_id);
                                    name_color = 0;
                                }
                                else if (item._id == 1200009000)
                                {
                                    ComDiv.updateDB("player_bonus", "fakerank", 55, "player_id", player_id);
                                    _bonus.fakeRank = 55;
                                }
                                else if (item._id == 1200010000)
                                {
                                    if (_bonus.fakeNick.Length > 0)
                                    {
                                        ComDiv.updateDB("player_bonus", "fakenick", "", "player_id", player_id);
                                        ComDiv.updateDB("contas", "player_name", _bonus.fakeNick, "player_id", player_id);
                                        player_name     = _bonus.fakeNick;
                                        _bonus.fakeNick = "";
                                    }
                                }
                            }
                            CupomFlag cupom = CupomEffectManager.getCupomEffect(item._id);
                            if (cupom != null && cupom.EffectFlag > 0 && effects.HasFlag(cupom.EffectFlag))
                            {
                                effects  -= cupom.EffectFlag;
                                updEffect = true;
                            }
                        }
                        removedItems.Add(item._objId);
                        _inventory._items.RemoveAt(i--);
                    }
                    else if (item._count == 0)
                    {
                        removedItems.Add(item._objId);
                        _inventory._items.RemoveAt(i--);
                    }
                }
                ComDiv.deleteDB("player_items", "id", removedItems.ToArray(), "owner_id", player_id);
            }
            removedItems = null;
            if (_bonus != null && (_bonus.bonuses != bonuses || _bonus.freepass != freepass))
            {
                PlayerManager.updatePlayerBonus(player_id, _bonus.bonuses, _bonus.freepass);
            }
            if (effects < 0)
            {
                effects = 0;
            }
            if (updEffect)
            {
                PlayerManager.updateCupomEffects(player_id, effects);
            }
            _inventory.LoadBasicItems();
            int type = PlayerManager.CheckEquipedItems(_equip, _inventory._items);

            if (type > 0)
            {
                DBQuery query = new DBQuery();
                if ((type & 2) == 2)
                {
                    PlayerManager.updateWeapons(_equip, query);
                }
                if ((type & 1) == 1)
                {
                    PlayerManager.updateChars(_equip, query);
                }
                ComDiv.updateDB("contas", "player_id", player_id, query.GetTables(), query.GetValues());
                query = null;
            }
        }
예제 #6
0
        public void DiscountPlayerItems()
        {
            bool          flag       = false;
            uint          num1       = uint.Parse(DateTime.Now.ToString("yyMMddHHmm"));
            List <object> objectList = new List <object>();
            int           num2       = this._bonus != null ? this._bonus.bonuses : 0;
            int           num3       = this._bonus != null ? this._bonus.freepass : 0;

            lock (this._inventory._items)
            {
                for (int index = 0; index < this._inventory._items.Count; ++index)
                {
                    ItemsModel itemsModel = this._inventory._items[index];
                    if (itemsModel._count <= num1 & itemsModel._equip == 2)
                    {
                        if (itemsModel._category == 3)
                        {
                            if (this._bonus != null)
                            {
                                if (!this._bonus.RemoveBonuses(itemsModel._id))
                                {
                                    if (itemsModel._id == 1200014000)
                                    {
                                        ComDiv.updateDB("player_bonus", "sightcolor", (object)4, "player_id", (object)this.player_id);
                                        this._bonus.sightColor = 4;
                                    }
                                    else if (itemsModel._id == 1200006000)
                                    {
                                        ComDiv.updateDB("accounts", "name_color", (object)0, "player_id", (object)this.player_id);
                                        this.name_color = 0;
                                    }
                                    else if (itemsModel._id == 1200009000)
                                    {
                                        ComDiv.updateDB("player_bonus", "fakerank", (object)55, "player_id", (object)this.player_id);
                                        this._bonus.fakeRank = 55;
                                    }
                                    else if (itemsModel._id == 1200010000 && this._bonus.fakeNick.Length > 0)
                                    {
                                        ComDiv.updateDB("player_bonus", "fakenick", (object)"", "player_id", (object)this.player_id);
                                        ComDiv.updateDB("accounts", "player_name", (object)this._bonus.fakeNick, "player_id", (object)this.player_id);
                                        this.player_name     = this._bonus.fakeNick;
                                        this._bonus.fakeNick = "";
                                    }
                                }
                                CupomFlag cupomEffect = CupomEffectManager.getCupomEffect(itemsModel._id);
                                if (cupomEffect != null && cupomEffect.EffectFlag > (CupomEffects)0 && this.effects.HasFlag((Enum)cupomEffect.EffectFlag))
                                {
                                    this.effects -= cupomEffect.EffectFlag;
                                    flag          = true;
                                }
                            }
                            else
                            {
                                continue;
                            }
                        }
                        objectList.Add((object)itemsModel._objId);
                        this._inventory._items.RemoveAt(index--);
                    }
                    else if (itemsModel._count == 0U)
                    {
                        objectList.Add((object)itemsModel._objId);
                        this._inventory._items.RemoveAt(index--);
                    }
                }
                ComDiv.deleteDB("player_items", "object_id", objectList.ToArray(), "owner_id", (object)this.player_id);
            }
            if (this._bonus != null && (this._bonus.bonuses != num2 || this._bonus.freepass != num3))
            {
                PlayerManager.updatePlayerBonus(this.player_id, this._bonus.bonuses, this._bonus.freepass);
            }
            if (this.effects < (CupomEffects)0)
            {
                this.effects = (CupomEffects)0;
            }
            if (flag)
            {
                PlayerManager.updateCupomEffects(this.player_id, this.effects);
            }
            this._inventory.LoadBasicItems();
            int num4 = PlayerManager.CheckEquipedItems(this._equip, this._inventory._items, false);

            if (num4 <= 0)
            {
                return;
            }
            DBQuery query = new DBQuery();

            if ((num4 & 2) == 2)
            {
                PlayerManager.updateWeapons(this._equip, query);
            }
            if ((num4 & 1) == 1)
            {
                PlayerManager.updateChars(this._equip, query);
            }
            ComDiv.updateDB("accounts", "player_id", (object)this.player_id, query.GetTables(), query.GetValues());
        }