Code:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_SPLIT_ITEM] Script Date: 08/03/2013 02:18:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-------------------------------------------------------------------------------------
-- Modify _STRG_SPLIT_ITEM SP
ALTER PROCEDURE [dbo].[_STRG_SPLIT_ITEM]
@NewItemID AS BIGINT OUTPUT,
@LatestItemSN AS BIGINT OUTPUT,
@Operation AS TINYINT,
@UserJID AS INT,
@CharID AS INT,
@Slot_From AS TINYINT,
@Slot_To AS TINYINT,
@Data_From AS INT,
@Data_To AS INT
AS
SET @NewItemID = 0
IF (@Operation <> 0)
BEGIN
SET @NewItemID = -1000
RETURN
END
IF (@Slot_From = @Slot_To)
BEGIN
SET @NewItemID = -1001
RETURN
END
IF (@Data_From = 0 OR @Data_To = 0)
BEGIN
SET @NewItemID = -1002
RETURN
END
IF (@Slot_From < 13 OR @Slot_To < 13)
BEGIN
SET @NewItemID = -5100
RETURN
END
DECLARE @ItemID_From BIGINT
DECLARE @ItemID_To BIGINT
SET @ItemID_From = 0
SET @ItemID_To = 0
SELECT @ItemID_From = ItemID FROM _Inventory WITH (NOLOCK) WHERE CharID = @CharID AND Slot = @Slot_From
SELECT @ItemID_To = ItemID FROM _Inventory WITH (NOLOCK) WHERE CharID = @CharID AND Slot = @Slot_To
IF (@ItemID_From IS NULL OR @ItemID_To IS NULL)
BEGIN
SET @NewItemID = -1003
END
IF (@ItemID_From = 0 OR @ItemID_To <> 0)
BEGIN
SET @NewItemID = -1004
RETURN
END
DECLARE @ItemRefID INT
SET @ItemRefID = 0
SELECT @ItemRefID = RefItemID FROM _Items WITH (NOLOCK) WHERE ID64 = @ItemID_From
IF (@ItemRefID = 0 OR @ItemRefID IS NULL)
BEGIN
SET @NewItemID = -1
RETURN
END
BEGIN TRANSACTION
EXEC @NewItemID = _STRG_ALLOC_ITEM_NoTX @LatestItemSN OUTPUT
IF (@NewItemID = 0)
BEGIN
ROLLBACK TRANSACTION
SET @NewItemID = -2
RETURN
END
UPDATE _Items SET RefItemID = @ItemRefID, Data = @Data_To WHERE ID64 = @NewItemID
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
SET @NewItemID = -3
RETURN
END
UPDATE _Inventory SET ItemID = @NewItemID WHERE CharID = @CharID AND Slot = @Slot_To
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
SET @NewItemID = -4
RETURN
END
UPDATE _Items SET Data = @Data_From WHERE ID64 = @ItemID_From
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
SET @NewItemID = -5
RETURN
END
COMMIT TRANSACTION
RETURN
Code:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_ADD_EXPENDABLE] Script Date: 08/03/2013 02:20:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_STRG_ADD_EXPENDABLE]
@NewItemID AS BIGINT OUTPUT,
@LatestItemSN AS BIGINT OUTPUT,
@Operation AS TINYINT,
@CharID AS INT,
@Slot AS TINYINT,
@RefItemID AS INT,
@Data AS INT
AS
-- #define SP_PICK_ITEM (BYTE)6
-- #define SP_BUY_ITEM (BYTE)8
-- #define SP_ADD_ITEM_BY_SERVER (BYTE)14
BEGIN TRANSACTION
EXEC _STRG_ADD_EXPENDABLE_NoTX @NewItemID OUTPUT, @LatestItemSN OUTPUT, @Operation, @CharID, @Slot, @RefItemID, @Data
IF (@@ERROR <> 0 OR @NewItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN
END
COMMIT TRANSACTION
Code:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_ADD_EQUIP_NORMAL] Script Date: 08/03/2013 02:21:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-------------------------------------------------------------------------------------
-- Modify _STRG_ADD_EQUIP_NORMAL SP
ALTER PROCEDURE [dbo].[_STRG_ADD_EQUIP_NORMAL]
@NewItemID AS BIGINT OUTPUT,
@LatestItemSN AS BIGINT OUTPUT,
@Operation AS TINYINT,
@CharID AS INT,
@Slot AS TINYINT,
@RefItemID AS INT,
@OptLevel AS TINYINT,
@Variance AS BIGINT,
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- »óÁ¡°³Æí (ÃÖ¼±È£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@Data AS INT
-- @RemainGold AS BIGINT
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
AS
-- #define SP_PICK_ITEM (BYTE)6
-- #define SP_BUY_ITEM (BYTE)8
-- #define SP_ADD_ITEM_BY_SERVER (BYTE)14
BEGIN TRANSACTION
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- »óÁ¡°³Æí (ÃÖ¼±È£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
EXEC _STRG_ADD_EQUIP_NORMAL_NoTX @NewItemID OUTPUT, @LatestItemSN OUTPUT, @Operation, @CharID, @Slot, @RefItemID, @OptLevel, @Variance, @Data
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IF (@@ERROR <> 0 OR @NewItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN
END
COMMIT TRANSACTION
Try This Queries Credits goes to RoyalBlade @ Ebx7