Пример #1
0
 public override void run()
 {
     if (_client == null || _client._player == null)
     {
         return;
     }
     try
     {
         Account    p       = _client._player;
         ItemsModel itemObj = p._inventory.getItem(objId);
         if (itemObj != null)
         {
             itemId   = itemObj._id;
             oldCOUNT = itemObj._count;
             if (itemObj._category == 3 && p._inventory._items.Count >= 500)
             {
                 _client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(0x80001029));
                 SaveLog.warning("O inventário do jogador: '" + p.player_name + "' está cheio demais!");
                 Printf.warning("Inventario do jogador " + p.player_name + " esta cheio");
                 return;
             }
             if (itemId == 1301049000)
             {
                 if (PlayerManager.updateKD(p.player_id, 0, 0, p._statistic.headshots_count, p._statistic.totalkills_count))
                 {
                     p._statistic.kills_count  = 0;
                     p._statistic.deaths_count = 0;
                     _client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(p._statistic));
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemId == 1301048000)
             {
                 if (PlayerManager.updateFights(0, 0, 0, 0, p._statistic.totalfights_count, p.player_id))
                 {
                     p._statistic.fights      = 0;
                     p._statistic.fights_win  = 0;
                     p._statistic.fights_lost = 0;
                     p._statistic.fights_draw = 0;
                     _client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(p._statistic));
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemId == 1301050000)
             {
                 if (ComDiv.updateDB("contas", "escapes", 0, "player_id", p.player_id))
                 {
                     p._statistic.escapes = 0;
                     _client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(p._statistic));
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemId == 1301053000)
             {
                 if (PlayerManager.updateClanBattles(p.clanId, 0, 0, 0))
                 {
                     Clan c = ClanManager.getClan(p.clanId);
                     if (c._id > 0 && c.owner_id == _client.player_id)
                     {
                         c.partidas = 0;
                         c.vitorias = 0;
                         c.derrotas = 0;
                         _client.SendPacket(new CLAN_CHANGE_FIGHTS_PAK());
                     }
                     else
                     {
                         erro = 0x80000000;
                     }
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemId == 1301055000)
             {
                 Clan c = ClanManager.getClan(p.clanId);
                 if (c._id > 0 && c.owner_id == _client.player_id)
                 {
                     if (c.maxPlayers + 50 <= 250 && ComDiv.updateDB("clan_data", "max_players", c.maxPlayers + 50, "clan_id", p.clanId))
                     {
                         c.maxPlayers += 50;
                         _client.SendPacket(new CLAN_CHANGE_MAX_PLAYERS_PAK(c.maxPlayers));
                     }
                     else
                     {
                         erro = 0x80001056;
                     }
                 }
                 else
                 {
                     erro = 0x80001056;
                 }
             }
             else if (itemId == 1301056000)
             {
                 Clan c = ClanManager.getClan(p.clanId);
                 if (c._id > 0 && c._pontos != 1000)
                 {
                     if (ComDiv.updateDB("clan_data", "pontos", 1000.0f, "clan_id", p.clanId))
                     {
                         c._pontos = 1000;
                         _client.SendPacket(new CLAN_CHANGE_POINTS_PAK());
                     }
                     else
                     {
                         erro = 0x80001056;
                     }
                 }
                 else
                 {
                     erro = 0x80001056;
                 }
             }
             else if (itemId > 1301113000 && itemId < 1301119000)
             {
                 int goldReceive = itemId == 1301114000 ? 500 : (itemId == 1301115000 ? 1000 : (itemId == 1301116000 ? 5000 : (itemId == 1301117000 ? 10000 : 30000)));
                 if (ComDiv.updateDB("contas", "gp", p._gp + goldReceive, "player_id", p.player_id))
                 {
                     p._gp += goldReceive;
                     _client.SendPacket(new AUTH_GOLD_REWARD_PAK(goldReceive, p._gp, 0));
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemId == 1301999000)
             {
                 if (ComDiv.updateDB("contas", "exp", p._exp + 515999, "player_id", p.player_id))
                 {
                     p._exp += 515999;
                     _client.SendPacket(new A_3096_PAK(515999, 0));
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else if (itemObj._category == 3 && RandomBoxXML.ContainsBox(itemId))
             {
                 RandomBoxModel box = RandomBoxXML.getBox(itemId);
                 if (box != null)
                 {
                     List <RandomBoxItem> sortedList = box.getSortedList(GetRandomNumber(1, 100));
                     List <RandomBoxItem> rewardList = box.getRewardList(sortedList, GetRandomNumber(0, sortedList.Count));
                     if (rewardList.Count > 0)
                     {
                         int itemIdx = rewardList[0].index;
                         _client.SendPacket(new AUTH_RANDOM_BOX_REWARD_PAK(itemId, itemIdx));
                         List <ItemsModel> rewards = new List <ItemsModel>();
                         for (int i = 0; i < rewardList.Count; i++)
                         {
                             RandomBoxItem cupom = rewardList[i];
                             if (cupom.item != null)
                             {
                                 rewards.Add(cupom.item);
                             }
                             else if (PlayerManager.updateAccountGold(p.player_id, p._gp + (int)cupom.count))
                             {
                                 p._gp += (int)cupom.count;
                                 _client.SendPacket(new AUTH_GOLD_REWARD_PAK((int)cupom.count, p._gp, 0));
                             }
                             else
                             {
                                 erro = 0x80000000;
                                 break;
                             }
                             if (cupom.special)
                             {
                                 using (AUTH_JACKPOT_NOTICE_PAK packet = new AUTH_JACKPOT_NOTICE_PAK(p.player_name, itemId, itemIdx))
                                     GameManager.SendPacketToAllClients(packet);
                             }
                         }
                         if (rewards.Count > 0)
                         {
                             _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, rewards));
                         }
                     }
                     else
                     {
                         erro = 0x80000000;
                     }
                     sortedList = null;
                     rewardList = null;
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
             else
             {
                 int wclass = ComDiv.getIdStatics(itemObj._id, 1);
                 if (wclass <= 11)
                 {
                     if (itemObj._equip == 1)
                     {
                         itemObj._equip = 2;
                         itemObj._count = uint.Parse(DateTime.Now.AddSeconds(itemObj._count).ToString("yyMMddHHmm"));
                         ComDiv.updateDB("player_items", "id", objId, "owner_id", p.player_id, new string[] { "count", "equip" }, (long)itemObj._count, itemObj._equip);
                     }
                     else
                     {
                         erro = 0x80000000;
                     }
                 }
                 else if (wclass == 13)
                 {
                     cupomIncreaseDays(p, itemObj._name);
                 }
                 else if (wclass == 15)
                 {
                     cupomIncreaseGold(p, itemObj._id);
                 }
                 else
                 {
                     erro = 0x80000000;
                 }
             }
         }
         else
         {
             erro = 0x80000000;
         }
         _client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(erro, itemObj, p));
     }
     catch (OverflowException ex)
     {
         Printf.b_danger("[INVENTORY_ITEM_EQUIP_REC.run] Erro fatal!");
         SaveLog.fatal(" Obj: " + objId + "; Id do item: " + itemId + "; Count na Db: " + oldCOUNT + "; Id do cara: " + _client.player_id + "; Nick: '" + _client._player.player_name + "'\r\n" + ex.ToString());
         _client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(0x80000000));
     }
     catch (Exception ex)
     {
         Printf.b_danger("[INVENTORY_ITEM_EQUIP_REC.run] Erro fatal!");
         SaveLog.fatal(ex.ToString());
         _client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(0x80000000));
     }
 }
Пример #2
0
 public override void run()
 {
     if (this._client == null)
     {
         return;
     }
     if (this._client._player == null)
     {
         return;
     }
     try
     {
         Account    player      = this._client._player;
         ItemsModel itemsModel1 = player._inventory.getItem(this.objId);
         if (itemsModel1 != null)
         {
             this.itemId   = itemsModel1._id;
             this.oldCOUNT = itemsModel1._count;
             if (itemsModel1._category == 3 && player._inventory._items.Count >= 500)
             {
                 this._client.SendPacket((SendPacket) new INVENTORY_ITEM_EQUIP_PAK(2147487785U, (ItemsModel)null, (Account)null));
                 Logger.warning("O inventário do jogador: '" + player.player_name + "' está cheio demais!");
                 return;
             }
             if (this.itemId == 1301049000)
             {
                 if (PlayerManager.updateKD(player.player_id, 0, 0, player._statistic.headshots_count, player._statistic.totalkills_count))
                 {
                     player._statistic.kills_count  = 0;
                     player._statistic.deaths_count = 0;
                     this._client.SendPacket((SendPacket) new BASE_USER_CHANGE_STATS_PAK(player._statistic));
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (this.itemId == 1301048000)
             {
                 if (PlayerManager.updateFights(0, 0, 0, 0, player._statistic.totalfights_count, player.player_id))
                 {
                     player._statistic.fights      = 0;
                     player._statistic.fights_win  = 0;
                     player._statistic.fights_lost = 0;
                     player._statistic.fights_draw = 0;
                     this._client.SendPacket((SendPacket) new BASE_USER_CHANGE_STATS_PAK(player._statistic));
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (this.itemId == 1301050000)
             {
                 if (ComDiv.updateDB("accounts", "escapes", (object)0, "player_id", (object)player.player_id))
                 {
                     player._statistic.escapes = 0;
                     this._client.SendPacket((SendPacket) new BASE_USER_CHANGE_STATS_PAK(player._statistic));
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (this.itemId == 1301053000)
             {
                 if (PlayerManager.updateClanBattles(player.clanId, 0, 0, 0))
                 {
                     Clan clan = ClanManager.getClan(player.clanId);
                     if (clan._id > 0 && clan.owner_id == this._client.player_id)
                     {
                         clan.partidas = 0;
                         clan.vitorias = 0;
                         clan.derrotas = 0;
                         this._client.SendPacket((SendPacket) new CLAN_CHANGE_FIGHTS_PAK());
                     }
                     else
                     {
                         this.erro = 2147483648U;
                     }
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (this.itemId == 1301055000)
             {
                 Clan clan = ClanManager.getClan(player.clanId);
                 if (clan._id > 0 && clan.owner_id == this._client.player_id)
                 {
                     if (clan.maxPlayers + 50 <= 250 && ComDiv.updateDB("clan_data", "max_players", (object)(clan.maxPlayers + 50), "clan_id", (object)player.clanId))
                     {
                         clan.maxPlayers += 50;
                         this._client.SendPacket((SendPacket) new CLAN_CHANGE_MAX_PLAYERS_PAK(clan.maxPlayers));
                     }
                     else
                     {
                         this.erro = 2147487830U;
                     }
                 }
                 else
                 {
                     this.erro = 2147487830U;
                 }
             }
             else if (this.itemId == 1301056000)
             {
                 Clan clan = ClanManager.getClan(player.clanId);
                 if (clan._id > 0 && (double)clan._pontos != 1000.0)
                 {
                     if (ComDiv.updateDB("clan_data", "pontos", (object)1000f, "clan_id", (object)player.clanId))
                     {
                         clan._pontos = 1000f;
                         this._client.SendPacket((SendPacket) new CLAN_CHANGE_POINTS_PAK());
                     }
                     else
                     {
                         this.erro = 2147487830U;
                     }
                 }
                 else
                 {
                     this.erro = 2147487830U;
                 }
             }
             else if (this.itemId > 1301113000 && this.itemId < 1301119000)
             {
                 int increase = this.itemId == 1301114000 ? 500 : (this.itemId == 1301115000 ? 1000 : (this.itemId == 1301116000 ? 5000 : (this.itemId == 1301117000 ? 10000 : 30000)));
                 if (ComDiv.updateDB("accounts", "gp", (object)(player._gp + increase), "player_id", (object)player.player_id))
                 {
                     player._gp += increase;
                     this._client.SendPacket((SendPacket) new AUTH_GOLD_REWARD_PAK(increase, player._gp, 0));
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (this.itemId == 1301999000)
             {
                 if (ComDiv.updateDB("accounts", "exp", (object)(player._exp + 515999), "player_id", (object)player.player_id))
                 {
                     player._exp += 515999;
                     this._client.SendPacket((SendPacket) new A_3096_PAK(515999, 0));
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else if (itemsModel1._category == 3 && RandomBoxXML.ContainsBox(this.itemId))
             {
                 RandomBoxModel box = RandomBoxXML.getBox(this.itemId);
                 if (box != null)
                 {
                     List <RandomBoxItem> sortedList = box.getSortedList(INVENTORY_ITEM_EQUIP_REC.GetRandomNumber(1, 100));
                     List <RandomBoxItem> rewardList = box.getRewardList(sortedList, INVENTORY_ITEM_EQUIP_REC.GetRandomNumber(0, sortedList.Count));
                     if (rewardList.Count > 0)
                     {
                         int index1 = rewardList[0].index;
                         this._client.SendPacket((SendPacket) new AUTH_RANDOM_BOX_REWARD_PAK(this.itemId, index1));
                         List <ItemsModel> items = new List <ItemsModel>();
                         for (int index2 = 0; index2 < rewardList.Count; ++index2)
                         {
                             RandomBoxItem randomBoxItem = rewardList[index2];
                             if (randomBoxItem.item != null)
                             {
                                 items.Add(randomBoxItem.item);
                             }
                             else if (PlayerManager.updateAccountGold(player.player_id, player._gp + (int)randomBoxItem.count))
                             {
                                 player._gp += (int)randomBoxItem.count;
                                 this._client.SendPacket((SendPacket) new AUTH_GOLD_REWARD_PAK((int)randomBoxItem.count, player._gp, 0));
                             }
                             else
                             {
                                 this.erro = 2147483648U;
                                 break;
                             }
                             if (randomBoxItem.special)
                             {
                                 using (AUTH_JACKPOT_NOTICE_PAK jackpotNoticePak = new AUTH_JACKPOT_NOTICE_PAK(player.player_name, this.itemId, index1))
                                     GameManager.SendPacketToAllClients((SendPacket)jackpotNoticePak);
                             }
                         }
                         if (items.Count > 0)
                         {
                             this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, player, items));
                         }
                     }
                     else
                     {
                         this.erro = 2147483648U;
                     }
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
             else
             {
                 int idStatics = ComDiv.getIdStatics(itemsModel1._id, 1);
                 if (idStatics <= 11)
                 {
                     if (itemsModel1._equip == 1)
                     {
                         itemsModel1._equip = 2;
                         ItemsModel itemsModel2 = itemsModel1;
                         DateTime   dateTime    = DateTime.Now;
                         dateTime = dateTime.AddSeconds((double)itemsModel1._count);
                         int num = (int)uint.Parse(dateTime.ToString("yyMMddHHmm"));
                         itemsModel2._count = (uint)num;
                         ComDiv.updateDB("player_items", "object_id", (object)this.objId, "owner_id", (object)player.player_id, new string[2]
                         {
                             "count",
                             "equip"
                         }, (object)(long)itemsModel1._count, (object)itemsModel1._equip);
                     }
                     else
                     {
                         this.erro = 2147483648U;
                     }
                 }
                 else if (idStatics == 13)
                 {
                     this.cupomIncreaseDays(player, itemsModel1._name);
                 }
                 else if (idStatics == 15)
                 {
                     this.cupomIncreaseGold(player, itemsModel1._id);
                 }
                 else
                 {
                     this.erro = 2147483648U;
                 }
             }
         }
         else
         {
             this.erro = 2147483648U;
         }
         this._client.SendPacket((SendPacket) new INVENTORY_ITEM_EQUIP_PAK(this.erro, itemsModel1, player));
     }
     catch (OverflowException ex)
     {
         Logger.error("[Data do erro: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm") + "] Obj: " + (object)this.objId + "; Id do item: " + (object)this.itemId + "; Count na Db: " + (object)this.oldCOUNT + "; Id do cara: " + (object)this._client.player_id + "; Nick: '" + this._client._player.player_name + "'\r\n" + ex.ToString());
         this._client.SendPacket((SendPacket) new INVENTORY_ITEM_EQUIP_PAK(2147483648U, (ItemsModel)null, (Account)null));
     }
     catch (Exception ex)
     {
         Logger.info("INVENTORY_ITEM_EQUIP_REC: " + ex.ToString());
         this._client.SendPacket((SendPacket) new INVENTORY_ITEM_EQUIP_PAK(2147483648U, (ItemsModel)null, (Account)null));
     }
 }
Пример #3
0
        public override void RunImplement()
        {
            try
            {
                Account    player  = client.SessionPlayer;
                ItemsModel itemObj = player != null?player.inventory.GetItem(objectId) : null;

                if (itemObj != null)
                {
                    itemId   = itemObj.id;
                    oldCOUNT = itemObj.count;
                    if (itemObj.category == 3 && player.inventory.items.Count >= 500)
                    {
                        client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(0x80001029));
                        Logger.Warning($" [GAME] [PROTOCOL_INVENTORY_ITEM_EQUIP_REQ] Foi atingido o limite de 500 items no inventário. Nick: {player.nickname} Login: {player.login} PlayerId: {player.playerId}");
                        return;
                    }
                    if (itemId == 1301049000)
                    {
                        if (player.UpdateKDReset())
                        {
                            player.statistics.kills  = 0;
                            player.statistics.deaths = 0;
                            client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(player.statistics));
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemId == 1301048000)
                    {
                        if (player.UpdateTotalFights())
                        {
                            player.statistics.fights     = 0;
                            player.statistics.fightsWin  = 0;
                            player.statistics.fightsLost = 0;
                            player.statistics.fightsDraw = 0;
                            client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(player.statistics));
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemId == 1301050000)
                    {
                        if (player.ExecuteQuery($"UPDATE accounts SET fights_escapes='0' WHERE id='{player.playerId}'"))
                        {
                            player.statistics.escapes = 0;
                            client.SendPacket(new BASE_USER_CHANGE_STATS_PAK(player.statistics));
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemId == 1301053000)
                    {
                        Clan clan = ClanManager.GetClan(player.clanId);
                        if (clan.id > 0 && clan.ownerId == player.playerId && clan.UpdateBattlesReset())
                        {
                            clan.partidas = 0;
                            clan.vitorias = 0;
                            clan.derrotas = 0;
                            client.SendPacket(new CLAN_CHANGE_FIGHTS_PAK());
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemId == 1301055000)
                    {
                        Clan clan = ClanManager.GetClan(player.clanId);
                        if (clan.id > 0 && clan.ownerId == player.playerId)
                        {
                            if ((clan.maxPlayers + 50) <= 250 && player.ExecuteQuery($"UPDATE clan_data SET max_players='{clan.maxPlayers + 50}' WHERE clan_id='{player.clanId}'"))
                            {
                                clan.maxPlayers += 50;
                                client.SendPacket(new CLAN_CHANGE_MAX_PLAYERS_PAK(clan.maxPlayers));
                            }
                            else
                            {
                                erro = 0x80001056;
                            }
                        }
                        else
                        {
                            erro = 0x80001056;
                        }
                    }
                    else if (itemId == 1301056000)
                    {
                        Clan clan = ClanManager.GetClan(player.clanId);
                        if (clan.id > 0 && clan.pontos != 1000)
                        {
                            if (player.ExecuteQuery($"UPDATE clan_data SET pontos='{1000.0f}' WHERE clan_id='{player.clanId}'"))
                            {
                                clan.pontos = 1000;
                                client.SendPacket(new CLAN_CHANGE_POINTS_PAK());
                            }
                            else
                            {
                                erro = 0x80001056;
                            }
                        }
                        else
                        {
                            erro = 0x80001056;
                        }
                    }
                    else if (itemId > 1301113000 && itemId < 1301119000)
                    {
                        int goldReceive = itemId == 1301114000 ? 500 : (itemId == 1301115000 ? 1000 : (itemId == 1301116000 ? 5000 : (itemId == 1301117000 ? 10000 : 30000)));
                        if ((player.gold + goldReceive) <= 999999999 && player.ExecuteQuery($"UPDATE accounts SET gold='{player.gold + goldReceive}' WHERE id='{player.playerId}'"))
                        {
                            player.gold += goldReceive;
                            client.SendPacket(new AUTH_GOLD_REWARD_PAK(goldReceive, player.gold, 0));
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemId == 1301999000)
                    {
                        if ((player.exp + 515999) <= 999999999 && player.ExecuteQuery($"UPDATE accounts SET exp='{player.exp + 515999}' WHERE id='{player.playerId}'"))
                        {
                            player.exp += 515999;
                            client.SendPacket(new A_3096_PAK(515999, 0));
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (itemObj.category == 3 && RandomBoxXML.ContainsBox(itemId))
                    {
                        RandomBoxModel box = RandomBoxXML.GetBox(itemId);
                        if (box != null)
                        {
                            List <RandomBoxItem> sortedList = box.GetSortedList(GetRandomNumber(1, 100));
                            List <RandomBoxItem> rewardList = box.GetRewardList(sortedList, GetRandomNumber(0, sortedList.Count));
                            if (rewardList.Count > 0)
                            {
                                byte itemIdx = (byte)rewardList[0].index;
                                client.SendPacket(new AUTH_RANDOM_BOX_REWARD_PAK(itemId, itemIdx));
                                List <ItemsModel> rewards = new List <ItemsModel>();
                                for (int i = 0; i < rewardList.Count; i++)
                                {
                                    RandomBoxItem cupom = rewardList[i];
                                    if (cupom.item != null)
                                    {
                                        rewards.Add(cupom.item);
                                    }
                                    else if (player.UpdateAccountGold(player.gold + cupom.count))
                                    {
                                        player.gold += cupom.count;
                                        client.SendPacket(new AUTH_GOLD_REWARD_PAK(cupom.count, player.gold, 0));
                                    }
                                    else
                                    {
                                        client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                                        break;
                                    }
                                    if (cupom.special)
                                    {
                                        using (AUTH_JACKPOT_NOTICE_PAK packet = new AUTH_JACKPOT_NOTICE_PAK(player.nickname, itemId, itemIdx))
                                        {
                                            GameManager.SendPacketToAllClients(packet);
                                        }
                                    }
                                }
                                if (rewards.Count > 0)
                                {
                                    client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, rewards));
                                }
                                rewards = null;
                            }
                            else
                            {
                                client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                                return;
                            }
                            sortedList = null;
                            rewardList = null;
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                    else if (player.rankId < 31 && (itemId == 1103003001 || itemId == 1103003002 || itemId == 1103003003 || itemId == 1103003004 || itemId == 1103003005))
                    {
                        client.SendPacket(new SERVER_MESSAGE_ANNOUNCE_PAK("Você não tem rank suficiente para equipar esta boina."));
                        return;
                    }
                    else
                    {
                        int wclass = GetIdStatics(itemObj.id, 1);
                        if (wclass <= 11)
                        {
                            if (itemObj.equip == 1)
                            {
                                itemObj.equip = 2;
                                itemObj.count = int.Parse(DateTime.Now.AddSeconds(itemObj.count).ToString("yyMMddHHmm"));
                                player.ExecuteQuery($"UPDATE player_items SET count='{itemObj.count}', equip='{(int)itemObj.equip}' WHERE object_id='{objectId}' AND owner_id='{player.playerId}'");
                            }
                            else
                            {
                                client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                                return;
                            }
                        }
                        else if (wclass == 13)
                        {
                            CupomIncreaseDays(player, itemObj.name);
                        }
                        else if (wclass == 15)
                        {
                            CupomIncreaseGold(player, itemObj.id);
                        }
                        else
                        {
                            client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                            return;
                        }
                    }
                }
                else
                {
                    client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                    return;
                }
                client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(erro, itemObj, player));
            }
            catch (OverflowException ex)
            {
                Logger.Error($" [PROTOCOL_INVENTORY_ITEM_EQUIP_REQ] [OverflowException] ObjectId: {objectId} ItemId: {itemId} Count na DB: {oldCOUNT} Nick: {client.SessionPlayer.nickname}\r\n" + ex.ToString());
                client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
            }
            catch (Exception ex)
            {
                client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_0x80000000_PAK);
                PacketLog(ex);
            }
        }