Prosedürleri Ekleyeceginiz Kısım :
SRO_VT_LOG -- Programmability -- AddLogİtem -- Stored Procedure
Hepsini AS' dan sonra ekleyin.
-- Durability reset Scroll
[HIDE]
IF @ItemRefID= 61064 and @Operation=16 BEGIN -- Durability reset Scroll
DECLARE @Param1 BIGINT,
@Param2 BIGINT,
@Param3 BIGINT,
@Param4 BIGINT,
@Param5 BIGINT,
@Param6 BIGINT,
@Param7 BIGINT,
@Param8 BIGINT,
@Param9 BIGINT,
@Param10 BIGINT,
@ParamNum TINYINT,
@SQL nvarchar(400),
@RedStat TINYINT,
@ID64 INT;
SELECT @Param1 = magic1.ID ,
@Param2 = magic2.ID ,
@Param3 = magic3.ID ,
@Param4 = magic4.ID ,
@Param5 = magic5.ID ,
@Param6 = magic6.ID ,
@Param7 = magic7.ID ,
@Param8 = magic8.ID ,
@Param9 = magic9.ID ,
@Param10 = magic10.ID,
@ParamNum = items0.MagParamNum,
@ID64 = items0.ID64
FROM SRO_VT_SHARD.dbo._Inventory AS invent0
INNER JOIN SRO_VT_SHARD.dbo._Items AS items0 ON invent0.ItemID = items0.ID64 AND (invent0.Slot = 13)
INNER JOIN SRO_VT_SHARD.dbo._RefObjCommon AS ref0 ON items0.RefItemID = ref0.ID
INNER JOIN SRO_VT_SHARD.dbo._Char AS chart ON invent0.CharID = chart.CharID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic1 ON (items0.MagParam1 & 2147483647) = magic1.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic2 ON (items0.MagParam2 & 2147483647) = magic2.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic3 ON (items0.MagParam3 & 2147483647) = magic3.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic4 ON (items0.MagParam4 & 2147483647) = magic4.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic5 ON (items0.MagParam5 & 2147483647) = magic5.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic6 ON (items0.MagParam6 & 2147483647) = magic6.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic7 ON (items0.MagParam7 & 2147483647) = magic7.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic8 ON (items0.MagParam8 & 2147483647) = magic8.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic9 ON (items0.MagParam9 & 2147483647) = magic9.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic10 ON (items0.MagParam10 & 2147483647) = magic10.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic11 ON (items0.MagParam11 & 2147483647) = magic11.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic12 ON (items0.MagParam12 & 2147483647) = magic12.ID
WHERE chart.CharID = @CharID
SET @RedStat = (SELECT CASE WHEN @Param1 BETWEEN 1 AND 4
THEN 1
WHEN @Param2 BETWEEN 1 AND 4
THEN 2
WHEN @Param3 BETWEEN 1 AND 4
THEN 3
WHEN @Param4 BETWEEN 1 AND 4
THEN 4
WHEN @Param5 BETWEEN 1 AND 4
THEN 5
WHEN @Param6 BETWEEN 1 AND 4
THEN 6
WHEN @Param7 BETWEEN 1 AND 4
THEN 7
WHEN @Param8 BETWEEN 1 AND 4
THEN 8
WHEN @Param9 BETWEEN 1 AND 4
THEN 9
WHEN @Param10 BETWEEN 1 AND 4
THEN 10
ELSE NULL
END )
IF @RedStat < @ParamNum
BEGIN
SET @SQL = ' UPDATE SRO_VT_SHARD.dbo._Items
SET MagParam' + CAST(@RedStat AS nvarchar(2)) + ' = MagParam' + CAST(@ParamNum AS nvarchar(2)) + ',
MagParam' + CAST(@ParamNum AS nvarchar(2)) + ' = MagParam' + CAST(@RedStat AS nvarchar(2)) + ',
MagParamNum -= 1
WHERE ID64 = ' + CAST(@ID64 AS nvarchar(10))
EXEC sp_executeSQL @SQL, N'@RedStat TINYINT, @ParamNum TINYINT, @ID64 INT', @RedStat, @ParamNum, @ID64
RETURN -3
END
ELSE IF @RedStat = @ParamNum
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET MagParamNum -= 1
WHERE ID64 = @ID64
RETURN -1
END
ELSE
BEGIN
DECLARE @Charname1 VARCHAR(32) = (SELECT Charname16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)
RETURN -2
END
END
----adv remover
[/HIDE]
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150004)) --ADV Remover--
begin
DELETE FROM SRO_VT_SHARD.._BindingOptionWithItem where nItemDBID IN (SELECT ItemID FROM SRO_VT_SHARD.._Inventory WHERE Slot BETWEEN 0 AND 12 AND CharID=@CharID) and bOptType=2
end
[/HIDE]
----- stat reset scroll
[HIDE]
if(@JobID = '51000')
begin
declare @Strength int
declare @Intellect int
declare @MaxLevel int
declare @RemainStatPoint int
select @MaxLevel = MaxLevel from _Char where CharID = @CharID
set @RemainStatPoint = (@MaxLevel*3)-3
set @MaxLevel = @MaxLevel+19
UPDATE _Char SET Strength=@MaxLevel, Intellect=@MaxLevel, RemainStatPoint=@RemainStatPoint WHERE CharID=@CharID
return -3
end
if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
return -1
if (@TimeToKeep <= 0)
return -2
declare @NewJobID int
set @NewJobID = 0
[/HIDE]
---- skill reset sc
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150001)) --Skill Reset--
begin
declare @TotalSP int
declare @TotalSPMastery int
SELECT @TotalSP = SUM(SRO_VT_SHARD.._RefSkill.ReqLearn_SP) FROM SRO_VT_SHARD.._RefSkill, SRO_VT_SHARD.._CharSkill WHERE SRO_VT_SHARD.._RefSkill.ID=SRO_VT_SHARD.._CharSkill.SkillID AND SRO_VT_SHARD.._CharSkill.CharID=@CharID AND SRO_VT_SHARD.._RefSkill.ReqCommon_MasteryLevel1 <= '120'
SELECT @TotalSPMastery = SUM(SRO_VT_SHARD.._RefLevel.Exp_M) FROM SRO_VT_SHARD.._CharSkillMastery, SRO_VT_SHARD.._RefLevel WHERE SRO_VT_SHARD.._RefLevel.Lvl=SRO_VT_SHARD.._CharSkillMastery.Level AND SRO_VT_SHARD.._CharSkillMastery.CharID=@CharID AND SRO_VT_SHARD.._CharSkillMastery.Level <= '120'
UPDATE SRO_VT_SHARD.._Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+1000000 WHERE CharID=@CharID
DELETE SRO_VT_SHARD.._CharSkill FROM SRO_VT_SHARD.._RefSkill, SRO_VT_SHARD.._CharSkill WHERE SRO_VT_SHARD.._RefSkill.ID=SRO_VT_SHARD.._CharSkill.SkillID AND SRO_VT_SHARD.._CharSkill.CharID=@CharID AND SRO_VT_SHARD.._RefSkill.ReqCommon_MasteryLevel1 <= '120' AND SRO_VT_SHARD.._RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)
UPDATE SRO_VT_SHARD.._CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '120'
end
[/HIDE]
--------Premium Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150000)) --Premium Remover--
begin
DELETE FROM SRO_VT_SHARD.._TimedJob where CharID = @CharID and JobID in (select ID from SRO_VT_SHARD.._RefObjCommon where CodeName128 like '%pre%')
DELETE FROM SRO_VT_SHARD.._TimedJob where CharID = @CharID and JobID in (select ID from SRO_VT_SHARD.._RefSkill where Basic_Code like '%pre%')
end
[/HIDE]
-------PK Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150006)) --PK Remover--
begin
begin
UPDATE SRO_VT_SHARD.._Char SET DailyPK= 0, TotalPK= 0, PKPenaltyPoint= 0 WHERE CharID = @CharID
end
end
[/HIDE]
Job Penalty Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150003)) --Job Penalty Remover--
begin
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID and (JobID = 1 and Category = 2)
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID and (JobID = 2)
end
[/HIDE]
-----Holy Water Limit Reset
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150007)) --Holy Water Limit Reset--
begin
begin
DELETE FROM SRO_VT_SHARD.._CharInstanceWorldData where CharID= @CharID
end
end
[/HIDE]
-------FGW Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150005)) --FGW Remover--
begin
begin
UPDATE SRO_VT_SHARD.._TimedJob SET TimeToKeep='7', Data1='0' WHERE CharID=@CharID AND Category='12'
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID AND Category='6'
--return -3
end
end
[/HIDE]
SRO_VT_LOG -- Programmability -- AddLogİtem -- Stored Procedure
Hepsini AS' dan sonra ekleyin.
-- Durability reset Scroll
[HIDE]
IF @ItemRefID= 61064 and @Operation=16 BEGIN -- Durability reset Scroll
DECLARE @Param1 BIGINT,
@Param2 BIGINT,
@Param3 BIGINT,
@Param4 BIGINT,
@Param5 BIGINT,
@Param6 BIGINT,
@Param7 BIGINT,
@Param8 BIGINT,
@Param9 BIGINT,
@Param10 BIGINT,
@ParamNum TINYINT,
@SQL nvarchar(400),
@RedStat TINYINT,
@ID64 INT;
SELECT @Param1 = magic1.ID ,
@Param2 = magic2.ID ,
@Param3 = magic3.ID ,
@Param4 = magic4.ID ,
@Param5 = magic5.ID ,
@Param6 = magic6.ID ,
@Param7 = magic7.ID ,
@Param8 = magic8.ID ,
@Param9 = magic9.ID ,
@Param10 = magic10.ID,
@ParamNum = items0.MagParamNum,
@ID64 = items0.ID64
FROM SRO_VT_SHARD.dbo._Inventory AS invent0
INNER JOIN SRO_VT_SHARD.dbo._Items AS items0 ON invent0.ItemID = items0.ID64 AND (invent0.Slot = 13)
INNER JOIN SRO_VT_SHARD.dbo._RefObjCommon AS ref0 ON items0.RefItemID = ref0.ID
INNER JOIN SRO_VT_SHARD.dbo._Char AS chart ON invent0.CharID = chart.CharID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic1 ON (items0.MagParam1 & 2147483647) = magic1.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic2 ON (items0.MagParam2 & 2147483647) = magic2.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic3 ON (items0.MagParam3 & 2147483647) = magic3.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic4 ON (items0.MagParam4 & 2147483647) = magic4.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic5 ON (items0.MagParam5 & 2147483647) = magic5.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic6 ON (items0.MagParam6 & 2147483647) = magic6.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic7 ON (items0.MagParam7 & 2147483647) = magic7.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic8 ON (items0.MagParam8 & 2147483647) = magic8.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic9 ON (items0.MagParam9 & 2147483647) = magic9.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic10 ON (items0.MagParam10 & 2147483647) = magic10.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic11 ON (items0.MagParam11 & 2147483647) = magic11.ID
LEFT JOIN SRO_VT_SHARD.dbo._RefMagicOpt AS magic12 ON (items0.MagParam12 & 2147483647) = magic12.ID
WHERE chart.CharID = @CharID
SET @RedStat = (SELECT CASE WHEN @Param1 BETWEEN 1 AND 4
THEN 1
WHEN @Param2 BETWEEN 1 AND 4
THEN 2
WHEN @Param3 BETWEEN 1 AND 4
THEN 3
WHEN @Param4 BETWEEN 1 AND 4
THEN 4
WHEN @Param5 BETWEEN 1 AND 4
THEN 5
WHEN @Param6 BETWEEN 1 AND 4
THEN 6
WHEN @Param7 BETWEEN 1 AND 4
THEN 7
WHEN @Param8 BETWEEN 1 AND 4
THEN 8
WHEN @Param9 BETWEEN 1 AND 4
THEN 9
WHEN @Param10 BETWEEN 1 AND 4
THEN 10
ELSE NULL
END )
IF @RedStat < @ParamNum
BEGIN
SET @SQL = ' UPDATE SRO_VT_SHARD.dbo._Items
SET MagParam' + CAST(@RedStat AS nvarchar(2)) + ' = MagParam' + CAST(@ParamNum AS nvarchar(2)) + ',
MagParam' + CAST(@ParamNum AS nvarchar(2)) + ' = MagParam' + CAST(@RedStat AS nvarchar(2)) + ',
MagParamNum -= 1
WHERE ID64 = ' + CAST(@ID64 AS nvarchar(10))
EXEC sp_executeSQL @SQL, N'@RedStat TINYINT, @ParamNum TINYINT, @ID64 INT', @RedStat, @ParamNum, @ID64
RETURN -3
END
ELSE IF @RedStat = @ParamNum
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET MagParamNum -= 1
WHERE ID64 = @ID64
RETURN -1
END
ELSE
BEGIN
DECLARE @Charname1 VARCHAR(32) = (SELECT Charname16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)
RETURN -2
END
END
----adv remover
[/HIDE]
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150004)) --ADV Remover--
begin
DELETE FROM SRO_VT_SHARD.._BindingOptionWithItem where nItemDBID IN (SELECT ItemID FROM SRO_VT_SHARD.._Inventory WHERE Slot BETWEEN 0 AND 12 AND CharID=@CharID) and bOptType=2
end
[/HIDE]
----- stat reset scroll
[HIDE]
if(@JobID = '51000')
begin
declare @Strength int
declare @Intellect int
declare @MaxLevel int
declare @RemainStatPoint int
select @MaxLevel = MaxLevel from _Char where CharID = @CharID
set @RemainStatPoint = (@MaxLevel*3)-3
set @MaxLevel = @MaxLevel+19
UPDATE _Char SET Strength=@MaxLevel, Intellect=@MaxLevel, RemainStatPoint=@RemainStatPoint WHERE CharID=@CharID
return -3
end
if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
return -1
if (@TimeToKeep <= 0)
return -2
declare @NewJobID int
set @NewJobID = 0
[/HIDE]
---- skill reset sc
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150001)) --Skill Reset--
begin
declare @TotalSP int
declare @TotalSPMastery int
SELECT @TotalSP = SUM(SRO_VT_SHARD.._RefSkill.ReqLearn_SP) FROM SRO_VT_SHARD.._RefSkill, SRO_VT_SHARD.._CharSkill WHERE SRO_VT_SHARD.._RefSkill.ID=SRO_VT_SHARD.._CharSkill.SkillID AND SRO_VT_SHARD.._CharSkill.CharID=@CharID AND SRO_VT_SHARD.._RefSkill.ReqCommon_MasteryLevel1 <= '120'
SELECT @TotalSPMastery = SUM(SRO_VT_SHARD.._RefLevel.Exp_M) FROM SRO_VT_SHARD.._CharSkillMastery, SRO_VT_SHARD.._RefLevel WHERE SRO_VT_SHARD.._RefLevel.Lvl=SRO_VT_SHARD.._CharSkillMastery.Level AND SRO_VT_SHARD.._CharSkillMastery.CharID=@CharID AND SRO_VT_SHARD.._CharSkillMastery.Level <= '120'
UPDATE SRO_VT_SHARD.._Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+1000000 WHERE CharID=@CharID
DELETE SRO_VT_SHARD.._CharSkill FROM SRO_VT_SHARD.._RefSkill, SRO_VT_SHARD.._CharSkill WHERE SRO_VT_SHARD.._RefSkill.ID=SRO_VT_SHARD.._CharSkill.SkillID AND SRO_VT_SHARD.._CharSkill.CharID=@CharID AND SRO_VT_SHARD.._RefSkill.ReqCommon_MasteryLevel1 <= '120' AND SRO_VT_SHARD.._RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)
UPDATE SRO_VT_SHARD.._CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '120'
end
[/HIDE]
--------Premium Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150000)) --Premium Remover--
begin
DELETE FROM SRO_VT_SHARD.._TimedJob where CharID = @CharID and JobID in (select ID from SRO_VT_SHARD.._RefObjCommon where CodeName128 like '%pre%')
DELETE FROM SRO_VT_SHARD.._TimedJob where CharID = @CharID and JobID in (select ID from SRO_VT_SHARD.._RefSkill where Basic_Code like '%pre%')
end
[/HIDE]
-------PK Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150006)) --PK Remover--
begin
begin
UPDATE SRO_VT_SHARD.._Char SET DailyPK= 0, TotalPK= 0, PKPenaltyPoint= 0 WHERE CharID = @CharID
end
end
[/HIDE]
Job Penalty Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150003)) --Job Penalty Remover--
begin
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID and (JobID = 1 and Category = 2)
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID and (JobID = 2)
end
[/HIDE]
-----Holy Water Limit Reset
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150007)) --Holy Water Limit Reset--
begin
begin
DELETE FROM SRO_VT_SHARD.._CharInstanceWorldData where CharID= @CharID
end
end
[/HIDE]
-------FGW Remover
[HIDE]
if(@Operation = 41 and @Slot_To = 255 and (@ItemRefID = 150005)) --FGW Remover--
begin
begin
UPDATE SRO_VT_SHARD.._TimedJob SET TimeToKeep='7', Data1='0' WHERE CharID=@CharID AND Category='12'
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID=@CharID AND Category='6'
--return -3
end
end
[/HIDE]