Esempio n. 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());
     }
 }
Esempio n. 2
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null || player.events == null || string.IsNullOrEmpty(player.nickname) || player.nickname.Length == 0 || player.checkEventVisitConfirm)
         {
             client.SendCompletePacket(PackageDataManager.EVENT_VISIT_CONFIRM_0x80001500_PAK);
         }
         else
         {
             int dateNow = int.Parse(DateTime.Now.ToString("yyMMdd"));
             if (player.events.NextVisitDate <= dateNow)
             {
                 EventVisitModel eventVisit = EventVisitSyncer.GetEvent(eventId);
                 if (eventVisit != null)
                 {
                     if (eventVisit.EventIsEnabled())
                     {
                         player.events.NextVisitDate = int.Parse(DateTime.Now.AddDays(1).ToString("yyMMdd"));
                         if (player.ExecuteQuery($"UPDATE player_events SET next_visit_date='{player.events.NextVisitDate}', last_visit_sequence1='{player.events.LastVisitSequence1++}' WHERE player_id='{player.playerId}'"))
                         {
                             bool IsReward = false;
                             try
                             {
                                 IsReward = eventVisit.box[player.events.LastVisitSequence2].reward1.IsReward;
                             }
                             catch
                             {
                             }
                             if (!IsReward)
                             {
                                 player.ExecuteQuery($"UPDATE player_events SET last_visit_sequence2='{player.events.LastVisitSequence2++}' WHERE player_id='{player.playerId}'");
                             }
                             client.SendPacket(new EVENT_VISIT_CONFIRM_PAK(EventErrorEnum.VisitEvent_Success, eventVisit, player.events));
                         }
                         else
                         {
                             client.SendCompletePacket(PackageDataManager.EVENT_VISIT_CONFIRM_0x80001505_PAK);
                         }
                     }
                     else
                     {
                         client.SendCompletePacket(PackageDataManager.EVENT_VISIT_CONFIRM_0x80001503_PAK);
                     }
                 }
                 else
                 {
                     client.SendCompletePacket(PackageDataManager.EVENT_VISIT_CONFIRM_0x80001505_PAK);
                 }
             }
             else
             {
                 client.SendCompletePacket(PackageDataManager.EVENT_VISIT_CONFIRM_0x80001502_PAK);
             }
             player.checkEventVisitConfirm = true;
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
Esempio n. 3
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null || player.nickname.Length == 0 || player.checkEventVisitReward || type > 1)
         {
             client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_USERFAIL_PAK);
         }
         else if (player.events != null)
         {
             if (player.events.LastVisitSequence1 == player.events.LastVisitSequence2)
             {
                 client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_ALREADYCHECK_PAK);
             }
             else
             {
                 EventVisitModel eventv = EventVisitSyncer.GetEvent(eventId);
                 if (eventv == null)
                 {
                     client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_UNKNOWN_PAK);
                     return;
                 }
                 if (eventv.EventIsEnabled())
                 {
                     VisitItem chI = eventv.GetReward(player.events.LastVisitSequence2, type);
                     if (chI != null)
                     {
                         GoodItem good = ShopManager.GetGood(chI.goodId);
                         if (good != null)
                         {
                             player.events.NextVisitDate = int.Parse(DateTime.Now.AddDays(1).ToString("yyMMdd"));
                             if (player.ExecuteQuery($"UPDATE player_events SET next_visit_date='{player.events.NextVisitDate}', last_visit_sequence2='{player.events.LastVisitSequence2++}' WHERE player_id='{player.playerId}'"))
                             {
                                 client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(good.item.id, good.item.category, good.item.name, good.item.equip, chI.count)));
                                 client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_SUCCESS_PAK);
                             }
                             else
                             {
                                 client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_UNKNOWN_PAK);
                             }
                         }
                         else
                         {
                             client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_NOTENOUGH_PAK);
                         }
                     }
                     else
                     {
                         client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_UNKNOWN_PAK);
                     }
                 }
                 else
                 {
                     client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_WRONGVERSION_PAK);
                 }
             }
             player.checkEventVisitReward = true;
         }
         else
         {
             client.SendCompletePacket(PackageDataManager.EVENT_VISIT_REWARD_ERROR_UNKNOWN_PAK);
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
        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!");
            }
        }
Esempio n. 5
0
        public override void run()
        {
            try
            {
                if (_client == null)
                {
                    return;
                }
                Account p = _client._player;
                if (p == null || string.IsNullOrEmpty(p.player_name))
                {
                    erro = EventErrorEnum.VisitEvent_UserFail;
                }
                else if (p._event != null)
                {
                    int dateNow = int.Parse(DateTime.Now.ToString("yyMMdd"));
                    if (p._event.NextVisitDate <= dateNow)
                    {
                        eventv = EventVisitSyncer.getEvent(eventId);
                        if (eventv == null)
                        {
                            erro = EventErrorEnum.VisitEvent_Unknown;
                            goto Result;
                        }

                        if (eventv.EventIsEnabled())
                        {
                            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_sequence1" }, p._event.NextVisitDate, ++p._event.LastVisitSequence1);
                            bool IsReward = false;
                            try
                            {
                                IsReward = eventv.box[p._event.LastVisitSequence2].reward1.IsReward;
                            }
                            catch { }
                            //if (!IsReward)
                            //    ComDiv.updateDB("player_events", "last_visit_sequence2", ++p._event.LastVisitSequence2, "player_id", p.player_id);
                        }
                        else
                        {
                            erro = EventErrorEnum.VisitEvent_WrongVersion;
                        }
                    }
                    else
                    {
                        erro = EventErrorEnum.VisitEvent_AlreadyCheck;
                    }
                }
                else
                {
                    erro = EventErrorEnum.VisitEvent_Unknown;
                }
Result:
                _client.SendPacket(new EVENT_VISIT_CONFIRM_PAK(erro, eventv, p._event));
            }
            catch (Exception ex)
            {
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[EVENT_VERIFICATION_CHECK_REC.run] Erro fatal!");
            }
        }