Exemple #1
0
 public override void run()
 {
     try
     {
         if (this._client == null)
         {
             return;
         }
         Account player = this._client._player;
         if (player == null || player.player_name.Length == 0 || this.type > 1)
         {
             this.erro = EventErrorEnum.VisitEvent_UserFail;
         }
         else if (player._event != null)
         {
             if (player._event.LastVisitSequence1 == player._event.LastVisitSequence2)
             {
                 this.erro = EventErrorEnum.VisitEvent_AlreadyCheck;
             }
             else
             {
                 EventVisitModel eventVisitModel = EventVisitSyncer.getEvent(this.eventId);
                 if (eventVisitModel == null)
                 {
                     this.erro = EventErrorEnum.VisitEvent_Unknown;
                 }
                 else if (eventVisitModel.EventIsEnabled())
                 {
                     VisitItem reward = eventVisitModel.getReward(player._event.LastVisitSequence2, this.type);
                     if (reward != null)
                     {
                         GoodItem good = ShopManager.getGood(reward.good_id);
                         if (good != null)
                         {
                             PlayerEvent playerEvent = player._event;
                             DateTime    dateTime    = DateTime.Now;
                             dateTime = dateTime.AddDays(1.0);
                             int num = int.Parse(dateTime.ToString("yyMMdd"));
                             playerEvent.NextVisitDate = num;
                             ComDiv.updateDB("player_events", "player_id", (object)player.player_id, new string[2]
                             {
                                 "next_visit_date",
                                 "last_visit_sequence2"
                             }, (object)player._event.NextVisitDate, (object)++player._event.LastVisitSequence2);
                             this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, player, new ItemsModel(good._item._id, good._item._category, good._item._name, good._item._equip, (uint)reward.count, 0L)));
                         }
                         else
                         {
                             this.erro = EventErrorEnum.VisitEvent_NotEnough;
                         }
                     }
                     else
                     {
                         this.erro = EventErrorEnum.VisitEvent_Unknown;
                     }
                 }
                 else
                 {
                     this.erro = EventErrorEnum.VisitEvent_WrongVersion;
                 }
             }
         }
         else
         {
             this.erro = EventErrorEnum.VisitEvent_Unknown;
         }
         this._client.SendPacket((SendPacket) new EVENT_VISIT_REWARD_PAK(this.erro));
     }
     catch (Exception ex)
     {
         Logger.info("[EVENT_VERIFICATION_REWARD_REC] " + ex.ToString());
     }
 }
        public override void run()
        {
            try
            {
                if (_client == null)
                {
                    return;
                }
                Account p = _client._player;
                if (p == null || p.player_name.Length == 0 || type > 1)
                {
                    erro = EventErrorEnum.VisitEvent_UserFail;
                }
                else if (p._event != null)
                {
                    if (p._event.LastVisitSequence1 == p._event.LastVisitSequence2)
                    {
                        erro = EventErrorEnum.VisitEvent_AlreadyCheck;
                    }
                    else
                    {
                        EventVisitModel eventv = EventVisitSyncer.getEvent(eventId);
                        if (eventv == null)
                        {
                            erro = EventErrorEnum.VisitEvent_Unknown;
                            goto Result;
                        }

                        if (eventv.EventIsEnabled())
                        {
                            VisitItem chI = eventv.getReward(p._event.LastVisitSequence2, type);
                            if (chI != null)
                            {
                                GoodItem good = ShopManager.getGood(chI.good_id);
                                if (good != null)
                                {
                                    p._event.NextVisitDate = int.Parse(DateTime.Now.AddDays(1).ToString("yyMMdd"));
                                    ComDiv.updateDB("player_events", "player_id", p.player_id, new string[] { "next_visit_date", "last_visit_sequence2" }, p._event.NextVisitDate, ++p._event.LastVisitSequence2);

                                    _client.SendPacket(new INVENTORY_ITEM_CREATE_PAK(1, p, new ItemsModel(good._item._id, good._item._category, good._item._name, good._item._equip, (uint)chI.count)));
                                }
                                else
                                {
                                    erro = EventErrorEnum.VisitEvent_NotEnough;
                                }
                            }
                            else
                            {
                                erro = EventErrorEnum.VisitEvent_Unknown;
                            }
                        }
                        else
                        {
                            erro = EventErrorEnum.VisitEvent_WrongVersion;
                        }
                    }
                }
                else
                {
                    erro = EventErrorEnum.VisitEvent_Unknown;
                }
Result:
                _client.SendPacket(new EVENT_VISIT_REWARD_PAK(erro));
            }
            catch (Exception ex)
            {
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[EVENT_VISIT_REWARD_REC.run] Erro fatal!");
            }
        }