private void HandleGMGetItemPacket(GMGetItemPacket gMGetItemPacket)
        {
            if (!IsAdmin)
            {
                return;
            }

            var itemCount = gMGetItemPacket.Count;

            while (itemCount > 0)
            {
                var newItem = new Item(_databasePreloader, gMGetItemPacket.Type, gMGetItemPacket.TypeId,
                                       itemCount);

                var item = AddItemToInventory(newItem);
                if (item != null)
                {
                    _packetsHelper.SendAddItem(Client, item);
                    _packetsHelper.SendGmCommandSuccess(Client);
                }
                else
                {
                    _packetsHelper.SendGmCommandError(Client, PacketType.GM_COMMAND_GET_ITEM);
                }

                itemCount -= newItem.Count;
            }
        }
Esempio n. 2
0
        public void Handle(WorldClient client, GMGetItemPacket packet)
        {
            if (!_gameSession.IsAdmin)
            {
                return;
            }

            var itemCount = packet.Count;
            var ok        = false;

            while (itemCount > 0)
            {
                var newItem = new Item(_databasePreloader, _enchantConfig, _itemCreateConfig, packet.Type, packet.TypeId, itemCount);

                var item = _inventoryManager.AddItem(newItem);
                if (item != null)
                {
                    ok = true;
                }

                itemCount -= newItem.Count;
            }

            if (ok)
            {
                _packetFactory.SendGmCommandSuccess(client);
            }
            else
            {
                _packetFactory.SendGmCommandError(client, PacketType.GM_COMMAND_GET_ITEM);
            }
        }