IF (@EventID = 20) -- PVP 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 OR @Desc like '%no job, Neutral, %no job, Neutral%' -- Free PVP ) BEGIN -- Get killer name DECLARE @killername VARCHAR(512) = @Desc DECLARE @killeriD INT = 0 SELECT @killername = REPLACE @killername, LEFT @killername, CHARINDEX('(', @killername)), '') SELECT @killername = REPLACE @killername, RIGHT @killername, CHARINDEX(')', REVERSE @killername))), '') SELECT @killeriD = CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @killername -- Get job type DECLARE @jobString VARCHAR(10) = LTRIM(RTRIM(SUBSTRING @Desc, 5, 7))) DECLARE @jobType INT = CASE WHEN @jobString LIKE 'Trader' THEN 1 WHEN @jobString LIKE 'Robber' THEN 2 WHEN @jobString LIKE 'Hunter' THEN 3 ELSE 0 END -- Delete original log DELETE FROM _LogEventChar WHERE CharID = @charID AND EventID = 20 AND (strDesc LIKE '%Trader, Neutral, no freebattle team%' OR strDesc LIKE '%Hunter, Neutral, no freebattle team%' OR strDesc LIKE '%Robber, Neutral, no freebattle team%' OR @Desc like '%no job, Neutral, %no job, Neutral%') -- Get additional info for notice message DECLARE @charname VARCHAR(64) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @charID) DECLARE @jobDesc VARCHAR(32) = CASE WHEN @jobType BETWEEN 1 AND 3 THEN 'Job Conflict' ELSE 'Free PVP' END DECLARE @strDesc VARCHAR(512) IF @jobString LIKE 'Trader' OR @jobString LIKE 'Robber' OR @jobString LIKE 'Hunter') BEGIN -- If it's a Job Kill, then write character nicknames DECLARE @killerNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @killeriD) DECLARE @charnickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @charID) SET @strDesc = '[' + @killerNickName + '] has just killed [' + @charnickName + '] in [' + @jobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END ELSE BEGIN -- If it's normal PVP Kill, write real character names SET @strDesc = '[' + @killername + '] has just killed [' + @charname + '] in [' + @jobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END -- Update the log INSERT INTO _LogEventPVP VALUES (0, @killeriD, @charID, @jobType, GETDATE(), @strPos, @strDesc) -- Flag notice if it's not sent more than 5 minutes UPDATE _LogEventPVP SET isSent = 1 WHERE CharID = @charID AND EventTime < DATEADD(MINUTE, -5, GETDATE()) END END
• الـهـوايـة » Private server developing and designing [ 2D -3D - Pk2 ]
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 89
3271
رد: مشكلة فى _AddLogChar
كود PHP:
IF (@EventID = 20) -- PVP 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 OR @Desc like '%no job, Neutral, %no job, Neutral%' -- Free PVP ) BEGIN -- Get killer name DECLARE @KillerName VARCHAR(512) = @Desc DECLARE @KillerID INT = 0 SELECT @KillerName = REPLACE(@KillerName, LEFT(@KillerName, CHARINDEX('(', @KillerName)), '') SELECT @KillerName = REPLACE(@KillerName, RIGHT(@KillerName, CHARINDEX(')', REVERSE(@KillerName))), '') SELECT @KillerID = CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @KillerName -- Get job type DECLARE @JobString VARCHAR(10) = LTRIM(RTRIM(SUBSTRING(@Desc, 5, 7))) DECLARE @JobType INT = CASE WHEN @JobString LIKE 'Trader' THEN 1 WHEN @JobString LIKE 'Robber' THEN 2 WHEN @JobString LIKE 'Hunter' THEN 3 ELSE 0 END -- Delete original log DELETE FROM _LogEventChar WHERE CharID = @CharID AND EventID = 20 AND (strDesc LIKE '%Trader, Neutral, no freebattle team%' OR strDesc LIKE '%Hunter, Neutral, no freebattle team%' OR strDesc LIKE '%Robber, Neutral, no freebattle team%' OR @Desc like '%no job, Neutral, %no job, Neutral%') -- Get additional info for notice message DECLARE @CharName VARCHAR(64) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @CharID) DECLARE @JobDesc VARCHAR(32) = CASE WHEN @JobType BETWEEN 1 AND 3 THEN 'Job Conflict' ELSE 'Free PVP' END DECLARE @strDesc VARCHAR(512) IF (@JobString LIKE 'Trader' OR @JobString LIKE 'Robber' OR @JobString LIKE 'Hunter') BEGIN -- If it's a Job Kill, then write character nicknames DECLARE @KillerNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @KillerID) DECLARE @CharNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @CharID) SET @strDesc = '[' + @KillerNickName + '] has just killed [' + @CharNickName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END ELSE BEGIN -- If it's normal PVP Kill, write real character names SET @strDesc = '[' + @KillerName + '] has just killed [' + @CharName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END -- Update the log INSERT INTO _LogEventPVP VALUES (0, @KillerID, @CharID, @JobType, GETDATE(), @strPos, @strDesc) -- Flag notice if it's not sent more than 5 minutes UPDATE _LogEventPVP SET isSent = 1 WHERE CharID = @CharID AND EventTime < DATEADD(MINUTE, -5, GETDATE()) END END
IF (@EventID = 20) -- PVP 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 OR @Desc like '%no job, Neutral, %no job, Neutral%' -- Free PVP ) BEGIN -- Get killer name DECLARE @KillerName VARCHAR(512) = @Desc DECLARE @KillerID INT = 0 SELECT @KillerName = REPLACE(@KillerName, LEFT(@KillerName, CHARINDEX('(', @KillerName)), '') SELECT @KillerName = REPLACE(@KillerName, RIGHT(@KillerName, CHARINDEX(')', REVERSE(@KillerName))), '') SELECT @KillerID = CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @KillerName -- Get job type DECLARE @JobString VARCHAR(10) = LTRIM(RTRIM(SUBSTRING(@Desc, 5, 7))) DECLARE @JobType INT = CASE WHEN @JobString LIKE 'Trader' THEN 1 WHEN @JobString LIKE 'Robber' THEN 2 WHEN @JobString LIKE 'Hunter' THEN 3 ELSE 0 END -- Delete original log DELETE FROM _LogEventChar WHERE CharID = @CharID AND EventID = 20 AND (strDesc LIKE '%Trader, Neutral, no freebattle team%' OR strDesc LIKE '%Hunter, Neutral, no freebattle team%' OR strDesc LIKE '%Robber, Neutral, no freebattle team%' OR @Desc like '%no job, Neutral, %no job, Neutral%') -- Get additional info for notice message DECLARE @CharName VARCHAR(64) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @CharID) DECLARE @JobDesc VARCHAR(32) = CASE WHEN @JobType BETWEEN 1 AND 3 THEN 'Job Conflict' ELSE 'Free PVP' END DECLARE @strDesc VARCHAR(512) IF (@JobString LIKE 'Trader' OR @JobString LIKE 'Robber' OR @JobString LIKE 'Hunter') BEGIN -- If it's a Job Kill, then write character nicknames DECLARE @KillerNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @KillerID) DECLARE @CharNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @CharID) SET @strDesc = '[' + @KillerNickName + '] has just killed [' + @CharNickName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END ELSE BEGIN -- If it's normal PVP Kill, write real character names SET @strDesc = '[' + @KillerName + '] has just killed [' + @CharName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']' END -- Update the log INSERT INTO _LogEventPVP VALUES (0, @KillerID, @CharID, @JobType, GETDATE(), @strPos, @strDesc) -- Flag notice if it's not sent more than 5 minutes UPDATE _LogEventPVP SET isSent = 1 WHERE CharID = @CharID AND EventTime < DATEADD(MINUTE, -5, GETDATE()) END END
المشاركة الأصلية كتبت بواسطة Dangers SrO
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
لو اللي ادهالك مشتغلتش جرب دي
كود PHP:
IF (@EventID = 20) -- PVP
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
OR @Desc like '%no job, Neutral, %no job, Neutral%' -- Free PVP
)
BEGIN
-- Get killer name
DECLARE @KillerName VARCHAR(512) = @Desc
DECLARE @KillerID INT = 0
SELECT @KillerName = REPLACE(@KillerName, LEFT(@KillerName, CHARINDEX('(', @KillerName)), '')
SELECT @KillerName = REPLACE(@KillerName, RIGHT(@KillerName, CHARINDEX(')', REVERSE(@KillerName))), '')
SELECT @KillerID = CharID FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharName16 = @KillerName
-- Get job type
DECLARE @JobString VARCHAR(10) = LTRIM(RTRIM(SUBSTRING(@Desc, 5, 7)))
DECLARE @JobType INT = CASE
WHEN @JobString LIKE 'Trader' THEN 1
WHEN @JobString LIKE 'Robber' THEN 2
WHEN @JobString LIKE 'Hunter' THEN 3
ELSE 0 END
-- Delete original log
DELETE FROM _LogEventChar WHERE CharID = @CharID AND EventID = 20
AND (strDesc LIKE '%Trader, Neutral, no freebattle team%'
OR strDesc LIKE '%Hunter, Neutral, no freebattle team%'
OR strDesc LIKE '%Robber, Neutral, no freebattle team%'
OR @Desc like '%no job, Neutral, %no job, Neutral%')
-- Get additional info for notice message
DECLARE @CharName VARCHAR(64) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = @CharID)
DECLARE @JobDesc VARCHAR(32) = CASE WHEN @JobType BETWEEN 1 AND 3 THEN 'Job Conflict' ELSE 'Free PVP' END
DECLARE @strDesc VARCHAR(512)
IF (@JobString LIKE 'Trader' OR @JobString LIKE 'Robber' OR @JobString LIKE 'Hunter')
BEGIN
-- If it's a Job Kill, then write character nicknames
DECLARE @KillerNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @KillerID)
DECLARE @CharNickName VARCHAR(64) = (SELECT NickName16 FROM [SRO_VT_SHARD].[dbo].[_CharNickNameList] WHERE CharID = @CharID)
SET @strDesc = '[' + @KillerNickName + '] has just killed [' + @CharNickName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']'
END
ELSE BEGIN
-- If it's normal PVP Kill, write real character names
SET @strDesc = '[' + @KillerName + '] has just killed [' + @CharName + '] in [' + @JobDesc + '] mode on [' + CONVERT(NVARCHAR(30), GETDATE(), 0) + ']'
END
-- Update the log
INSERT INTO _LogEventPVP VALUES (0, @KillerID, @CharID, @JobType, GETDATE(), @strPos, @strDesc)
-- Flag notice if it's not sent more than 5 minutes
UPDATE _LogEventPVP SET isSent = 1 WHERE CharID = @CharID AND EventTime < DATEADD(MINUTE, -5, GETDATE())
END
END
متشكر جدا يا باشا بس انا شايف ان التلاته زى بعض الأختلاف بس فى المسافات وحروف كابتل وسمول بس هى الطريقه نفعت بس حابب اعرف برضو المشكله كانت فى ايه ؟
المشاركة الأصلية كتبت بواسطة Jayden
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
ايه الفرق يعنى انت واخدها منى كوبى
لا الله ينور يا كبيرنا تمام
ازاى بقا اخلى برنامج Notic writer يكتب فى الجيم من التابل ؟
ثانيا انت عملت ايه فى الكويرى تقريبا الا لاحظته السافات وكام حرف كدا صح ؟