Bom chega de duparem na 99B+ agora use este codigo nela e faça quem dupou perder a conta.
Abra o SQL Server - Enterprise Manager.
Depois Na DataBase MuOnline Vai na Table warehouse Clique com o Botão Direito e va em Design Table
Em Design Table Crie Uma Coluna Assim
Column Name - LASTPW
Data Type - tinyint
Lenght - 1
Allow Nulls - Marcado
Save e Vamos para o Query Analyzer - No Query Selecione a Table MuOnline
E Coloque o Seguinte Query
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DupesDetected]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[DupesDetected] GO CREATE TABLE [dbo].[DupesDetected] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [AccountID] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , [ITEM_TYPE] [binary] (1) NOT NULL , [ITEM_SERIAL] [binary] (4) NOT NULL , [INV_POSITION] [smallint] NOT NULL , [WH_POSITION] [smallint] NOT NULL , [TIMESTAMP] [smalldatetime] NOT NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[DupesDetected] WITH NOCHECK ADD CONSTRAINT [PK_DupesDetected] PRIMARY KEY CLUSTERED ( [ID] ) ON [PRIMARY] GO ALTER TABLE [dbo].[DupesDetected] ADD CONSTRAINT [DF_Table1_TIMESTAMP] DEFAULT (getdate()) FOR [TIMESTAMP] GO CREATE TRIGGER [dbo].[DUPEFINDER] ON [dbo].[character] FOR UPDATE AS IF UPDATE(inventory) BEGIN SET NOCOUNT ON DECLARE @CHARNAME varchar(10), @ACCOUNT_ID varchar(10), @INV binary(760), @ITEM_TYPE binary(1), @ITEM_SERIAL binary(4), @WAREHOUSE binary(1200), @j smallint, @k smallint, @PWOLD smallint, @PWNEW smallint --tomamos el inventario y los datos del usuario SELECT @ACCOUNT_ID=accountid,@CHARNAME=Name,@INV=inventory FROM inserted SET @j=0 --item por item WHILE (@j<76) AND (@INV IS NOT NULL) BEGIN --tomamos el tipo y el serial SET @ITEM_TYPE=SUBSTRING(@INV,@j*10+1,1) SET @ITEM_SERIAL=SUBSTRING(@INV,@j*10+4,4) --si el tipo es valido y el serial no es "0" IF @ITEM_TYPE<>0xFF AND @ITEM_SERIAL<>0x00000000 BEGIN --SI NO TENEMOS EL WAREHOUSE DATA LO OBTENEMOS (ESTO SUCEDERA UNA SOLA VEZ) IF (@WAREHOUSE IS NULL) BEGIN SELECT @WAREHOUSE=items, @PWOLD=pw FROM warehouse WHERE accountid=@ACCOUNT_ID END --POR CADA SLOT EN EL WAREHOUSE SET @k=0 WHILE (@k<120) AND (@WAREHOUSE IS NOT NULL) BEGIN --SI EL TIPO Y SERIAL COINCIDEN IF (SUBSTRING(@WAREHOUSE,@k*10+1,1)=@ITEM_TYPE) AND (SUBSTRING(@WAREHOUSE,@k*10+4,4)=@ITEM_SERIAL) BEGIN --GUARDAMOS EL ITEM EN EL LOG INSERT INTO DupesDetected (AccountID,Name,ITEM_TYPE,ITEM_SERIAL,INV_POSITION,WH_POSITION) VALUES (@ACCOUNT_ID,@CHARNAME,@ITEM_TYPE,@ITEM_SERIAL,@j,@k) --BLOQUEAMOS EL VAULT --OBTENEMOS EL NUEVO LOCK CODE SET @PWNEW = DATEPART(YYYY,GETDATE()) + DATEPART(MM,GETDATE()) + DATEPART(D,GETDATE()) --BLOQUEAMOS EL VAULT UPDATE WAREHOUSE SET PW=@PWNEW, LASTPW=@PWOLD WHERE (ACCOUNTID=@ACCOUNT_ID) --BANEAMOS TODOS LOS CHARS DE LA CUENTA UPDATE [CHARACTER] SET CTLCODE=1, Bloc_by='Ghost-Fire', bloc_reason='DUPPER' WHERE ACCOUNTID=@ACCOUNT_ID END --AVANSAMOS UNO EN EL CONTADOR SET @k=@k+1 END END SET @j=@j+1 END SET NOCOUNT ON END |
------------------------------------------------------------------------------------------------------------------------------------
Pronto.
Agora Vamos Falar o Que ele Faz.
Simplesmente Quando a Pessoa Dupa Automaticamente ele Deleta o Item Dupado
Blokeia o Personagem a Conta
E Por Final Blokeia o Bau de quem dup