Example #1
0
        /// <summary>
        /// 添加和修改
        /// </summary>
        /// <returns></returns>
        public ActionResult SaveData()
        {
            string   result    = "";
            string   dataitem  = Request["GoodItem"];
            string   savetype  = Request["savetype"].ToString().Trim();
            GoodItem model_lgt = JsonConvert.DeserializeObject <GoodItem>(dataitem);

            model_lgt.CreateDate = DateTime.Now;
            model_lgt.CreateBy   = Session["UserName"].ToString().Trim();
            if (savetype == "add")
            {
                var gooditemlist = GoodItemService.LoadEntities(a => a.ItemCode == model_lgt.ItemCode).FirstOrDefault();
                if (gooditemlist == null)
                {
                    GoodItemService.AddEntity(model_lgt);
                    result = "保存成功!";
                }
                else
                {
                    result = "编码重复,请重新填写!";
                }
            }
            else if (savetype == "edit")
            {
                if (GoodItemService.EditEntity(model_lgt))
                {
                    result = "编辑成功!";
                }
                else
                {
                    result = "编辑失败";
                }
            }
            return(Content(result.ToString()));
        }
Example #2
0
        void RefreshGoods()
        {
            List <GoodsData> goods = GameManager.Instance.goodsList;

            //string jsonStr = File.ReadAllText("shopJson.txt");
            //Recv_Get_Shop shopData = JsonMapper.ToObject<Recv_Get_Shop>(jsonStr);
            //Debug.Log(jsonStr);
            if (goods != null)
            {
                int index = 0;
                foreach (var item in goods)
                {
                    GoodItem tempItem = goodsItem.Clone() as GoodItem;
                    if (tempItem)
                    {
                        tempItem.SetActive(true);
                        tempItem.OpenUI();
                        tempItem.SetItemInfo(item, index);

                        goodsList.Add(tempItem);
                    }

                    index++;
                }
            }
        }
Example #3
0
        private static void LoadDataMatching2(int cafe)
        {
            List <GoodItem> matchs = new List <GoodItem>();

            lock (ShopAllList)
            {
                for (int i = 0; i < ShopAllList.Count; i++)
                {
                    GoodItem good = ShopAllList[i];
                    if (good._item._count == 0)
                    {
                        continue;
                    }
                    if (!(good.tag == 4 && cafe == 0) && (good.tag == 4 && cafe > 0 || good.visibility != 2))
                    {
                        matchs.Add(good);
                    }
                }
            }
            TotalMatching2 = matchs.Count;
            int Pages = (int)Math.Ceiling(matchs.Count / 741d);
            int count = 0;

            for (int i = 0; i < Pages; i++)
            {
                byte[]   buffer = getMatchingData(741, i, ref count, matchs);
                ShopData data   = new ShopData
                {
                    Buffer     = buffer,
                    ItemsCount = count,
                    Offset     = (i * 741)
                };
                ShopDataMt2.Add(data);
            }
        }
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         if (player == null)
         {
             return;
         }
         PlayerEvent playerEvent = player._event;
         GoodItem    good        = ShopManager.getGood(this.goodId);
         if (good == null || playerEvent == null)
         {
             return;
         }
         PlayTimeModel runningEvent = EventPlayTimeSyncer.getRunningEvent();
         if (runningEvent == null)
         {
             return;
         }
         uint rewardCount = (uint)runningEvent.GetRewardCount(this.goodId);
         if (playerEvent.LastPlaytimeFinish != 1 || rewardCount <= 0U || !ComDiv.updateDB("player_events", "last_playtime_finish", (object)2, "player_id", (object)this._client.player_id))
         {
             return;
         }
         playerEvent.LastPlaytimeFinish = 2;
         this._client.SendPacket((SendPacket) new INVENTORY_ITEM_CREATE_PAK(1, player, new ItemsModel(good._item._id, good._item._category, "Playtime reward", good._item._equip, rewardCount, 0L)));
     }
     catch (Exception ex)
     {
         Logger.info("EVENT_PLAYTIME_REWARD_REC] " + ex.ToString());
     }
 }
Example #5
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null || player.events == null || player.checkEventPlayTimeReward)
         {
             return;
         }
         GoodItem good = ShopManager.GetGood(goodId);
         if (good == null)
         {
             return;
         }
         PlayTimeModel eventPlayTime = EventPlayTimeSyncer.GetRunningEvent();
         if (eventPlayTime != null)
         {
             int count = eventPlayTime.GetRewardCount(goodId);
             if (player.events.LastPlaytimeFinish == 1 && count > 0 && player.UpdatePlayTimeReward())
             {
                 player.events.LastPlaytimeFinish = 2;
                 client.SendPacket(new PROTOCOL_INVENTORY_ITEM_CREATE_ACK(1, player, new ItemsModel(good.item.id, good.item.category, "Playtime reward", good.item.equip, count)));
             }
             player.checkEventPlayTimeReward = true;
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
Example #6
0
        private static void LoadDataItems()
        {
            List <GoodItem> items = new List <GoodItem>();

            lock (ShopUniqueList)
            {
                for (int i = 0; i < ShopUniqueList.Values.Count; i++)
                {
                    GoodItem good = ShopUniqueList.Values[i];
                    if (good.visibility != 1 && good.visibility != 3)
                    {
                        items.Add(good);
                    }
                }
            }
            TotalItems = items.Count;
            int ItemsPages = (int)Math.Ceiling(items.Count / 1111d);
            int count      = 0;

            for (int i = 0; i < ItemsPages; i++)
            {
                byte[]   buffer = getItemsData(1111, i, ref count, items);
                ShopData data   = new ShopData
                {
                    Buffer     = buffer,
                    ItemsCount = count,
                    Offset     = (i * 1111)
                };
                ShopDataItems.Add(data);
            }
        }
        public async Task <IActionResult> PutGoodItem(int id, GoodItem goodItem)
        {
            if (id != goodItem.ID)
            {
                return(BadRequest());
            }

            _context.Entry(goodItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GoodItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <GoodItem> > GetGoodItem(int id)
        {
            GoodItem goodItem = await _context.GoodItems
                                .Where(i => i.ID == id)
                                .Include("Pictures")
                                .Select(g => new GoodItem
            {
                ID          = g.ID,
                Name        = g.Name,
                Description = g.Description,
                Price       = g.Price,
                Date        = g.Date,
                PicURL      = g.PicURL,
                CategoryId  = g.CategoryId,
                Pictures    = g.Pictures.Select(p => new Picture
                {
                    ID         = p.ID,
                    pathURL    = p.pathURL,
                    GoodItemId = p.GoodItemId
                })
            }).FirstOrDefaultAsync();



            if (goodItem == null)
            {
                return(NotFound());
            }

            return(goodItem);
        }
Example #9
0
        public static List <GoodItem> getGoods(List <CartGoods> ShopCart, out int GoldPrice, out int CashPrice)
        {
            GoldPrice = 0;
            CashPrice = 0;
            List <GoodItem> items = new List <GoodItem>();

            if (ShopCart.Count == 0)
            {
                return(items);
            }
            lock (ShopBuyableList)
            {
                for (int i = 0; i < ShopBuyableList.Count; i++)
                {
                    GoodItem good = ShopBuyableList[i];
                    for (int i2 = 0; i2 < ShopCart.Count; i2++)
                    {
                        CartGoods CartGood = ShopCart[i2];
                        if (CartGood.GoodId == good.id)
                        {
                            items.Add(good);
                            if (CartGood.BuyType == 1)
                            {
                                GoldPrice += good.price_gold;
                            }
                            else if (CartGood.BuyType == 2)
                            {
                                CashPrice += good.price_cash;
                            }
                        }
                    }
                }
            }
            return(items);
        }
        public async Task <ActionResult <GoodItem> > PostGoodItem(GoodItem goodItem)
        {
            goodItem.Date = DateTime.Now;
            _context.GoodItems.Add(goodItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGoodItem", new { id = goodItem.ID }, goodItem));
        }
Example #11
0
 private static void WriteItemsData(GoodItem good, SendGPacket p)
 {
     p.writeD(good._item._id);
     p.writeC((byte)good.auth_type);
     p.writeC((byte)good.buy_type2);
     p.writeC((byte)good.buy_type3);
     p.writeC((byte)good.title);
 }
Example #12
0
 private static void WriteGoodsData(GoodItem good, SendGPacket p)
 {
     p.writeD(good.id);
     p.writeC(1);
     p.writeC((byte)(good.visibility == 4 ? 4 : 1));
     //Flag1 = Show icon + Buy option | Flag2 = UNK | Flag4 = Show icon + No buy option
     p.writeD(good.price_gold);
     p.writeD(good.price_cash);
     p.writeC((byte)good.tag);
 }
Example #13
0
        public OrderDto GetTotals(OrderDto orderDto)
        {
            var order = new Domain.OrderAggregate.Order();

            foreach (var orderItemDto in orderDto.OrderItems)
            {
                var goodItem = new GoodItem(orderItemDto.UnitPrice, orderItemDto.Quantity, orderItemDto.IsImported, GoodItemTypeEnum.FromName(orderItemDto.Type), null, new GoodItemDetails(orderItemDto.Name));
                order.AddGoodItem(goodItem);
            }

            //todo: use object-object mapper instead
            return(new OrderDto(order));
        }
Example #14
0
        protected override void OnInit(object userData)
        {
            base.OnInit(userData);
            GUILink link = GetComponent <GUILink>();

            goodsItem = link.Get <GoodItem>("GoodInfo");
            goodsItem.SetActive(false);
            goodsList = new List <GoodItem>();

            link.SetEvent("ButtonClose", UIEventType.Click, OnClickExit);

            RefreshGoods();
        }
Example #15
0
        /// <summary>
        /// 删除记录
        /// </summary>
        /// <returns></returns>
        public ActionResult DeleteData()
        {
            string res = "";

            if (Request["DeleteItem"] == null)
            {
                res = "参数错误!";
            }
            else
            {
                string   item     = Request["DeleteItem"].ToString();
                GoodItem itemLine = JsonConvert.DeserializeObject <GoodItem>(item);
                res = GoodItemService.DeleteEntity(itemLine) ? "删除成功" : "删除失败";
            }
            return(Content(res));
        }
Example #16
0
        /// <summary>
        /// 添加和修改
        /// </summary>
        /// <returns></returns>
        public ActionResult SaveData()
        {
            bool     result    = false;
            string   dataitem  = Request["GoodItem"];
            string   savetype  = Request["savetype"].ToString().Trim();
            GoodItem model_lgt = JsonConvert.DeserializeObject <GoodItem>(dataitem);

            if (savetype == "add")
            {
                GoodItemService.AddEntity(model_lgt);
                result = true;
            }
            else if (savetype == "edit")
            {
                result = GoodItemService.EditEntity(model_lgt);
            }
            return(Content(result.ToString()));
        }
Example #17
0
 public static GoodItem getGood(int goodId)
 {
     if (goodId == 0)
     {
         return(null);
     }
     lock (ShopAllList)
     {
         for (int i = 0; i < ShopAllList.Count; i++)
         {
             GoodItem good = ShopAllList[i];
             if (good.id == goodId)
             {
                 return(good);
             }
         }
     }
     return(null);
 }
Example #18
0
 public override void run()
 {
     try
     {
         if (_client == null)
         {
             return;
         }
         Account p = _client._player;
         if (p == null)
         {
             return;
         }
         if (p._inventory._items.Count >= 500)
         {
             _client.SendPacket(new INVENTORY_ITEM_EQUIP_PAK(2147487785));
             _client.SendPacket(new BOX_MESSAGE_GIFT_TAKE_PAK(0x80000000));
         }
         else
         {
             Message msg = MessageManager.getMessage(msgId, p.player_id);
             if (msg != null && msg.type == 2)
             {
                 GoodItem good = ShopManager.getGood((int)msg.sender_id);
                 if (good != null)
                 {
                     SaveLog.warning("Received gift. [Good: " + good.id + "; Item: " + good._item._id + "]");
                     _client.SendPacket(new BOX_MESSAGE_GIFT_TAKE_PAK(1, good._item, p));
                     MessageManager.DeleteMessage(msgId, p.player_id);
                 }
             }
             else
             {
                 _client.SendPacket(new BOX_MESSAGE_GIFT_TAKE_PAK(0x80000000));
             }
         }
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[BOX_MESSAGE_GIFT_TAKE_REC.run] Erro fatal!");
     }
 }
Example #19
0
 public override void run()
 {
     try
     {
         if (this._client == null)
         {
             return;
         }
         Account player = this._client._player;
         if (player == null)
         {
             return;
         }
         if (player._inventory._items.Count >= 500)
         {
             this._client.SendPacket((SendPacket) new INVENTORY_ITEM_EQUIP_PAK(2147487785U, (ItemsModel)null, (Account)null));
             this._client.SendPacket((SendPacket) new BOX_MESSAGE_GIFT_TAKE_PAK(2147483648U, (ItemsModel)null, (Account)null));
         }
         else
         {
             Message message = MessageManager.getMessage(this.msgId, player.player_id);
             if (message != null && message.type == 2)
             {
                 GoodItem good = ShopManager.getGood((int)message.sender_id);
                 if (good == null)
                 {
                     return;
                 }
                 Logger.warning("Received gift. [Good: " + (object)good.id + "; Item: " + (object)good._item._id + "]");
                 this._client.SendPacket((SendPacket) new BOX_MESSAGE_GIFT_TAKE_PAK(1U, good._item, player));
                 MessageManager.DeleteMessage(this.msgId, player.player_id);
             }
             else
             {
                 this._client.SendPacket((SendPacket) new BOX_MESSAGE_GIFT_TAKE_PAK(2147483648U, (ItemsModel)null, (Account)null));
             }
         }
     }
     catch (Exception ex)
     {
         Logger.info("[BOX_MESSAGE_GIFT_TAKE_REC] " + ex.ToString());
     }
 }
Example #20
0
        public static string SendGiftById(string str)
        {
            if (!ServerConfig.GiftSystem)
            {
                return(Translation.GetLabel("SendGift_SystemOffline"));
            }
            string txt = str.Substring(str.IndexOf(" ") + 1);

            string[] split      = txt.Split(' ');
            long     player_id  = Convert.ToInt64(split[0]);
            int      shopGiftId = Convert.ToInt32(split[1]);

            Account pR = AccountManager.getAccount(player_id, 0);

            if (pR == null)
            {
                return(Translation.GetLabel("SendGift_Fail4"));
            }
            GoodItem good = ShopManager.getGood(shopGiftId);

            if (good != null && (good.visibility == 0 || good.visibility == 4))
            {
                Message gift = new Message(30)
                {
                    sender_id = shopGiftId, state = 0, type = 2
                };
                if (MessageManager.CreateMessage(player_id, gift))
                {
                    pR.SendPacket(new BOX_MESSAGE_GIFT_RECEIVE_PAK(gift), false);
                    return(Translation.GetLabel("SendGift_Success", good._item._name, pR.player_name));
                }
                else
                {
                    return(Translation.GetLabel("SendGift_Fail1"));
                }
            }
            else
            {
                return(good == null?Translation.GetLabel("SendGift_Fail2") : Translation.GetLabel("SendGift_Fail3", good._item._name));
            }
        }
Example #21
0
    public void Additem(int itemId)
    {
        var      tempItem  = itemJsonDataList.FirstOrDefault(t => t.ID == itemId);
        ItemData itemToAdd = tempItem == null ? null : tempItem;

        //判断当前物品属性是否可叠加且
        if (itemToAdd.Stackable == true)
        {
            tempItem = itemBagList.FirstOrDefault(t => t.ID == itemId);
            bool isExist = tempItem == null ? false : true;
            //当前背包内是否已经存在同类型
            if (isExist)
            {
                for (int i = 0; i < itemBagList.Count; i++)
                {
                    if (itemBagList[i].ID == itemId)
                    {
                        GoodItem data = slotBagList[i].transform.GetChild(0).GetComponent <GoodItem>();
                        if (data.amount < itemToAdd.StackMax)
                        {
                            data.amount++;
                            data.transform.GetChild(0).GetComponent <Text>().text = data.amount.ToString();
                            return;
                        }
                    }
                }
                CreatNewItem(itemToAdd);
            }
            else
            {
                CreatNewItem(itemToAdd);
            }
        }
        else
        {
            CreatNewItem(itemToAdd);
        }
    }
Example #22
0
 public override void RunImplement()
 {
     try
     {
         Account player = client.SessionPlayer;
         if (player == null)
         {
             return;
         }
         if (player.inventory.items.Count >= 500)
         {
             client.SendCompletePacket(PackageDataManager.INVENTORY_ITEM_EQUIP_2147487785_PAK);
             client.SendCompletePacket(PackageDataManager.BOX_MESSAGE_GIFT_TAKE_0x80000000_PAK);
         }
         else
         {
             Message msg = player.GetMessage(objectId);
             if (msg != null && msg.type == 2)
             {
                 GoodItem good = ShopManager.GetGood((int)msg.senderId);
                 if (good != null)
                 {
                     Logger.Warning($" [BOX_MESSAGE_GIFT_TAKE_REQ] Received gift. [Good: {good.id} Item: {good.item.id}]");
                     client.SendPacket(new BOX_MESSAGE_GIFT_TAKE_PAK(1, good.item, player));
                     player.DeleteMessage(objectId);
                 }
             }
             else
             {
                 client.SendCompletePacket(PackageDataManager.BOX_MESSAGE_GIFT_TAKE_0x80000000_PAK);
             }
         }
     }
     catch (Exception ex)
     {
         PacketLog(ex);
     }
 }
Example #23
0
        public static string SendGiftById(string str)
        {
            if (!GameManager.Config.GiftSystem)
            {
                return(Translation.GetLabel("SendGift_SystemOffline"));
            }
            string[] strArray = str.Substring(str.IndexOf(" ") + 1).Split(' ');
            long     int64    = Convert.ToInt64(strArray[0]);
            int      int32    = Convert.ToInt32(strArray[1]);
            Account  account  = AccountManager.getAccount(int64, 0);

            if (account == null)
            {
                return(Translation.GetLabel("SendGift_Fail4"));
            }
            GoodItem good = ShopManager.getGood(int32);

            if (good != null && (good.visibility == 0 || good.visibility == 4))
            {
                Message message = new Message(30.0)
                {
                    sender_id = (long)int32,
                    state     = 0,
                    type      = 2
                };
                if (!MessageManager.CreateMessage(int64, message))
                {
                    return(Translation.GetLabel("SendGift_Fail1"));
                }
                account.SendPacket((SendPacket) new BOX_MESSAGE_GIFT_RECEIVE_PAK(message), false);
                return(Translation.GetLabel("SendGift_Success", (object)good._item._name, (object)account.player_name));
            }
            if (good == null)
            {
                return(Translation.GetLabel("SendGift_Fail2"));
            }
            return(Translation.GetLabel("SendGift_Fail3", (object)good._item._name));
        }
        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!");
            }
        }
Example #25
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());
     }
 }
Example #26
0
 private static void WriteMatchData(GoodItem good, SendGPacket p)
 {
     p.writeD(good.id);
     p.writeD(good._item._id);
     p.writeD(good._item._count);
 }
Example #27
0
        private void AddItems(List <GoodItem> items)
        {
            GoodItem goodItem1 = (GoodItem)null;

            try
            {
                foreach (GoodItem goodItem2 in items)
                {
                    goodItem1 = goodItem2;
                    ItemsModel itemsModel1 = this.p._inventory.getItem(goodItem2._item._id);
                    ItemsModel itemsModel2 = new ItemsModel(goodItem2._item);
                    if (itemsModel1 == null)
                    {
                        if (PlayerManager.CreateItem(itemsModel2, this.p.player_id))
                        {
                            this.p._inventory.AddItem(itemsModel2);
                        }
                    }
                    else
                    {
                        itemsModel2._count = itemsModel1._count;
                        itemsModel2._objId = itemsModel1._objId;
                        if (itemsModel1._equip == 1)
                        {
                            itemsModel2._count += goodItem2._item._count;
                            ComDiv.updateDB("player_items", "count", (object)(long)itemsModel2._count, "owner_id", (object)this.p.player_id, "item_id", (object)itemsModel2._id);
                        }
                        else if (itemsModel1._equip == 2 && itemsModel2._category != 3)
                        {
                            DateTime exact = DateTime.ParseExact(itemsModel1._count.ToString(), "yyMMddHHmm", (IFormatProvider)CultureInfo.InvariantCulture);
                            itemsModel2._count = uint.Parse(exact.AddSeconds((double)goodItem2._item._count).ToString("yyMMddHHmm"));
                            ComDiv.updateDB("player_items", "count", (object)(long)itemsModel2._count, "owner_id", (object)this.p.player_id, "item_id", (object)itemsModel2._id);
                        }
                        itemsModel2._equip = itemsModel1._equip;
                        itemsModel1._count = itemsModel2._count;
                    }
                    if (itemsModel2._category == 1)
                    {
                        this.weapons.Add(itemsModel2);
                    }
                    else if (itemsModel2._category == 2)
                    {
                        this.charas.Add(itemsModel2);
                    }
                    else if (itemsModel2._category == 3)
                    {
                        this.cupons.Add(itemsModel2);
                    }
                }
            }
            catch (Exception ex)
            {
                this.erro = 2147487767U;
                Logger.warning("[SHOP_BUY_PAK] " + ex.ToString());
                if (goodItem1 == null)
                {
                    return;
                }
                Logger.warning("[SHOP_BUY_PAK] Good: " + (object)goodItem1.id);
            }
        }
Example #28
0
 private void AddItems(List <GoodItem> items)
 {
     try
     {
         for (int i = 0; i < items.Count; i++)
         {
             GoodItem   good   = items[i];
             ItemsModel iv     = player.inventory.GetItem(good.item.id);
             ItemsModel modelo = new ItemsModel(good.item);
             if (iv == null)
             {
                 if (player.CreateItem(modelo))
                 {
                     player.inventory.AddItem(modelo);
                 }
                 else
                 {
                     error = 2147487767;
                     break;
                 }
             }
             else
             {
                 modelo.count    = iv.count;
                 modelo.objectId = iv.objectId;
                 if (iv.equip == 1)
                 {
                     if ((good.item.count + modelo.count) > Settings.MaxBuyItemUnits)
                     {
                         Logger.Warning($" [GAME] [{GetType().Name}] Não foi possivel comprar mais de {Settings.MaxBuyItemUnits} unidades do mesmo equipamento. ItemId: {iv.id} PlayerId: {player.playerId} Date: {DateTime.Now}");
                         error = 2147487767;
                         break;
                     }
                     modelo.count += good.item.count;
                     if (!player.ExecuteQuery($"UPDATE player_items SET count='{modelo.count}' WHERE owner_id='{player.playerId}' AND item_id='{modelo.id}'"))
                     {
                         error = 2147487767;
                         break;
                     }
                 }
                 else if (iv.equip == 2 && modelo.category != 3)
                 {
                     DateTime data = DateTime.ParseExact(iv.count.ToString(), "yyMMddHHmm", CultureInfo.InvariantCulture).AddSeconds(good.item.count);
                     if ((data - DateTime.Now).Days + 1 > Settings.MaxBuyItemDays) //+1 porque ele não conta o dia atual da compra neste calculo, no jogo compra 30 dias, aqui mostra 29 e somo mais 1
                     {
                         Logger.Warning($" [GAME] [{GetType().Name}] Não foi possivel comprar mais de {Settings.MaxBuyItemDays} dias do mesmo equipamento. ItemId: {iv.id} PlayerId: {player.playerId} Date: {DateTime.Now}");
                         error = 2147487767;
                         break;
                     }
                     modelo.count = int.Parse(data.ToString("yyMMddHHmm"));
                     if (!player.ExecuteQuery($"UPDATE player_items SET count='{modelo.count}' WHERE owner_id='{player.playerId}' AND item_id='{modelo.id}'"))
                     {
                         error = 2147487767;
                         break;
                     }
                 }
                 modelo.equip = iv.equip;
                 iv.count     = modelo.count;
             }
             if (modelo.category == 1)
             {
                 weapons.Add(modelo);
             }
             else if (modelo.category == 2)
             {
                 charas.Add(modelo);
             }
             else if (modelo.category == 3)
             {
                 cupons.Add(modelo);
             }
         }
     }
     catch (Exception ex)
     {
         error = 2147487767;
         Logger.Exception(ex);
     }
 }
Example #29
0
        public static void Load(int type)
        {
            try
            {
                using (NpgsqlConnection connection = SQLjec.getInstance().conn())
                {
                    connection.Open();
                    NpgsqlCommand command = connection.CreateCommand();
                    command.CommandText = "SELECT * FROM shop";
                    command.CommandType = CommandType.Text;
                    NpgsqlDataReader data = command.ExecuteReader();
                    while (data.Read())
                    {
                        GoodItem good = new GoodItem
                        {
                            id         = data.GetInt32(0),
                            price_gold = data.GetInt32(3),
                            price_cash = data.GetInt32(4),
                            auth_type  = data.GetInt16(6),
                            buy_type2  = data.GetInt16(7),
                            buy_type3  = data.GetInt16(8),
                            tag        = data.GetInt16(9),
                            title      = data.GetInt16(10),
                            visibility = data.GetInt16(11)
                        };

                        good._item.SetItemId(data.GetInt32(1));
                        good._item._name  = data.GetString(2);
                        good._item._count = (UInt32)data.GetInt32(5);
                        int Static = ComDiv.getIdStatics(good._item._id, 1);
                        if (type == 1 || type == 2 && Static == 12)
                        {
                            ShopAllList.Add(good);
                            if (good.visibility != 2 && good.visibility != 4)
                            {
                                ShopBuyableList.Add(good);
                            }
                            if (!ShopUniqueList.ContainsKey(good._item._id) && good.auth_type > 0)
                            {
                                ShopUniqueList.Add(good._item._id, good);
                                if (good.visibility == 4)
                                {
                                    set4p++;
                                }
                            }
                        }
                    }
                    if (type == 1)
                    {
                        LoadDataMatching1Goods(0);
                        LoadDataMatching2(1);
                        LoadDataItems();
                    }
                    command.Dispose();
                    data.Close();
                    connection.Dispose();
                    connection.Close();
                }
                if (set4p > 0)
                {
                    Printf.warning("[Aviso] Existem " + set4p + " itens na loja invisíveis, porém com os ícones liberados.");
                }
            }
            catch (Exception ex)
            {
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[ShopManager.Load] Erro fatal!");
            }
        }
Example #30
0
        private void AddItems(List <GoodItem> items)
        {
            GoodItem g2 = null;

            try
            {
                foreach (GoodItem good in items)
                {
                    g2 = good;
                    ItemsModel iv = p._inventory.getItem(good._item._id);

                    ItemsModel modelo = new ItemsModel(good._item);
                    if (iv == null)
                    {
                        if (PlayerManager.CreateItem(modelo, p.player_id))
                        {
                            p._inventory.AddItem(modelo);
                        }
                    }
                    else
                    {
                        modelo._count = iv._count;
                        modelo._objId = iv._objId;
                        if (iv._equip == 1)
                        {
                            modelo._count += good._item._count;
                            ComDiv.updateDB("player_items", "count", (long)modelo._count, "owner_id", p.player_id, "item_id", modelo._id);
                        }
                        else if (iv._equip == 2 && modelo._category != 3)
                        {
                            DateTime data = DateTime.ParseExact(iv._count.ToString(), "yyMMddHHmm", CultureInfo.InvariantCulture);
                            modelo._count = uint.Parse(data.AddSeconds(good._item._count).ToString("yyMMddHHmm"));
                            ComDiv.updateDB("player_items", "count", (long)modelo._count, "owner_id", p.player_id, "item_id", modelo._id);
                        }
                        modelo._equip = iv._equip;
                        iv._count     = modelo._count;
                    }
                    if (modelo._category == 1)
                    {
                        weapons.Add(modelo);
                    }
                    else if (modelo._category == 2)
                    {
                        charas.Add(modelo);
                    }
                    else if (modelo._category == 3)
                    {
                        cupons.Add(modelo);
                    }
                }
            }
            catch (Exception ex)
            {
                erro = 2147487767;
                SaveLog.fatal(ex.ToString());
                Printf.b_danger("[SHOP_BUY_PAK.AddItems] Erro fatal!");
                if (g2 != null)
                {
                    SaveLog.fatal("[SHOP_BUY_PAK] Good: " + g2.id);
                }
            }
        }