[FIX] Bank Teller

02/27/2013 14:48 cok28rus#1
Code:
USE [PS_GameData]
GO
/****** DoN-A ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[usp_Save_Char_Product_Item_E]

@ServerID tinyint,
@UserUID int,
@BankSlot tinyint,
@CharID int,
@ItemUID bigint,
@Bag tinyint,
@Slot tinyint,
@ItemID int,
@Type tinyint,
@TypeID tinyint,
@Quality smallint,    --int
@Gem1 tinyint,
@Gem2 tinyint,
@Gem3 tinyint,
@Gem4 tinyint,
@Gem5 tinyint,
@Gem6 tinyint,
@Craftname varchar(20) = '', 
@Count tinyint,
@MakeTimeZ varchar(50),
@Maketype varchar(1)    --char(1)

AS
DECLARE @Maketime as datetime
SELECT @Maketime = CONVERT(datetime, @MaketimeZ, 120)

--SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @ProductCode varchar(20)
DECLARE @OrderNumber int
DECLARE @VerifyCode bigint
DECLARE @BuyDate datetime

IF(@Quality >= 5000)
BEGIN
    SET @Quality=0
END

BEGIN DISTRIBUTED TRANSACTION

-- Logging receipt of goods
SELECT @ProductCode=ProductCode,@OrderNumber=OrderNumber,@VerifyCode=VerifyCode,@BuyDate=BuyDate
FROM PS_Billing.dbo.Users_Product 
WHERE UserUID=@UserUID AND Slot=@BankSlot

-- Add inventory
INSERT INTO CharItems(CharID,Bag,Slot,ItemID,Type,TypeID,ItemUID,Quality,Gem1,Gem2,Gem3,Gem4, 
Gem5,Gem6,CraftName,[Count],Maketime,Maketype)
VALUES(@CharID,@Bag,@Slot,@ItemID,@Type,@TypeID,@ItemUID,@Quality,@Gem1,@Gem2,@Gem3,@Gem4, 
@Gem5,@Gem6,@Craftname,@Count,@Maketime,@Maketype)

-- Deleting the bank storage
DELETE FROM PS_Billing.dbo.Users_Product WHERE UserUID=@UserUID AND Slot=@BankSlot

IF( @@ERROR=0 AND @@ROWCOUNT=1)
BEGIN
    COMMIT TRAN
    RETURN 1
END
ELSE
BEGIN
    ROLLBACK TRAN
    RETURN -1
END

SET XACT_ABORT OFF
--SET NOCOUNT OFF
02/27/2013 22:31 Psycnosis#2
has anyone tried this yet?
02/27/2013 22:36 nephren#3
Why do you release Fixes 2-times. This was done already 02-01-2012, 07:31 from [DEV]xXDASHXx

[Only registered and activated users can see links. Click Here To Register...]
request close
02/27/2013 22:40 JohnHeatz#4
#Closed