10-12-2015, 05:26 AM
|
#4
|
|
• الانـتـسـاب » Jun 2008
|
• رقـم العـضـويـة » 24328
|
• المشـــاركـات » 1,564
|
• الـدولـة » طنـــطاوي
|
• الـهـوايـة » Private server developing and designing [ 2D -3D - Pk2 ]
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 55
|
|
|
رد: مشكلة فى _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
|
|
|