-ProtectoR- Level 2
Брой мнения : 38 Birthday : 01.01.1995 Join date : 19.08.2013 Age : 29 Местожителство : България My Hobbie : Street Fitness,Anime
| Заглавие: [Guide] ANTI-DUPE SCRIPT (АВТОМАТИЧЕН БАН) Нед Авг 25, 2013 12:24 am | |
| - Код:
-
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(1200), @wh_type binary(1), @wh_serial binary(4),
@cr_user varchar(10), @cr_acid varchar(10), @cr_data binary(760), @cr_type binary(1), @cr_serial binary(4),
@al_acid varchar(10), @j int, @k int, @find bit
!@#$%^ @cr_acid=i.accountid, @cr_data=i.inventory FROM inserted i
SET @j=0 SET @find=0
WHILE @j<76 AND @cr_data IS NOT NULL BEGIN SET @cr_type=SUBSTRING(@cr_data,@j*10+1,1) SET @cr_serial=SUBSTRING(@cr_data,@j*10+4,4) IF @cr_type<>0xFF AND @cr_serial<>0x00000000 BEGIN !@#$%^ @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
!@#$%^ @wh_data=items FROM warehouse WHERE accountid=@al_acid
SET @k=0 WHILE @k<120 AND @wh_data IS NOT NULL BEGIN SET @wh_type=SUBSTRING(@wh_data,@k*10+1,1) SET @wh_serial=SUBSTRING(@wh_data,@k*10+4,4) IF @wh_type=@cr_type AND @wh_serial=@cr_serial SET @find=1 SET @k=@k+1 END END END SET @j=@j+1 END IF @find=1 BEGIN INSERT INTO copylog (copy_whdata,copy_acid,copy_date) VALUES (@wh_data,@al_acid,getdate()) -- this is wer u can add more punishment like ban or lock characters UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid UPDATE MEMB_INFO SET bloc_code=1 , banby='System',reason='Duper!',bando='0',bantime=getdate() WHERE memb___id=@al_acid UPDATE Warehouse SET pw=99 WHERE accountid=@al_acid END SET NOCOUNT OFF END END
Пускате го в Query Analyzer на Sql Server-а .. кода намира дуперите и ги банва :) | |
|