Exemplo n.º 1
0
 public byte[] removeFromVendorList()
 {
     if (!WMap.Instance.removeVendorList(owner))
     {
         Console.WriteLine("Something went wrong deleting this vendor");
     }
     return(VendingPackets.getVendorListPacket(owner));
 }
Exemplo n.º 2
0
        public byte[] removeItem(byte index, int state, int x, int y)
        {
            if (!itemsMap.ContainsKey(index))
            {
                Console.WriteLine("Item does not exist!");
                return(null);
            }

            ItemVendor item = itemsMap[index];

            if (item == null)
            {
                Console.WriteLine("Item does not exist!");
                return(null);
            }

            itemsMap.Remove(index);
            itemCoords.Remove(index);
            return(VendingPackets.addItemToVendor(item, state, owner, x, y));
        }
Exemplo n.º 3
0
        public byte[] addItem(ItemVendor item, int state, int x, int y)
        {
            int check = -1;

            check = owner.getInventory().getSeqSaved()[item.getInvIndex()];
            if (check < 0)
            {
                Console.WriteLine("Item does not exist in inventory");
            }

            if (totalMoney + item.getPrice() * item.getQuantity() > moneyCap - owner.getCoin())
            {
                Console.WriteLine("You reached the selling value cap. The total of all items cannot be more if the sum is more as " + moneyCap + ".");
            }

            totalMoney += item.getPrice();
            itemsMap.Add(item.getItemID(), item);
            itemCoords.Add(item.getItemID(), new Point(x, y));
            return(VendingPackets.addItemToVendor(item, state, owner, x, y));
        }
Exemplo n.º 4
0
        public static void StateVending(MartialClient c, InPacket p)
        {
            if (c.getAccount().activeCharacter == null)
            {
                Logger.LogCheat(Logger.HackTypes.NullActive, c, "Attempted to hook openVending while not being ingame.");
                c.Close();
                return;
            }

            Character chr = c.getAccount().activeCharacter;

            byte   stateType = p.ReadByte();
            string shopName  = p.ReadString(30);

            if (stateType == 1)
            {
                if (chr.getVending() != null)
                {
                    Console.WriteLine("u already have teh vending biach");
                    return;
                }

                chr.setVending(new Vending(chr, shopName));
                c.WriteRawPacket(VendingPackets.createVendorFrame(chr, 1, shopName));
                if (chr.getMap() == 1)
                {
                    WMap.Instance.getGrid(1).addToVendings(chr);
                }
            }
            else
            {
                chr.getVending().deleteVendor();
                chr.setVending(null);
                c.WriteRawPacket(VendingPackets.createVendorFrame(chr, 0));
            }

            WMap.Instance.getGrid(chr.getMap()).sendTo3x3Area(chr, chr.getArea(), VendingPackets.getExtVending(chr));
        }
Exemplo n.º 5
0
 public void addVendingPoints_elapsed(object sender, ElapsedEventArgs e)
 {
     this.owner.setVp((byte)(this.owner.getVp() + 1));
     this.owner.getAccount().mClient.WriteRawPacket(VendingPackets.getFameVendingPacket(this.owner));
 }
Exemplo n.º 6
0
 public byte[] addToVendorList()
 {
     WMap.Instance.addVendorList(owner);
     return(VendingPackets.getVendorListPacket(owner));
 }
Exemplo n.º 7
0
 public void open(Character open, int vendorId)
 {
     open.getAccount().mClient.WriteRawPacket(VendingPackets.openVendorFrame(open, itemsMap, itemCoords, owner.getuID(), vendorId));
 }
Exemplo n.º 8
0
        public Boolean soldItem(Character buy, long price, byte index, int invSlot, int x, int y, short amount)
        {
            if (buy.getCoin() - (price * amount) < 0 || owner.getCoin() + (price * amount) > long.MaxValue)
            {
                Console.WriteLine("Let me show you, where i've been.");
                return(false);
            }
            if (!itemsMap.ContainsKey(index))
            {
                Console.WriteLine("no shit sherlock, item doesn't exist!");
                return(false);
            }

            ItemVendor item = itemsMap[index];

            if (item == null)
            {
                Console.WriteLine("Item does not exist!");
                return(false);
            }

            if (amount > item.getQuantity())
            {
                Console.WriteLine("This is not the right amount.");
                return(false);
            }

            buy.setCoin(owner.getCoin() - (price * amount));
            owner.setCoin(owner.getCoin() + (price * amount));

            //when item not deleted
            if (item.getQuantity() > 1 && amount != item.getQuantity())
            {
                item.decrementAmount(amount);
                //replace with new values in vendor
                itemsMap[index] = item;
            }
            else
            {
                //remove item vendor
                removeItemList(index);
            }

            //remove/decrement item
            owner.getInventory().updateInv();
            if (!owner.getInventory().removeItem(invSlot, amount))
            {
                Console.WriteLine("chuj kurwa");
                return(false);
            }
            owner.getInventory().saveInv();

            //add item
            Item newItem = new Item(item.getItemID(), item.getQuantity());

            Console.WriteLine("ItemID: " + newItem.getItemID());
            buy.getInventory().updateInv();
            if (!buy.getInventory().addItem(y, x, newItem))
            {
                Console.WriteLine("Something went wrong while adding the item");
                return(false);
            }
            buy.getInventory().saveInv();
            buy.getAccount().mClient.WriteRawPacket(VendingPackets.buyItemFromVendor(buy, owner, index, invSlot, x, y, amount));
            owner.getAccount().mClient.WriteRawPacket(VendingPackets.buyItemFromVendorSecondSite(buy, owner, index, invSlot, x, y, amount));
            return(true);
        }