كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddTimedJob] Script Date: 12/16/2015 4:35:18 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_AddTimedJob]
@CharID int,
@Category tinyint,
@JobID int,
@TimeToKeep int,
@Data1 int,
@Data2 int,
--##begin due to develop composite item
@Data3 int,
@Data4 int,
@Data5 int,
@Data6 int,
@Data7 int,
@Data8 int,
@Serial64 bigint,
@JID int
--##end due to develop composite item
as
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
--##begin due to develop composite item
insert into _TimedJob(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, @JID)
--##end due to develop composite item
set @NewJobID = @@identity
if (@@error <> 0 or @@rowcount = 0)
return -3
if @Category=2 and @JobID=2
begin
delete from _TimedJob where ID=@NewJobID
end
if(@JobID = '90015') -- Adv Remover
begin
DECLARE @ItemID varchar (64)
SELECT @ItemID=ItemID from _Inventory where CharID = @CharID AND Slot = '13'
DELETE FROM _BindingOptionWithItem where nItemDBID IN (SELECT ItemID FROM _Inventory WHERE Slot = '13' AND CharID=@CharID) and bOptType=2
end
IF(@JobID= '90016') -- Lottery JC
BEGIN
DECLARE @USERJID int = (SELECT USERJID FROM SRO_VT_SHARD.dbo._USER WHERE CHARID = @CharID);
DECLARE @USERID varchar(25) = (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE JID = @USERJID);
DECLARE @Random INT;
DECLARE @Upper INT;
DECLARE @Lower INT;
SET @Lower = 5 -- The lowest random number
SET @Upper = 15 -- The highest random number
SET @Random = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
exec SRO_VT_ACCOUNT.CGI.CGI_WebPurchaseSilk_ null,@USERID,null,@Random,null
END
IF(@JobID= '90010') -- Lottery SILK
BEGIN
DECLARE @USERJID2 int = (SELECT USERJID FROM SRO_VT_SHARD.dbo._USER WHERE CHARID = @CharID);
DECLARE @USERID2 varchar(25) = (SELECT StrUserID FROM SRO_VT_ACCOUNT.dbo.TB_User WHERE JID = @USERJID2);
DECLARE @Random2 INT;
DECLARE @Upper2 INT;
DECLARE @Lower2 INT;
SET @Lower2 = 1 -- The lowest random number
SET @Upper2 = 100 -- The highest random number
SET @Random2 = ROUND(((@Upper2 - @Lower2 -1) * RAND() + @Lower2), 0)
exec SRO_VT_ACCOUNT.CGI.CGI_WebPurchaseSilk_SPH null,@USERID2,null,@Random2,null
END
Declare @Rate2 int = (SELECT TOP 1 * FROM SRO_VT_SHARDLOG.dbo.rate ORDER BY NEWID())
DECLARE @CharName varchar(16) = (select CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
DECLARE @Random1 INT;
DECLARE @Upper1 INT;
DECLARE @Lower1 INT;
SET @Lower1 = 1 -- The lowest random number
SET @Upper1 = 10 -- The highest random number
SET @Random1 = ROUND(((@Upper1 - @Lower1 -1) * RAND() + @Lower1), 0)
if(@JobID = '90017')
begin
IF (@Rate2 = '1')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ACCESSARY_E', @Random1,0
End
IF (@Rate2 = '2')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ARMOR_E', @Random1,0
end
IF (@Rate2 = '3')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_SHIELD_E', @Random1,0
End
IF (@Rate2 = '4')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_WEAPON_E', @Random1,0
End
IF (@Rate2 = '5')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ACCESSARY_D', @Random1,0
End
IF (@Rate2 = '6')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ARMOR_D', @Random1,0
End
IF (@Rate2 = '7')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_SHIELD_D', @Random1,0
End
IF (@Rate2 = '8')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_WEAPON_D', @Random1,0
End
IF (@Rate2 = '9')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ACCESSARY_B', @Random1,0
End
IF (@Rate2 = '10')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_ARMOR_B', @Random1,0
End
IF (@Rate2 = '11')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_SHIELD_B', @Random1,0
End
IF (@Rate2 = '12')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname,'ITEM_ETC_ARCHEMY_REINFORCE_RECIPE_WEAPON_B', @Random1,0
End
end
Declare @Rate3 int = (SELECT TOP 1 * FROM SRO_VT_LOG.dbo.rate ORDER BY NEWID())
DECLARE @CharName1 varchar(16) = (select CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
if(@JobID = '90018')
begin
IF (@Rate3 = '1')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_ACC_5', 1,0
End
IF (@Rate3 = '2')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_ACC_4', 1,0
end
IF (@Rate3 = '3')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_ACC_3', 1,0
End
IF (@Rate3 = '4')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_AR_5', 1,0
End
IF (@Rate3 = '5')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_AR_4', 1,0
End
IF (@Rate3 = '6')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_AR_3', 1,0
End
IF (@Rate3 = '7')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_SH_5', 1,0
End
IF (@Rate3 = '8')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_SH_4', 1,0
End
IF (@Rate3 = '9')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_SH_3', 1,0
End
IF (@Rate3 = '10')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_WE_5', 1,0
End
IF (@Rate3 = '11')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_WE_4', 1,0
End
IF (@Rate3 = '12')
begin
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @charname1,'ITEM_UPPER_MADELYN_WE_3', 1,0
End
end
if(@JobID = '90019') -- remove stats
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
end
if(@JobID= '90020') -- remove skills
begin
declare @TotalSP int
declare @TotalSPMastery int
SELECT @TotalSP = SUM(_RefSkill.ReqLearn_SP) FROM _RefSkill, _CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '130'
SELECT @TotalSPMastery = SUM(_RefLevel.Exp_M) FROM _CharSkillMastery, _RefLevel WHERE _RefLevel.Lvl=_CharSkillMastery.Level AND _CharSkillMastery.CharID=@CharID AND _CharSkillMastery.Level <= '130'
UPDATE _Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+200000 WHERE CharID=@CharID
DELETE _CharSkill FROM _RefSkill, _CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '130' AND _RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)
UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '130'
end
if(@JobID= '90021') --Remover Blue Avatar
begin
declare @ItemID1 varchar (64)
select ItemID=@ItemID1 from _Inventory where CharID = @CharID and Slot = '13'
Update _Items Set MagParamNum = 0, MagParam1 = NULL, MagParam2 = NULL, MagParam3 = NULL, MagParam4 = NULL, MagParam5 = NULL, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL where ID64 in (select ItemID from _Inventory where CharID = @CharID and Slot = '13' and ItemID>0)
end
if(@JobID= '90022') --Remove Prem--
begin
declare @RemovePrem1 int
declare @RemovePrem2 int
declare @RemovePrem3 int
declare @RemovePrem4 int
declare @RemovePrem5 int
declare @RemovePrem6 int
declare @RemovePrem7 int
declare @RemovePrem8 int
DECLARE @REMOVEPREM9 INT
SET @RemovePrem1 = (Select ID From _TimedJob Where CharID=@CharID and Data2=3847)
SET @RemovePrem2 = (Select ID From _TimedJob Where CharID=@CharID and Data2=3783)
SET @RemovePrem3 = (Select ID From _TimedJob Where CharID=@CharID and Data2=3769)
SET @RemovePrem4 = (Select ID From _TimedJob Where CharID=@CharID and Data2=3795)
SET @RemovePrem5 = (Select ID From _TimedJob Where CharID=@CharID and Data2=10800)
SET @RemovePrem6 = (Select ID From _TimedJob Where CharID=@CharID and Data2=224)
SET @RemovePrem7 = (Select ID From _TimedJob Where CharID=@CharID and Data2=1)
SET @RemovePrem8 = (Select ID From _TimedJob Where CharID=@CharID and Data2=2)
SET @REMOVEPREM9 = (SELECT ID FROM _TIMEDJOB WHERE CharID=@CharID AND Data2=707799600)
delete from _TimedJob WHERE ID=@RemovePrem1
delete from _TimedJob WHERE ID=@RemovePrem2
delete from _TimedJob WHERE ID=@RemovePrem3
delete from _TimedJob WHERE ID=@RemovePrem4
delete from _TimedJob WHERE ID=@RemovePrem5
delete from _TimedJob WHERE ID=@RemovePrem6
delete from _TimedJob WHERE ID=@RemovePrem7
delete from _TimedJob WHERE ID=@RemovePrem8
delete from _TimedJob WHERE ID=@REMOVEPREM9
end
if(@JobID = '91720') --Change Name--
begin
declare @CharName16 varchar(64)
Select @CharName16=CharName16 from _Char where CharID = @CharID
Update _Char Set CharName16 = '@'+ @CharName16 Where CharID = @CharID
return -3
end
if(@JobID = '91696')
begin
Update _Char Set HwanLeveL = 20 Where CharID = @CharID
end
if(@JobID = '91697')
begin
Update _Char Set HwanLeveL = 22 Where CharID = @CharID
end
if(@JobID = '91698')
begin
Update _Char Set HwanLeveL = 24 Where CharID = @CharID
end
if(@JobID = '91699')
begin
Update _Char Set HwanLeveL = 25 Where CharID = @CharID
end
if(@JobID = '91700')
begin
Update _Char Set HwanLeveL = 28 Where CharID = @CharID
end
if(@JobID = '91701')
begin
Update _Char Set HwanLeveL = 29 Where CharID = @CharID
end
if(@JobID = '91702')
begin
Update _Char Set HwanLeveL = 50 Where CharID = @CharID
end
if(@JobID = '91703')
begin
Update _Char Set HwanLeveL = 51 Where CharID = @CharID
end
if(@JobID = '91704')
begin
Update _Char Set HwanLeveL = 53 Where CharID = @CharID
end
if(@JobID = '91705')
begin
Update _Char Set HwanLeveL = 54 Where CharID = @CharID
end
if(@JobID = '91706')
begin
Update _Char Set HwanLeveL = 57 Where CharID = @CharID
end
if(@JobID = '91707')
begin
Update _Char Set HwanLeveL = 58 Where CharID = @CharID
end
if(@JobID = '91708')
begin
Update _Char Set HwanLeveL = 62 Where CharID = @CharID
end
if(@JobID = '91709')
begin
Update _Char Set HwanLeveL = 71 Where CharID = @CharID
end
if(@JobID = '91710')
begin
Update _Char Set HwanLeveL = 63 Where CharID = @CharID
end
if(@JobID = '91711')
begin
Update _Char Set HwanLeveL = 64 Where CharID = @CharID
end
if(@JobID = '91712')
begin
Update _Char Set HwanLeveL = 65 Where CharID = @CharID
end
if(@JobID = '91713')
begin
Update _Char Set HwanLeveL = 66 Where CharID = @CharID
end
if(@JobID = '91714')
begin
Update _Char Set HwanLeveL = 67 Where CharID = @CharID
end
if(@JobID = '91715')
begin
Update _Char Set HwanLeveL = 68 Where CharID = @CharID
end
if(@JobID = '91716')
begin
Update _Char Set HwanLeveL = 70 Where CharID = @CharID
end
if(@JobID = '91717')
begin
Update _Char Set HwanLeveL = 73 Where CharID = @CharID
end
if(@JobID = '91718')
begin
Update _Char Set HwanLeveL = 107 Where CharID = @CharID
end
if(@JobID = '91719')
begin
Update _Char Set HwanLeveL = 100 Where CharID = @CharID
end
--##end due to develop composite item
set @NewJobID = @@identity
if (@@error <> 0 or @@rowcount = 0)
return -3
return @NewJobID
--风云丝路
ADDTimejobpet