USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_TriggerOn_AutoEquipment] Script Date: 27.11.2022 21:55:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_TriggerOn_AutoEquipment]
@CharID INT,
@DATA2 INT
AS
DECLARE @Flag INT = 0, @ID64 INT, @ReFObjID INT, @ReFItemID INT, @T1 TINYINT, @T2 TINYINT, @T3 TINYINT, @T4 TINYINT, @optLvl TINYINT, @race BIT, @Gen TINYINT, @REQLVL INT;
SELECT @Gen = CASE WHEN RefObjID BETWEEN 1920 AND 1932 THEN 2 WHEN RefObjID <= 1919 THEN 1 WHEN RefObjID BETWEEN 14875 AND 14887 THEN 3 WHEN RefObjID BETWEEN 14888 AND 14900 THEN 4 ELSE 0 END FROM SRO_VT_SHARD.._Char WITH (NOLOCK) WHERE CharID = @CharID
SELECT @race = CASE WHEN @Gen IN (1,2) THEN 0 WHEN @Gen IN (3,4) THEN 1 ELSE NULL END
IF (@race IS NULL) RETURN;
WHILE @Flag <13 BEGIN
SELECT @ID64 = 0, @ReFItemID = 0, @ReFObjID = 0, @T1 = 0, @T2 =0, @T3 = 0, @T4 = 0
IF @Flag != 8 BEGIN
SELECT @ID64 = I.ItemID, @ReFObjID = IT.RefItemID, @optLvl = IT.OptLevel FROM SRO_VT_SHARD.._Inventory I WITH (NOLOCK) INNER JOIN SRO_VT_SHARD.._Items IT WITH (NOLOCK) ON I.ItemID = IT.ID64 WHERE I.Slot = @Flag AND I.CharID = @CharID AND IT.ID64 NOT IN (62,3655, 3823, 24459, 38345, 10383, 10885,19644, 24460, 38346) -- Arrows & Bolts...
IF @ID64 != 0 AND @ReFObjID IS NOT NULL BEGIN
SELECT @T1 = TypeID1,@T2 = TypeID2, @T3 = TypeID3, @T4 = TypeID4, @REQLVL = ReqLevel1 FROM SRO_VT_SHARD.._RefObjCommon WHERE ID = @ReFObjID
SELECT @optLvl = CASE WHEN @optLvl >= 5 THEN @optLvl ELSE 5 END
if (@REQLVL <= 111 )
BEGIN
UPDATE SRO_VT_SHARD.._Items SET RefItemID = Q.ID, Variance = ISNULL(Q.Va, 0), MagParam1 = Q.P1, MagParam2 = Q.P2, MagParam3 = Q.P3, MagParam4 = Q.P4, MagParam5 = Q.P5, MagParam6 = Q.P6, MagParam7 = Q.P7, MagParam8 = Q.P8, MagParam9 = Q.P9, MagParamNum = Q.MagParamNum, OptLevel = @optLvl FROM (SELECT TOP 1 ID, P1, P2, P3, P4, P5, P6, P7, P8, P9, Va, CASE WHEN P1 = 0 THEN 0 WHEN P5 = 0 THEN 4 WHEN P6 = 0 THEN 5 WHEN P7 = 0 THEN 6 WHEN P8 = 0 THEN 7 ELSE 0 END AS MagParamNum FROM EQUIPCONFIG P WITH (NOLOCK) WHERE typeid1 = @T1 AND typeid2 = @T2 AND typeid3 = @T3 AND typeid4 = @T4 AND (Gender = @Gen OR Gender = 0) AND Race = @race AND ReqLevel1 <= @data2 ORDER BY reqlevel1 DESC) AS Q WHERE ID64 = @ID64 AND ID64 != 0 AND Q.ID != 0 END END
END
SET @Flag += 1 END
kod efsane ye aittir buradan bikere daha teşekkürler
GO
/****** Object: StoredProcedure [dbo].[_TriggerOn_AutoEquipment] Script Date: 27.11.2022 21:55:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_TriggerOn_AutoEquipment]
@CharID INT,
@DATA2 INT
AS
DECLARE @Flag INT = 0, @ID64 INT, @ReFObjID INT, @ReFItemID INT, @T1 TINYINT, @T2 TINYINT, @T3 TINYINT, @T4 TINYINT, @optLvl TINYINT, @race BIT, @Gen TINYINT, @REQLVL INT;
SELECT @Gen = CASE WHEN RefObjID BETWEEN 1920 AND 1932 THEN 2 WHEN RefObjID <= 1919 THEN 1 WHEN RefObjID BETWEEN 14875 AND 14887 THEN 3 WHEN RefObjID BETWEEN 14888 AND 14900 THEN 4 ELSE 0 END FROM SRO_VT_SHARD.._Char WITH (NOLOCK) WHERE CharID = @CharID
SELECT @race = CASE WHEN @Gen IN (1,2) THEN 0 WHEN @Gen IN (3,4) THEN 1 ELSE NULL END
IF (@race IS NULL) RETURN;
WHILE @Flag <13 BEGIN
SELECT @ID64 = 0, @ReFItemID = 0, @ReFObjID = 0, @T1 = 0, @T2 =0, @T3 = 0, @T4 = 0
IF @Flag != 8 BEGIN
SELECT @ID64 = I.ItemID, @ReFObjID = IT.RefItemID, @optLvl = IT.OptLevel FROM SRO_VT_SHARD.._Inventory I WITH (NOLOCK) INNER JOIN SRO_VT_SHARD.._Items IT WITH (NOLOCK) ON I.ItemID = IT.ID64 WHERE I.Slot = @Flag AND I.CharID = @CharID AND IT.ID64 NOT IN (62,3655, 3823, 24459, 38345, 10383, 10885,19644, 24460, 38346) -- Arrows & Bolts...
IF @ID64 != 0 AND @ReFObjID IS NOT NULL BEGIN
SELECT @T1 = TypeID1,@T2 = TypeID2, @T3 = TypeID3, @T4 = TypeID4, @REQLVL = ReqLevel1 FROM SRO_VT_SHARD.._RefObjCommon WHERE ID = @ReFObjID
SELECT @optLvl = CASE WHEN @optLvl >= 5 THEN @optLvl ELSE 5 END
if (@REQLVL <= 111 )
BEGIN
UPDATE SRO_VT_SHARD.._Items SET RefItemID = Q.ID, Variance = ISNULL(Q.Va, 0), MagParam1 = Q.P1, MagParam2 = Q.P2, MagParam3 = Q.P3, MagParam4 = Q.P4, MagParam5 = Q.P5, MagParam6 = Q.P6, MagParam7 = Q.P7, MagParam8 = Q.P8, MagParam9 = Q.P9, MagParamNum = Q.MagParamNum, OptLevel = @optLvl FROM (SELECT TOP 1 ID, P1, P2, P3, P4, P5, P6, P7, P8, P9, Va, CASE WHEN P1 = 0 THEN 0 WHEN P5 = 0 THEN 4 WHEN P6 = 0 THEN 5 WHEN P7 = 0 THEN 6 WHEN P8 = 0 THEN 7 ELSE 0 END AS MagParamNum FROM EQUIPCONFIG P WITH (NOLOCK) WHERE typeid1 = @T1 AND typeid2 = @T2 AND typeid3 = @T3 AND typeid4 = @T4 AND (Gender = @Gen OR Gender = 0) AND Race = @race AND ReqLevel1 <= @data2 ORDER BY reqlevel1 DESC) AS Q WHERE ID64 = @ID64 AND ID64 != 0 AND Q.ID != 0 END END
END
SET @Flag += 1 END
kod efsane ye aittir buradan bikere daha teşekkürler
