[Release] Weapon switcher proc (Improved Version)

12/04/2018 11:17 senua#1
Hello epvp community,

Code:
USE SRO_VT_LOG
GO
CREATE PROCEDURE Switcher_WE_Type_13
@CharID INT
AS
BEGIN TRY
	BEGIN TRANSACTION UPDATE_PROCESS_FOR_TYPE_13

		DECLARE @OldItemCodeName VARCHAR(129)=
		(SELECT ROC.CodeName128 FROM SRO_VT_SHARD.._Inventory AS INV
		INNER JOIN SRO_VT_SHARD.._Items AS I ON I.ID64=INV.ItemID AND INV.Slot=6 AND INV.ItemID<>0 AND INV.CharID=@CharID
		INNER JOIN SRO_VT_SHARD.._RefObjCommon AS ROC ON I.RefItemID=ROC.ID AND ROC.TypeID1=3 AND ROC.TypeID2=1 AND ROC.TypeID3=6)

		DECLARE @ItemTypeNormal VARCHAR(5)=(SELECT RIGHT(@OldItemCodeName,5))
		DECLARE @ItemTypeSox VARCHAR(10)=(SELECT RIGHT(@OldItemCodeName,10))

		IF( @ItemTypeNormal IN ('_10_A','_10_B','_10_C') OR @ItemTypeSox IN ('_10_A_RARE','_10_B_RARE','_10_C_RARE'))
		BEGIN
		
			DECLARE @NewItemID INT=
			(SELECT ID FROM SRO_VT_SHARD.._RefObjCommon WITH (NOLOCK) WHERE CodeName128=@OldItemCodeName+'_TYPE_13')

			IF ((@NewItemID IS NOT NULL) AND (@NewItemID<>0))
			BEGIN
				UPDATE I SET I.RefItemID=@NewItemID
				FROM SRO_VT_SHARD.._Inventory AS INV
				INNER JOIN SRO_VT_SHARD.._Items AS I ON I.ID64=INV.ItemID AND INV.Slot=6 AND INV.ItemID<>0 AND INV.CharID=@CharID
			END
		END

	COMMIT TRANSACTION UPDATE_PROCESS_FOR_TYPE_13
END TRY
BEGIN CATCH
	ROLLBACK TRANSACTION UPDATE_PROCESS_FOR_TYPE_13
	PRINT 'Error has been occured while updating process for TYPE_13'
END CATCH
Question; How can i use this code?

12/04/2018 23:36 TopDowg#2
how do you use this ? :p
12/05/2018 00:46 senua#3
Quote:
Originally Posted by TopDowg View Post
how do you use this ? :p
1. Copy your item and put at the end of codename _TYPE_13.
2. Exec query
3. Set your _AddLogItem proc to be exec to new proc when your switcher scroll has been used.