|
• الانـتـسـاب » Oct 2008
|
• رقـم العـضـويـة » 37620
|
• المشـــاركـات » 3,136
|
• الـدولـة » فوق السطوح
|
• الـهـوايـة » التخريب
|
• اسـم الـسـيـرفـر » No Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 55
|
|
|
رد: مشكله في wanted system
جرب كدا الـ producer دول
SRO_VT_SHARD
كود PHP:
USE [SRO_VT_SHARDLOG] GO
/****** Object: StoredProcedure [dbo].[_Wanted] Script Date: 9/12/2014 6:25:37 PM ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE 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 <= '9' 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 between '34243' and '34247') 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 , 34243 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 ) INSERT INTO SRO_VT_SHARDLOG.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 '34244' and '34247') BEGIN INSERT INTO SRO_VT_SHARDLOG.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 = '34243') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID = '34243' INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES @CharID , 0 , 34244 , 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 = '34243') 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 , 34244 , 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 '34245' and '34247') BEGIN INSERT INTO SRO_VT_SHARDLOG.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 between'34243' and '34244') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between'34243' and '34244' INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES @CharID , 0 , 34245 , 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 between'34243' and '34244') 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 , 34245 , 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 '34246' and '34247') BEGIN INSERT INTO SRO_VT_SHARDLOG.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 between '34243' and '34245') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34245' INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES @CharID , 0 , 34246 , 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 between '34243' and '34245') 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 , 34246 , 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 = '34247') BEGIN INSERT INTO SRO_VT_SHARDLOG.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 between '34243' and '34246') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34246' INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category , JobID , TimeToKeep , Data1 , Data2 , Data3 , Data4 , Data5 , Data6, Data7 , Data8 , Serial64 , JID ) VALUES @CharID , 0 , 34247 , 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 between '34243' and '34246') 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 , 34247 , 3600 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 72339069015696862 , 0 ) END END
Create Table
كود PHP:
USE [SHARDLOG] GO
/****** Object: Table [dbo].[_RowKills] Script Date: 09/13/2014 11:35:20 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[_RowKills]( [ID] [int] IDENTITY(1,1) NOT NULL, [KillerID] [int] NULL, [KilledID] [varchar](50) NULL, [Kills] [int] NULL, CONSTRAINT [PK__RowKills] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
AddLogChar -> (SRO_VT_LOG -> Programmability -> Stored Procedures -> Right click on _AddLogChar and press on 'Modify')
كود PHP:
--- Wanted System if @eventID = '19' -- Count kills BEGIN if (@strPos like '%(0x679a)%') BEGIN IF @desc LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @desc LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @desc LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN DECLARE @killedName VARCHAR(512) = @desc DECLARE @ReqLevel INT = 0 SELECT @killedName = REPLACE @killedName, LEFT @killedName, CHARINDEX('(', @killedName)), '') SELECT @killedName = REPLACE @killedName, RIGHT @killedName, CHARINDEX(')', REVERSE @killedName))), '') SELECT @ReqLevel = CurLevel FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @killedName if @ReqLevel >= 90 BEGIN Exec [_Wanted] @CharID , @eventID , @desc End END END END if @eventID = '20' -- if dies BEGIN IF @desc LIKE '%Trader, Neutral, no freebattle team%' -- Trader OR @desc LIKE '%Hunter, Neutral, no freebattle team%' -- Hunter OR @desc LIKE '%Robber, Neutral, no freebattle team%' -- Thief ) BEGIN UPDATE _RowKills SET Kills = '0' WHERE KillerID = @CharID IF EXISTS (SELECT * FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @CharID AND JobID = '33862' or CharID = @CharID and JobID between '50021' and '50024') BEGIN DELETE FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @CharID and JobID = '33862' or CharID = @CharID and JobID between '50021' and '50024' END END END --------- End of wanted system
|