Quote:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddTimedJob] Script Date: 7/7/2015 3:29:04 AM ******/
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 @JobID = 33788 begin Declare @CharName varchar(52) = (select CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
exec SRO_VT_SHARD.dbo._ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SD_TOKEN_04',4,0
return -3
end
if @JobID = 33790 begin declare @CharName16 varchar(64)= (Select CharName16 from _Char where CharID = @CharID)
Update _Char Set CharName16 = '@'+ @CharName16 Where CharID = @CharID
return -3
end
if(@JobID= '33791')
begin
Declare @cname16 varchar(256);
SET @cname16 = (Select charname16 from _Char where CharID = @CharID)
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 <= '100'
SELECT @TotalSPMastery = SUM(_RefLevel.Exp_M) FROM _CharSkillMastery, _RefLevel WHERE _RefLevel.Lvl=_CharSkillMastery.Level AND _CharSkillMastery.CharID=@CharID AND _CharSkillMastery.Level <= '100'
UPDATE _Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+1500000 WHERE CharID=@CharID
DELETE _CharSkill FROM _RefSkill, _CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '100' 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 <= '100'
return -3
end
if(@JobID = '33792')
begin
declare @Strength int
, @Intellect int
, @MaxLevel int
, @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
declare @USERID_2 varchar(64);
SET @USERID_2 = (Select StrUserID from SRO_VT_ACCOUNT.dbo.TB_User inner join sro_vt_shard.dbo._User
On SRO_VT_SHARD.dbo._User.UserJID = SRO_VT_ACCOUNT.dbo.TB_User.JID where SRO_VT_SHARD.dbo._User.CharID = @CharID)
if(@JobID = '33793') -- Silk Scrolls Exchange (50 Silks)
begin
--1--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 50, @Price = 50
END
--
if(@JobID = '33794') -- Silk Scrolls Exchange (100 Silks)
begin
--2--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 100, @Price = 100
END
--
if(@JobID = '33795') -- Silk Scrolls Exchange (200 Silks)
begin
--4--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 200, @Price = 200
END
--
if(@JobID = '33796') -- Silk Scrolls Exchange (300 Silks)
begin
--5--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 300, @Price = 300
END
--
if(@JobID = '33797') -- Silk Scrolls Exchange (400 Silks)
begin
--6--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 400, @Price = 400
END
--
if(@JobID = '33798') -- Silk Scrolls Exchange (500 Silks)
begin
--7--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = 500, @Price = 500
END
DECLARE @Upper_Gold INT = '60', @Lower_Gold INT = '1'
DECLARE @Random_Gold INT = ROUND(((@Upper_GOLD - @Lower_GOLD -1) * RAND() + @Lower_GOLD), 0);
if(@JobID = '33799') -- Silk Scrolls Exchange (500 Silks)
begin
--7--
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @USERID_2, @PkgID = NULL, @NumSilk = @Random_Gold, @Price = 500
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
--##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
return @NewJobID
--风云丝路