[Aporte] Script AntiDUP para 97d y 99b
2 participantes
Página 1 de 1.
[Aporte] Script AntiDUP para 97d y 99b
Script AntiDUP 97D/99B
Nota: Este scripts funciona al 100% ya que yo lo testie en las dos versiones que dice que es aplicable.
¿Funciona en 97d o 99b? SI!, siempre y cuando no sean files truchos que dicen ser 97d o 99b y son 1.Algo.
¿Sirve en Seasons? NO!, sirve para versiones inferiores a la versión de GameServer 99.88.
¿Borra items con serial 00000000? NO!, los items que compres en el NPC no serán tomados en cuenta a la hora de borrar los items dupeados.
¿Banea a los Dupers? NO!, el script
funciona borrando el ITEM DUPEADO del Baúl y así evita que este se
propague y se generen bans innecesarios (como en otros antidups vía
sql), pero de todas formas se incluye una sentencia que banea a todos
los usuarios de la cuenta, basta remover los guiones que contiene al
principio para remover el modo comentario de SQL.
¿Como lo Instalo? Fácil, basta abrir el Analizador de Consultas(Query Analizer) y pegar el código dejado a continuación.
Script AntiDUP
[quote]
PD: Eso es todo gente, espero que les sirva.
Creditos:
CDCTeam - kind (Desarrollar Script)
DaRKav (Funcion para borrar items)
Desconocido (Script Base)
Saludos atte.
Nota: Este scripts funciona al 100% ya que yo lo testie en las dos versiones que dice que es aplicable.
¿Funciona en 97d o 99b? SI!, siempre y cuando no sean files truchos que dicen ser 97d o 99b y son 1.Algo.
¿Sirve en Seasons? NO!, sirve para versiones inferiores a la versión de GameServer 99.88.
¿Borra items con serial 00000000? NO!, los items que compres en el NPC no serán tomados en cuenta a la hora de borrar los items dupeados.
¿Banea a los Dupers? NO!, el script
funciona borrando el ITEM DUPEADO del Baúl y así evita que este se
propague y se generen bans innecesarios (como en otros antidups vía
sql), pero de todas formas se incluye una sentencia que banea a todos
los usuarios de la cuenta, basta remover los guiones que contiene al
principio para remover el modo comentario de SQL.
¿Como lo Instalo? Fácil, basta abrir el Analizador de Consultas(Query Analizer) y pegar el código dejado a continuación.
Script AntiDUP
[quote]
use MuOnline
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DupeCheck_CDC]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
drop trigger [dbo].[DupeCheck_CDC]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DupeLog_CDC]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[DupeLog_CDC]
GO
CREATE TABLE [dbo].[DupeLog_CDC] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Cuenta] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Personaje] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ItemType] [binary] (1) ,
[ItemSerial] [binary] (4) ,
[Item] [binary] (10) ,
[FechaDelDUP] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DupeLog_CDC] WITH NOCHECK ADD
CONSTRAINT [PK_DupeLog_CDC] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DupeLog_CDC] ADD
CONSTRAINT [DF_Table1_FechaDelDUP] DEFAULT (getdate()) FOR [FechaDelDUP]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[DupeCheck_CDC] ON [dbo].[character]
FOR UPDATE
AS
BEGIN
IF UPDATE(inventory)
BEGIN
SET NOCOUNT ON
DECLARE
@Cuenta varchar(10),
@Personaje varchar(10),
@Inventario binary(760),
@Baul binary(1200),
@BaulItem binary(10),
@BaulTipo binary(1),
@BaulSerial binary(4),
@InventarioItem binary(10),
@InventarioTipo binary(1),
@InventarioSerial binary(4),
@InventarioPJ int,
@BaulCuenta int,
@TamañoBaul int,
@Encontrar bit
--Seleccionamos la informacion del Personaje y el Baul.
SELECT @Cuenta=i.accountid,@Personaje=i.name,@Inventario=i.inventory FROM inserted i
SELECT @Baul=items FROM Warehouse WHERE AccountID=@Cuenta
--Tamaño del Baul
SET @TamañoBaul = 1200
SET @InventarioPJ=0
SET @Encontrar=0
WHILE @InventarioPJ<76 AND @Inventario IS NOT NULL
BEGIN
SET @InventarioTipo=SUBSTRING(@Inventario,@InventarioPJ*10+1,1)
SET @InventarioSerial=SUBSTRING(@Inventario,@InventarioPJ*10+4,4)
SET @InventarioItem=SUBSTRING(@Inventario,@InventarioPJ*10+1,10)
IF @InventarioTipo<>0xFF AND @InventarioSerial<>0x00000000
BEGIN
SET @BaulCuenta=0
WHILE @BaulCuenta<120 AND @Baul IS NOT NULL
BEGIN
SET @BaulTipo=SUBSTRING(@Baul,@BaulCuenta*10+1,1)
SET @BaulSerial=SUBSTRING(@Baul,@BaulCuenta*10+4,4)
SET @BaulItem=SUBSTRING(@Baul,@BaulCuenta*10+1,10)
IF @BaulTipo=@InventarioTipo AND @BaulSerial=@InventarioSerial
BEGIN
SET @Encontrar=1
INSERT INTO DupeLog_CDC (Cuenta,Personaje,Item,ItemType,ItemSerial) VALUES (@Cuenta,@Personaje,@InventarioItem,@InventarioTipo,@InventarioSerial)
SET @Baul=SUBSTRING(@Baul,1,@BaulCuenta*10)+0xFFFFFFFFFFFFFFFFFFFF+SUBSTRING(@Baul,((@BaulCuenta+1)*10+1),@TamañoBaul-(((@BaulCuenta+1)*10)))
END
SET @BaulCuenta=@BaulCuenta+1
END
END
SET @InventarioPJ=@InventarioPJ+1
END
IF @Encontrar=1
BEGIN
--A diferencia de todos los scripts, este solamente borra el item Dupeado.
UPDATE Warehouse SET Items=@Baul WHERE (AccountID=@Cuenta)
--En esta seccion si quieres puedes agregar algun castigo (como ban de todos los personajes)
--UPDATE [Character] SET CtlCode=1 WHERE AccountID=@Cuenta
END
SET NOCOUNT OFF
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
select * from DupeLog_CDC
¿Como se quién dupeo?Use MuOnline
select * from DupeLog_CDC
PD: Eso es todo gente, espero que les sirva.
Creditos:
CDCTeam - kind (Desarrollar Script)
DaRKav (Funcion para borrar items)
Desconocido (Script Base)
Saludos atte.
Re: [Aporte] Script AntiDUP para 97d y 99b
muchas gracias lo andaba buscando
Lantern Green- Miembro
-
Lantern Green
Mensajes : 11
Cash Point : 23554
Prestigio : 10
Registro : 09/01/2012
Localización : Bahia Blanca
Edad : 30
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.