Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Anti Dupe Ban

Status
Not open for further replies.
Initiate Mage
Joined
Jan 31, 2007
Messages
42
Reaction score
0
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_whdata] [binary] (1200) NOT NULL ,
[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(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
SELECT @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
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 @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
END
SET NOCOUNT OFF
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
DECLARE @al_acid char(50)
set @al_acid = 'ASUS'
UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid
go
select * from AllItemsLog
select * from CopyLog
 
Last edited:
Junior Spellweaver
Joined
Apr 5, 2006
Messages
191
Reaction score
2
What does it mean?? it will atoumatically ban characters that are duplicating items??
 
Initiate Mage
Joined
May 21, 2006
Messages
18
Reaction score
0
This procedure makes lag??
Its more easy, if u tell us how do u make, and we add in our procedure wz_getitenserial...

Because i saw you drop de procedure, and create other...
 
Last edited:
Junior Spellweaver
Joined
Jan 8, 2005
Messages
104
Reaction score
0
this procedure is good, I use it in my 97r+1.0 server and 1.0m(99.6xT) server too. And I will use it in 1.02n, I got I dont remember where and when I got, works perfectly, virty, dont cause lag... I got 1 time 315 players online and no lag
 
Junior Spellweaver
Joined
Jul 2, 2006
Messages
117
Reaction score
0
I of swit to character and my blocked ChaRs esto, I raising of the blockade they, more when this still happens, not has a codig to undo this ae?
 
Twilight Mu Owner
Member
Joined
Aug 8, 2005
Messages
505
Reaction score
74
And the Award For The Most Retarded Leecher goes to... -=Craker=-

Congrats! rofl
 
Experienced Elementalist
Joined
Sep 13, 2006
Messages
253
Reaction score
9
i put this script in Query Analyzer how to delet him ?
becouse i have BOK of Kundun in shop and when people drop the BOK and exemple drop 2 Dark Soul Gloved when exit the game and want to connect after 5-10 min or other day have the all characters banned :D

i can delet the script from the Query Analyzer ?
 
Initiate Mage
Joined
Oct 2, 2006
Messages
17
Reaction score
8
work and for 99.6XT version ?
it will atoumatically ban characters that are duplicating items?
 
Initiate Mage
Joined
Sep 20, 2006
Messages
10
Reaction score
0
Wow! great job man!

Anyway, where did you get this? :rudolph:
 
Experienced Elementalist
Joined
Jun 27, 2006
Messages
248
Reaction score
6
And the Award For The Most Retarded Leecher goes to... -=Craker=-

Congrats! rofl

I dont give a crap of credits. It's good he "released" it because till now I did not know there is such a thing. Then I guess thanks Craker.
 
Initiate Mage
Joined
Jul 15, 2005
Messages
2
Reaction score
0
this triger is incomplete...
only comparate inventory V/S warehouse


sorry for my english XD
 
iNewLegend , Leo123
Joined
Apr 26, 2006
Messages
296
Reaction score
81
Big Thanks Dude , Great Released.
 
Initiate Mage
Joined
Jun 24, 2005
Messages
2
Reaction score
0
How i can add to script function whis disconnect player if it have dupe items?
I don't speak english -)
 
Status
Not open for further replies.
Back
Top