الموضوع: مشكلة فى _AddLogChar
عرض مشاركة واحدة
قديم 10-12-2015, 05:26 AM   #4

Jayden
عضو متألق



الصورة الرمزية Jayden


• الانـتـسـاب » Jun 2008
• رقـم العـضـويـة » 24328
• المشـــاركـات » 1,564
• الـدولـة » طنـــطاوي
• الـهـوايـة » Private server developing and designing [ 2D -3D - Pk2 ]
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 55
Jayden جـيـد

Jayden غير متواجد حالياً



افتراضي رد: مشكلة فى _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(@KillerNameLEFT(@KillerNameCHARINDEX('(', @KillerName)), '')
SELECT @KillerName REPLACE(@KillerNameRIGHT(@KillerNameCHARINDEX(')'REVERSE(@KillerName))), '')
SELECT @KillerID CharID FROM [SRO_VT_SHARD].[dbo].[_CharWHERE CharName16 = @KillerName
-- Get job type
DECLARE @JobString VARCHAR(10) = LTRIM(RTRIM(SUBSTRING(@Desc57)))
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].[_CharWHERE 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 Killwrite 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, @JobTypeGETDATE(), @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 :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
Jaydenvich