Simpatie.ro - matrimoniale
*...:: Hacking-TeaM ::...*
Un Forum cu si despre tot ce ai nevoie ca statul in fata calculatorului sa fie o distractie Garantata ... Asezati-va, Relaxati-va si Bucurati-va de Spectacolul oferit de Hacking-TeaM
Nou pe simpatie:
deeazuzu82 la Simpatie.ro
Femeie
24 ani
Cluj
cauta Barbat
27 - 62 ani
*...:: Hacking-TeaM ::...*InregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
*...:: Hacking-TeaM ::...* / --=[ Protection FULL ]=-- /

Securizare Anti-Dupe Work 100%

Pagini: 1  
#1
☻SirVic☻
-=[Administrator]=-
Din: Murfatlar
Postari: 395
Vati saturat de DUPE pe Server ? Uitati aici solutia

Script Anti-DUPE

Code:

USE MUONLINE 
   if exists(select * from dbo.sysobjects where type='p' and name='WZ_GetItemSerial') 
   drop procedure WZ_GetItemSerial 
GO 

CREATE procedure WZ_GetItemSerial 
AS 
BEGIN 
   DECLARE @ItemSerial int 
   SET NOCOUNT ON 
   BEGIN TRANSACTION 
   UPDATE GameServerInfo set @ItemSerial = ItemCount = (case when ItemCount < 0x7effffff then ItemCount+1 
   ELSE 1 
   END) 
    
   IF(@@error <> 0) 
   BEGIN 
      rollback transaction 
      select-1 
   END 
   ELSE 
   BEGIN 
      commit transaction 
      select @ItemSerial 
   END 
END 
GO 

   if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[trg_CheckSameID]') and OBJECTPROPERTY(id, N'IsTrigger') = 1) 
   drop trigger [dbo].[trg_CheckSameID] 
GO 

   if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AllItemsLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
   drop table [dbo].[AllItemsLog] 
GO 

   if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CopyLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
   drop table [dbo].[CopyLog] 
GO 

CREATE TABLE [dbo].[AllItemsLog] ( 
   [items_id] [int] IDENTITY (1, 1) NOT NULL , 
   [items_type] [binary] (1) NOT NULL , 
   [items_serial] [binary] (4) NOT NULL , 
   [items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
) ON [PRIMARY] 
GO 

CREATE TABLE [dbo].[CopyLog] ( 
   [copy_id] [int] IDENTITY (1, 1) NOT NULL , 
   [copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 
   [copy_name] [varchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL , 
   [copy_type] [binary] (1) , 
   [copy_serial] [binary] (4) , 
   [copy_item] [binary] (16) , 
   [copy_date] [datetime] NOT NULL 
) ON [PRIMARY] 
GO 
  
   ALTER TABLE [dbo].[AllItemsLog] ADD 
   CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type], 
   CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial], 
   CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT ('\') FOR [items_acid] 
GO 
  
   CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY] 
GO 
  
   ALTER TABLE [dbo].[CopyLog] ADD 
   CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date] 
GO 
  
   SET QUOTED_IDENTIFIER ON 
GO 

   SET ANSI_NULLS ON 
GO 
   CREATE TRIGGER [dbo].[trg_CheckSameID] ON [dbo].[character] 
   FOR UPDATE 
   AS 
   BEGIN 
      IF UPDATE(inventory) 
      BEGIN 
         SET NOCOUNT ON 
         DECLARE 
         @wh_acid varchar(10), 
         @wh_data binary(1920), 
         @wh_type binary(1), 
         @wh_serial binary(4), 
         @wh_item binary(16), 
         @cr_user varchar(10), 
         @cr_acid varchar(10), 
         @cr_char varchar(15), 
         @cr_data binary(760), 
         @cr_type binary(1), 
         @cr_serial binary(4), 
         @cr_item binary(16), 
         @al_acid varchar(10), 
         @j int, 
         @ok int, 
         @warehouse_length int, 
         @find bit 

         -- Selecting information about inserted object 
         SELECT @cr_acid=i.accountid, @cr_data=i.inventory ,@cr_char=i.name FROM inserted i 

         -- Length of the warehouse in binary 
         SET @warehouse_length=1920 
          
         SET @j=0 
         SET @find=0 
         WHILE @j<76 AND @cr_data IS NOT NULL 
         BEGIN 
            SET @cr_type=SUBSTRING(@cr_data,@j*16+1,1) 
            SET @cr_serial=SUBSTRING(@cr_data,@j*16+4,4) 
            SET @cr_item=SUBSTRING(@cr_data,@j*16+1,16) 
            IF @cr_type<>0xFF AND @cr_serial<>0x00000000 
            BEGIN 
               SELECT @al_acid=items_acid FROM allitemslog WHERE items_type=@cr_type AND items_serial=@cr_serial 
               IF @al_acid IS NULL 
                  INSERT INTO allitemslog (items_type,items_serial,items_acid) VALUES (@cr_type,@cr_serial,@cr_acid) 
               ELSE 
               BEGIN 
                  UPDATE allitemslog SET items_acid=@cr_acid WHERE items_type=@cr_type AND items_serial=@cr_serial 

                  SELECT @wh_data=items FROM warehouse WHERE accountid=@al_acid 
                  SET @ok=0 
                  WHILE @ok<120 AND @wh_data IS NOT NULL 
                  BEGIN 
                     SET @wh_type=SUBSTRING(@wh_data,@ok*16+1,1) 
                     SET @wh_serial=SUBSTRING(@wh_data,@ok*16+4,4) 
                     SET @wh_item=SUBSTRING(@wh_data,@ok*16+1,16) 
                     IF @wh_type=@cr_type AND @wh_serial=@cr_serial 
                     BEGIN 
                        SET @find=1 
                        -- Insert dupe record in to the log (item with serial) 
                        INSERT INTO copylog (copy_type,copy_serial,copy_item,copy_acid,copy_name,copy_date) VALUES (@cr_type,@cr_serial,@cr_item,@al_acid,@cr_char,getdate()) 
                        SET @wh_data=SUBSTRING(@wh_data,1,@ok*16)+0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+SUBSTRING(@wh_data,((@ok+1)*16+1),@warehouse_length-(((@ok+1)*16))) 
                         
                        -- Update warehouse, delete dupe 
                        UPDATE warehouse SET items=@wh_data where accountid=@al_acid 
                     END 
                     SET @ok=@ok+1 
                  END 
               END 
            END 
            SET @j=@j+1 
         END 
          
         IF @find=1 
         BEGIN 
            -- This is where u can add more punishment like ban or lock characters 

            -- Block character that has dupes on him [if you feel like it] 
            --UPDATE Character SET CtlCode=1 WHERE name=@cr_char 
            -- Do not block the character 
            UPDATE Character SET CtlCode=0 WHERE name=@cr_char 
         END 
         SET NOCOUNT OFF 
      END 
   END 
GO 

   SET QUOTED_IDENTIFIER OFF 
GO 
  
   SET ANSI_NULLS ON 
GO

Acesti Script il bagati in "Start" -> "AllPrograms" -> "Microsoft SQL Server" -> "Query Analyzer" .

1. Va logati cu Username si Password de la SQL

2. Faceti ca in poza



Done !


_______________________________________
Contact: 0764302724 || Y!M: HaCkinG_SirVic || Asculta Live

 
   
#2
blademanu
Incepator
Postari: 15
Am sa incerc 









P.S
Am reusit ms mult!


 
   
Pagini: 1  
Mergi la