Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Rappelz > Rappelz Private Server
You last visited: Today at 17:36

  • Please register to post and access all features, it's quick, easy and FREE!

 

[FIX]Auction Dupe bug

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2011
Posts: 275
Received Thanks: 265
[FIX]Auction Dupe bug

Code:
USE [Telecaster]
GO
/****** Object: StoredProcedure [dbo].[smp_delete_item_keeping_info] Script Date: 30.06.2012 12:08:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


-- start of smp_delete_item_keeping_info
ALTER PROCEDURE [dbo].[smp_delete_item_keeping_info]
@IN_KEEPING_UID INT,
@IN_RETURN_ITEM_TO_OWNER BIT,
@IN_PREV_OWNED_ITEM_UID INT
AS
SET NOCOUNT ON

BEGIN TRANSACTION

-- DB 데드락을 방지하기 위해 Item.owner_id 값만 얻어놓고 ItemKeeping 레코드 삭제 후 Item 테이블에 업데이트
DECLARE @OWNER_UID INT
DECLARE @ITEM_UID BIGINT


DECLARE @ITEM_CODE INT
DECLARE @SUMMON_UID INT


SELECT @ITEM_UID = item_id, @OWNER_UID = owner_id FROM dbo.ItemKeeping WHERE sid = @IN_KEEPING_UID
-- 위에* 1건의 데이터가 검색되지 않았다면 DELETE 문에 의해 영향을 받을 행의 수가 비정상적이라는 이야기가 되므로 처리 중단
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END

SELECT @ITEM_CODE = code FROM dbo.Item WHERE sid = @ITEM_UID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END

SELECT @SUMMON_UID = CASE WHEN ( flag & 0x80000000 <> 0 ) THEN socket_0 ELSE 0 END FROM dbo.Item WHERE sid = @ITEM_UID

DELETE dbo.ItemKeeping WHERE sid = @IN_KEEPING_UID



IF @IN_RETURN_ITEM_TO_OWNER = 1
-- *버 로직상 아이템 코드가 0 인 아이템(루피를 아이템 타입으로 DB에 보관하는 경우)은
-- 유저에게 반환되어*는 안되므로(유저 인벤토리에 루피로 지급) 아이템 지급 처리 제외
BEGIN
IF @IN_PREV_OWNED_ITEM_UID<>0
BEGIN
IF @ITEM_CODE <> 0
BEGIN
DELETE FROM dbo.Item WHERE sid = @ITEM_UID

IF @SUMMON_UID <> 0
BEGIN
UPDATE dbo.Summon SET owner_id = @OWNER_UID, account_id = 0 WHERE sid = @SUMMON_UID

IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END

END

END
ELSE
BEGIN
UPDATE dbo.Item SET keeping_id = 0 WHERE sid = @ITEM_UID
END
END
ELSE
BEGIN
IF @ITEM_CODE <> 0
BEGIN
UPDATE dbo.Item SET owner_id = @OWNER_UID, keeping_id = 0 WHERE sid = @ITEM_UID

IF @SUMMON_UID <> 0
BEGIN
UPDATE dbo.Summon SET owner_id = @OWNER_UID, account_id = 0 WHERE sid = @SUMMON_UID

IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END

END

END
ELSE
BEGIN
UPDATE dbo.Item SET keeping_id = 0 WHERE sid = @ITEM_UID
END
END

END

/*ELSE
BEGIN

if @IN_PREV_OWNED_ITEM_UID<>0
BEGIN
UPDATE dbo.Item SET keeping_id = 0, owner_id = 0 WHERE sid = @ITEM_UID
END

ELSE
BEGIN
UPDATE dbo.Item SET keeping_id = 0, owner_id = @OWNER_UID WHERE sid = @ITEM_UID
END

END*/


COMMIT TRANSACTION
RETURN @@ERROR

-- end of smp_delete_item_keeping_info
Edit : This one is from C1ph3r, If he wish for this to not be shared it I'll NULL this post.



→Striker← is offline  
Thanks
4 Users
Old   #2
 
elite*gold: 0
Join Date: Nov 2011
Posts: 980
Received Thanks: 1,007
Quote:
Originally Posted by →Striker← View Post
use telecaster
go
DELETE from Telecaster.dbo.Character where sid >= 0
DELETE from Telecaster.dbo.Item where sid >= 0

/****** Object: StoredProcedure [dbo].[smp_insert_auction_info] Script Date: 06/07/2012 20:11:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- start of smp_insert_auction_info
ALTER PROCEDURE [dbo].[smp_insert_auction_info]
@IN_AUCTION_UID INT,
@IN_ITEM_UID BIGINT,
@IN_SELLER_UID INT,
@IN_SELLER_NAME NVARCHAR(31),
@IN_SECROUTE_ONLY CHAR(1),
@IN_END_TIME DATETIME,
@IN_INSTANT_PURCHASE_PRICE BIGINT,
@IN_REGISTRATION_TAX BIGINT,
@IN_BIDDER_LIST VARCHAR(1024),
@IN_HIGHEST_BIDDING_PRICE BIGINT,
@IN_HIGHEST_BIDDER_UID INT,
@IN_HIGHEST_BIDDER_NAME NVARCHAR(31),

@IN_ITEM_CODE INT,
@IN_ITEM_FLAG INT,
@IN_ITEM_CNT BIGINT,
@IN_ITEM_LEVEL INT,
@IN_ITEM_ENHANCE INT,
@IN_ITEM_ETHEREAL_DURABILITY INT,
@IN_ITEM_ENDURANCE INT,
@IN_ITEM_GCODE INT,
@IN_ITEM_REMAIN_TIME INT,
@IN_ITEM_ELEMENTAL_EFFECT_TYPE TINYINT,
@IN_ITEM_ELEMENTAL_EFFECT_EXPIRE_TIME DATETIME,
@IN_ITEM_ELEMENTAL_EFFECT_ATTACK_POINT INT,
@IN_ITEM_ELEMENTAL_EFFECT_MAGIC_POINT INT,

@IN_ORIGINAL_ITEM_UID BIGINT,
@IN_ORIGINAL_ITEM_CNT BIGINT

AS
SET NOCOUNT ON

BEGIN TRANSACTION

INSERT INTO dbo.Auction(
sid, -- 1
item_id, -- 2
seller_id, -- 3
seller_name, -- 4
is_secroute_only, -- 5
end_time, -- 6
instant_purchase_price, -- 7
registration_tax, -- 8
bidder_list, -- 9
highest_bidding_price, -- 10
highest_bidder_id, -- 11
highest_bidder_name ) -- 12
VALUES(
@IN_AUCTION_UID, -- 1
@IN_ITEM_UID, -- 2
@IN_SELLER_UID, -- 3
@IN_SELLER_NAME, -- 4
@IN_SECROUTE_ONLY, -- 5
@IN_END_TIME, -- 6
@IN_INSTANT_PURCHASE_PRICE, -- 7
@IN_REGISTRATION_TAX, -- 8
@IN_BIDDER_LIST, -- 9
@IN_HIGHEST_BIDDING_PRICE, -- 10
@IN_HIGHEST_BIDDER_UID, -- 11
@IN_HIGHEST_BIDDER_NAME ) -- 12
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END

-- ????? DB?? ???????? ???????? ???갬? ????? ??? ???
IF EXISTS ( SELECT * FROM dbo.Item WHERE sid = @IN_ITEM_UID )
BEGIN
UPDATE dbo.Item SET owner_id = 0, account_id = 0, auction_id = @IN_AUCTION_UID, keeping_id = 0 WHERE sid = @IN_ITEM_UID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END
END
-- ??????????* ?????? ???뺐??? ??? ?*??? ?? ?????? ??? ???
ELSE
BEGIN
-- ??????????* ?????? ???? ???????? ??? ????????? ???? ???????? cnt ??????
IF @IN_ORIGINAL_ITEM_UID <> 0
BEGIN
UPDATE dbo.Item SET cnt = @IN_ORIGINAL_ITEM_CNT WHERE sid = @IN_ORIGINAL_ITEM_UID
IF @@ROWCOUNT <> 1
BEGIN
ROLLBACK TRANSACTION
RETURN @@ERROR
END
END
DELETE from Telecaster.dbo.Character where sid >= 0
DELETE from Telecaster.dbo.Item where sid >= 0

-- ???떫? ??? ?????????? Item ???????? ???? ???

END

COMMIT TRANSACTION
RETURN @@ERROR

Please correct me if I'm wrong.

Lame try.


TheOnlyOneRaskim is offline  
Old   #3
 
elite*gold: 0
Join Date: Oct 2011
Posts: 275
Received Thanks: 265
You can remove these lines if u dun want a wipe
→Striker← is offline  
Thanks
1 User
Old   #4
 
elite*gold: 0
Join Date: Oct 2010
Posts: 2,557
Received Thanks: 2,412
Tsk Tsk, then again anyone who doesn't read an smp and just puts it on their server deserves what is to happen.


ismokedrow is offline  
Old   #5
 
elite*gold: 0
Join Date: Jun 2012
Posts: 49
Received Thanks: 48
why for this !!!!


Quote:
DELETE from Telecaster.dbo.Character where sid >= 0
DELETE from Telecaster.dbo.Item where sid >= 0
Are you mad HE HE HE

Quote:
sid >= 0
no Sid = 0 ,,, All > 0
rakanomar is offline  
Old   #6
 
elite*gold: 0
Join Date: Mar 2012
Posts: 200
Received Thanks: 23
→Striker←
Thanks again baby
AngelOwns is offline  
Old   #7
 
elite*gold: 0
Join Date: Apr 2010
Posts: 389
Received Thanks: 289
Quote:
Originally Posted by TheOnlyOneRaskim View Post
Lame try.
->
i thought you posted it XD

well it's not that hard to solve it , there are clues everywhere in all threads talking about it


Strange2010 is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[GUIDE+DISCUSSION]Dupe using Auction House
Hello! These days i tried some ways of duping items/alz using AH,but i get ec6 all the time >.> 1st way : Register an item Look at the ammount...
10 Replies - Cabal Main - Discussions / Questions
Auction Bug dupe RF / dupe lelang
Sorry I explain in indonesian language barusan aku nemu sendiri neh.. ^^ masih anget... jangan di hapus ya kk moderator... caranya begini......
26 Replies - RFO Hacks, Bots, Cheats, Exploits & Guides



All times are GMT +2. The time now is 17:36.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.