PDA

View Full Version : |Dúvida| Query pra deletar item específico do servidor



LaMO
24/04/2020, 04:16 PM
Já fiz uma query dessa a MUUUUITO tempo, mas não lembro mais como eu fiz infelizmente, e como voltei a mexer com MU Agora, ainda não estou 100% familiarizado com tudo.

O que preciso é uma query que deleta um item específico dos inventários/baús.

Por exemplo, se eu modificar um SET e fazer um SET novo, em uma versão antiga, eu preciso deletar ele de todo mundo.

Gostaria de saber se ainda é possível fazer isso nas programações dos baús múltiplos de hoje, e como seria a query.

Muito obrigado a todos.

cronusmaker
24/04/2020, 04:19 PM
cara existe uma query do wolf não sei se vai ser funcional em todas as verções

pois o suporte dela e somente para 97d



--
-- Tabela de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_ITEMS]') AND type in (N'U'))
DROP TABLE [dbo].[WOLF_ITEMS]
GO

CREATE TABLE WOLF_ITEMS
(
ItemSection INT,
ItemIndex INT,
ItemPrice INT DEFAULT (0)
)
GO

--
-- Função de inicialização
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INITIALIZE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_INITIALIZE]
GO

CREATE PROCEDURE WOLF_INITIALIZE AS
BEGIN
SET NOCOUNT ON
DELETE FROM WOLF_ITEMS
END
GO

--
-- Registro de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_REMOVE_ITEM]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_REMOVE_ITEM]
GO

CREATE PROCEDURE WOLF_REMOVE_ITEM
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
SET NOCOUNT ON
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do bau
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_WAREHOUSE_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_WAREHOUSE_REMOVE]
GO

CREATE FUNCTION WOLF_WAREHOUSE_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(1200)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de warehouses
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_WAREHOUSE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_WAREHOUSE]
GO

CREATE PROCEDURE WOLF_PROCESS_WAREHOUSE
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INVENTORY_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_INVENTORY_REMOVE]
GO

CREATE FUNCTION WOLF_INVENTORY_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(760)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_INVENTORY]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_INVENTORY]
GO

CREATE PROCEDURE WOLF_PROCESS_INVENTORY
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN

[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Execução do processo
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_EXECUTE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_EXECUTE]
GO

CREATE PROCEDURE WOLF_EXECUTE
AS
BEGIN
SET NOCOUNT ON

[Only registered and activated users can see links]
DECLARE account AS VARCHAR(10)
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

-- Inventários

DECLARE inventories CURSOR FOR SELECT AccountID, Name, Inventory FROM Character

OPEN inventories
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE inventories
DEALLOCATE inventories

-- Warehouses

DECLARE warehouses CURSOR FOR SELECT AccountID, Items FROM warehouse

OPEN warehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE warehouses
DEALLOCATE warehouses

-- ExtWarehouses

DECLARE extwarehouses CURSOR FOR
SELECT AccountID, Items, VaultID FROM ExWarehouse

OPEN extwarehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE extwarehouses
DEALLOCATE extwarehouses
END
GO

Exemplos de uso:

1. Remove todos os Chaos Nature Bows do servidor, sem dar nenhum cash pro usuário.

4 = Seção e bows
6 = Índice do Chaos Nature Bow
0 = Cashs retornados para cada item encontrado

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 4, 6, 0
EXEC WOLF_EXECUTE
2. Remove o set Dragon do servidor e devolve 10 cashs para cada Helm, Boots, Gloves, e 15 para cada Armor e Pants

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 7, 1, 10
EXEC WOLF_REMOVE_ITEM 8, 1, 15
EXEC WOLF_REMOVE_ITEM 9, 1, 15
EXEC WOLF_REMOVE_ITEM 10, 1, 10
EXEC WOLF_REMOVE_ITEM 11, 1, 10
EXEC WOLF_EXECUTE
Resumindo:

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM <SEÇÃO_DO_ITEM>, <ÍNDICE_DO_ITEM>, <CASHS_DEVOLVIDOS>
EXEC WOLF_EXECUTE
Sempre que tiver + de um item para ser removido, por exemplo sets que são 5 itens, repetir a linha do WOLF_REMOVE_ITEM com as informações do item em específico.



Não darei suporte pro script, nem farei atualizações no mesmo
O script tem muito tempo que foi feito, e nem lembro se é a última versão
NUNCA UTILIZE O SCRIPT COM O SERVIDOR LIGADO E/OU SITE/SHOP LIGADO
Use por sua conta e risco... eu to cagando e andando se você fizer algo errado [Only registered and activated users can see links]



Créditos: WoLfulus

Só pra complementar. Se quiserem apenas apagar o item sem dar qualquer bonificação, podem usar também a ferramenta "WIPE Items" do CZF Editor 1.5a.

ATT Renato

LaMO
24/04/2020, 05:49 PM
cara existe uma query do wolf não sei se vai ser funcional em todas as verções

pois o suporte dela e somente para 97d



--
-- Tabela de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_ITEMS]') AND type in (N'U'))
DROP TABLE [dbo].[WOLF_ITEMS]
GO

CREATE TABLE WOLF_ITEMS
(
ItemSection INT,
ItemIndex INT,
ItemPrice INT DEFAULT (0)
)
GO

--
-- Função de inicialização
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INITIALIZE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_INITIALIZE]
GO

CREATE PROCEDURE WOLF_INITIALIZE AS
BEGIN
SET NOCOUNT ON
DELETE FROM WOLF_ITEMS
END
GO

--
-- Registro de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_REMOVE_ITEM]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_REMOVE_ITEM]
GO

CREATE PROCEDURE WOLF_REMOVE_ITEM
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
SET NOCOUNT ON
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do bau
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_WAREHOUSE_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_WAREHOUSE_REMOVE]
GO

CREATE FUNCTION WOLF_WAREHOUSE_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(1200)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de warehouses
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_WAREHOUSE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_WAREHOUSE]
GO

CREATE PROCEDURE WOLF_PROCESS_WAREHOUSE
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INVENTORY_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_INVENTORY_REMOVE]
GO

CREATE FUNCTION WOLF_INVENTORY_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(760)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_INVENTORY]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_INVENTORY]
GO

CREATE PROCEDURE WOLF_PROCESS_INVENTORY
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN

[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Execução do processo
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_EXECUTE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_EXECUTE]
GO

CREATE PROCEDURE WOLF_EXECUTE
AS
BEGIN
SET NOCOUNT ON

[Only registered and activated users can see links]
DECLARE account AS VARCHAR(10)
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

-- Inventários

DECLARE inventories CURSOR FOR SELECT AccountID, Name, Inventory FROM Character

OPEN inventories
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE inventories
DEALLOCATE inventories

-- Warehouses

DECLARE warehouses CURSOR FOR SELECT AccountID, Items FROM warehouse

OPEN warehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE warehouses
DEALLOCATE warehouses

-- ExtWarehouses

DECLARE extwarehouses CURSOR FOR
SELECT AccountID, Items, VaultID FROM ExWarehouse

OPEN extwarehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE extwarehouses
DEALLOCATE extwarehouses
END
GO

Exemplos de uso:

1. Remove todos os Chaos Nature Bows do servidor, sem dar nenhum cash pro usuário.

4 = Seção e bows
6 = Índice do Chaos Nature Bow
0 = Cashs retornados para cada item encontrado

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 4, 6, 0
EXEC WOLF_EXECUTE
2. Remove o set Dragon do servidor e devolve 10 cashs para cada Helm, Boots, Gloves, e 15 para cada Armor e Pants

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 7, 1, 10
EXEC WOLF_REMOVE_ITEM 8, 1, 15
EXEC WOLF_REMOVE_ITEM 9, 1, 15
EXEC WOLF_REMOVE_ITEM 10, 1, 10
EXEC WOLF_REMOVE_ITEM 11, 1, 10
EXEC WOLF_EXECUTE
Resumindo:

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM <SEÇÃO_DO_ITEM>, <ÍNDICE_DO_ITEM>, <CASHS_DEVOLVIDOS>
EXEC WOLF_EXECUTE
Sempre que tiver + de um item para ser removido, por exemplo sets que são 5 itens, repetir a linha do WOLF_REMOVE_ITEM com as informações do item em específico.



Não darei suporte pro script, nem farei atualizações no mesmo
O script tem muito tempo que foi feito, e nem lembro se é a última versão
NUNCA UTILIZE O SCRIPT COM O SERVIDOR LIGADO E/OU SITE/SHOP LIGADO
Use por sua conta e risco... eu to cagando e andando se você fizer algo errado [Only registered and activated users can see links]



Créditos: WoLfulus

Só pra complementar. Se quiserem apenas apagar o item sem dar qualquer bonificação, podem usar também a ferramenta "WIPE Items" do CZF Editor 1.5a.

ATT Renato


[Only registered and activated users can see links]

[Only registered and activated users can see links]

100% funcional

cronusmaker
25/04/2020, 10:55 AM
sim isso por causa de algumas funções do forum então da uma revisada no codigo

LaMO
25/04/2020, 12:14 PM
sim isso por causa de algumas funções do forum então da uma revisada no codigo

Funcionou 100%, postei embaixo as modificações que fiz pra ficar funcional. Obrigado

65 Dias 9 Horas:------- Atualizado -------


cara existe uma query do wolf não sei se vai ser funcional em todas as verções

pois o suporte dela e somente para 97d



--
-- Tabela de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_ITEMS]') AND type in (N'U'))
DROP TABLE [dbo].[WOLF_ITEMS]
GO

CREATE TABLE WOLF_ITEMS
(
ItemSection INT,
ItemIndex INT,
ItemPrice INT DEFAULT (0)
)
GO

--
-- Função de inicialização
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INITIALIZE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_INITIALIZE]
GO

CREATE PROCEDURE WOLF_INITIALIZE AS
BEGIN
SET NOCOUNT ON
DELETE FROM WOLF_ITEMS
END
GO

--
-- Registro de items a serem removidos
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_REMOVE_ITEM]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_REMOVE_ITEM]
GO

CREATE PROCEDURE WOLF_REMOVE_ITEM
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
SET NOCOUNT ON
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do bau
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_WAREHOUSE_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_WAREHOUSE_REMOVE]
GO

CREATE FUNCTION WOLF_WAREHOUSE_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(1200)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de warehouses
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_WAREHOUSE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_WAREHOUSE]
GO

CREATE PROCEDURE WOLF_PROCESS_WAREHOUSE
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Remoção de item do inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_INVENTORY_REMOVE]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[WOLF_INVENTORY_REMOVE]
GO

CREATE FUNCTION WOLF_INVENTORY_REMOVE
(
[Only registered and activated users can see links]
[Only registered and activated users can see links]
)
RETURNS VARBINARY(760)
AS
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
END
ELSE
BEGIN
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END
GO

--
-- Processamento de inventário
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_PROCESS_INVENTORY]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_PROCESS_INVENTORY]
GO

CREATE PROCEDURE WOLF_PROCESS_INVENTORY
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
AS
BEGIN

[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]

[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
END

[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
[Only registered and activated users can see links]
END
GO

--
-- Execução do processo
--

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[WOLF_EXECUTE]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[WOLF_EXECUTE]
GO

CREATE PROCEDURE WOLF_EXECUTE
AS
BEGIN
SET NOCOUNT ON

[Only registered and activated users can see links]
DECLARE account AS VARCHAR(10)
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]

-- Inventários

DECLARE inventories CURSOR FOR SELECT AccountID, Name, Inventory FROM Character

OPEN inventories
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE inventories
DEALLOCATE inventories

-- Warehouses

DECLARE warehouses CURSOR FOR SELECT AccountID, Items FROM warehouse

OPEN warehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE warehouses
DEALLOCATE warehouses

-- ExtWarehouses

DECLARE extwarehouses CURSOR FOR
SELECT AccountID, Items, VaultID FROM ExWarehouse

OPEN extwarehouses
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]

[Only registered and activated users can see links]
BEGIN
[Only registered and activated users can see links]
[Only registered and activated users can see links]
END

[Only registered and activated users can see links]
END

CLOSE extwarehouses
DEALLOCATE extwarehouses
END
GO

Exemplos de uso:

1. Remove todos os Chaos Nature Bows do servidor, sem dar nenhum cash pro usuário.

4 = Seção e bows
6 = Índice do Chaos Nature Bow
0 = Cashs retornados para cada item encontrado

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 4, 6, 0
EXEC WOLF_EXECUTE
2. Remove o set Dragon do servidor e devolve 10 cashs para cada Helm, Boots, Gloves, e 15 para cada Armor e Pants

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM 7, 1, 10
EXEC WOLF_REMOVE_ITEM 8, 1, 15
EXEC WOLF_REMOVE_ITEM 9, 1, 15
EXEC WOLF_REMOVE_ITEM 10, 1, 10
EXEC WOLF_REMOVE_ITEM 11, 1, 10
EXEC WOLF_EXECUTE
Resumindo:

Código:
EXEC WOLF_INITIALIZE
EXEC WOLF_REMOVE_ITEM <SEÇÃO_DO_ITEM>, <ÍNDICE_DO_ITEM>, <CASHS_DEVOLVIDOS>
EXEC WOLF_EXECUTE
Sempre que tiver + de um item para ser removido, por exemplo sets que são 5 itens, repetir a linha do WOLF_REMOVE_ITEM com as informações do item em específico.



Não darei suporte pro script, nem farei atualizações no mesmo
O script tem muito tempo que foi feito, e nem lembro se é a última versão
NUNCA UTILIZE O SCRIPT COM O SERVIDOR LIGADO E/OU SITE/SHOP LIGADO
Use por sua conta e risco... eu to cagando e andando se você fizer algo errado [Only registered and activated users can see links]



Créditos: WoLfulus

Só pra complementar. Se quiserem apenas apagar o item sem dar qualquer bonificação, podem usar também a ferramenta "WIPE Items" do CZF Editor 1.5a.

ATT Renato


Como eu faço pra remover completamente depois de utilizar?