Esempio n. 1
0
 protected void PlayerOpenShop(GPlayer player, Packet packet)
 {
     Send(ShowOpenShop(player.GetNickname, player.GetUID));
     player.GameInfo.GameShop.ShopOwnerID = (uint)new Random().Next();
     GameShopData.Add(new ShopItemData()
     {
         UID = player.GetUID, Name = "", ShopOwnerID = player.GameInfo.GameShop.ShopOwnerID, NickName = player.GetNickname
     });
 }
Esempio n. 2
0
 protected void PlayerCloseShop(GPlayer player, Packet packet)
 {
     foreach (var data in GameShopData)
     {
         if (data.UID == player.GetUID)
         {
             GameShopData.ToList().Remove(data);
             break;
         }
     }
     Send(ShowShopClose(player.GetNickname, player.GetUID));
     player.GameInfo.GameShop.Clear();
 }
Esempio n. 3
0
        protected void PlayerItemShop(GPlayer player, Packet packet)
        {
            var ItemCount = packet.ReadInt32();

            for (int i = 0; i < ItemCount; i++)
            {
                var itens = (ShopItem)packet.Read(new ShopItem());
                foreach (var Data in GameShopData.Where(c => c.UID == player.GetUID))
                {
                    Data.Items.Add(itens);
                }
                player.GameInfo.GameShop.Add(itens);
            }
            player.SendResponse(ShowShopItems(player, ItemCount, GameShopData.Where(c => c.UID == player.GetUID).ToList()));
        }
Esempio n. 4
0
 protected void PlayerEditShopName(GPlayer player, Packet packet)
 {
     if (!packet.ReadPStr(out string ShopName))
     {
         player.Response.Write(new byte[] { 0xE8, 0x00 });
         player.Response.Write(1);
         player.SendResponse();
         return;
     }
     player.GameInfo.GameShop.Name = ShopName;
     Send(ShowEditShopName(ShopName, player.GetUID, player.GetNickname));
     foreach (var item in GameShopData.Where(c => c.UID == player.GetUID))
     {
         item.Name = ShopName;
     }
 }
Esempio n. 5
0
        protected void PlayerShopBuyItem(GPlayer player, Packet packet)
        {
            if (!packet.ReadUInt32(out uint ShopID))
            {
                return;
            }

            var itens = (ShopItem)packet.Read(new ShopItem());

            foreach (var Data in GameShopData.Where(c => c.ShopOwnerID == ShopID && c.Items.Any(b => b.TypeID == itens.TypeID)))
            {
                if (Data.Remove(itens))
                {
                    player.Send(ShowShopItemBuy(1, itens));
                    player.Send(ShowShopItemBuyResult(Data.NickName, Data.ShopOwnerID, itens));
                }
            }
        }
Esempio n. 6
0
        protected void PlayerCreateVisitorsCount(GPlayer player, Packet packet)
        {
            if (!packet.ReadUInt32(out uint ShopID))
            {
                return;
            }

            if (GameShopData.Any(c => c.ShopOwnerID == ShopID) == false)
            {
                player.Response.Write(new byte[] { 0xE7, 0x00 });
                player.Response.Write(0);//UNKNOWN
                player.SendResponse();
                return;
            }

            foreach (var Data in GameShopData.Where(c => c.ShopOwnerID == ShopID))
            {
                Data.CountVisit++;
                player.Response.Write(new byte[] { 0xE7, 0x00 });
                player.Response.Write(player.ConnectionID);//UNKNOWN
                player.SendResponse();
            }
        }