MikrotikBody |
01-10-2014 05:56 AM |
ده التاب بتاع wanted system
اقتباس:
USE [SRO_VT_LOGS]
GO
/****** Object: StoredProcedure [dbo].[_Wanted] Script Date: 10/1/2014 4:54:13 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_Wanted]
@CharID int,
@EventID tinyint,
@Desc varchar(128)
as
Declare @Kc int
Declare @CharName VARCHAR(52) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)
DECLARE @K_Name VARCHAR(512) = @Desc
SELECT @K_Name = REPLACE(@K_Name, LEFT(@K_Name, CHARINDEX('(', @K_Name)), '')
SELECT @K_Name = REPLACE(@K_Name, RIGHT(@K_Name, CHARINDEX(')', REVERSE(@K_Name))), '')
----- Killed CharID
DECLARE @K_CharID INT =(SELECT CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @K_Name)
------
-- Check if he kills the char more than 3 times
DECLARE @PKill int = (select COUNT(*) from _RowKills where KillerID = @CharID and KilledID = @K_CharID)
DECLARE @MaxK int = (select COUNT(Kills) from _RowKills where KillerID = @CharID and Kills = '1')
IF ( @PKill <= '1' and @MaxK <= '50' )
BEGIN
INSERT INTO _RowKills (KillerID , KilledID , Kills) VALUES (@CharID , @K_CharID,'1')
END
----- End inserting
SET @Kc = (SELECT COUNT(Kills) FROM _RowKills WHERE KillerID = @CharID and Kills = '1' )--and Recived = 'OFF')
--- if he kills 10 in row give him the buff -- give Wanted level 1
IF @Kc = '10' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID between '50021' and '50024')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID )
---- Values
VALUES (@CharID , 0 , 33862 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 10Kills in row [Wanted Lv1]"',GETDATE())
END
--- if he kills 20 in row give him the buff -- give Wanted level 2
IF @Kc = '20' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50021' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 20Kills in row [Wanted Lv2]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50021 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '33862')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50021 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 30 in row give him the buff -- give Wanted level 3
IF @Kc = '30' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50022' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 30Kills in row [Wanted Lv3]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50022 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '33862')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50022 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 40 in row give him the buff -- give Wanted level 4
IF @Kc = '40' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '50023' and '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 40Kills in row [Wanted Lv4]"',GETDATE())
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50023 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50022' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50023 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
--- if he kills 50 in row give him the buff -- give Wanted level 5
IF @Kc = '50' AND NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50024')
BEGIN
INSERT INTO SRO_VT_LOGS.dbo.PlusNotice VALUES ('0',+@CharName+' : is Wanted "Hero Mode - 50Kills in row [Wanted Lv5]"',GETDATE())
DELETE FROM _RowKills WHERE KillerID = @CharID
IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023')
BEGIN
DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023'
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50024 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
ElSE IF NOT EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '50023' or CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID = '50021' or CharID = @CharID and JobID = '50023')
BEGIN
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES (@CharID , 0 , 50024 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 )
END
END
|
|