الموضوع: مشكلة فى _AddLogChar
عرض مشاركة واحدة
قديم 10-12-2015, 03:52 PM   #7

cairoke
عضو نشيك





• الانـتـسـاب » Aug 2015
• رقـم العـضـويـة » 124945
• المشـــاركـات » 55
• الـدولـة » مصر
• الـهـوايـة »
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 10
cairoke صـاعـد

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


إرسال رسالة عبر Yahoo إلى cairoke

افتراضي رد: مشكلة فى _AddLogChar



اقتباس:
المشاركة الأصلية كتبت بواسطة 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(@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 

متشكر جدا يا باشا بس انا شايف ان التلاته زى بعض الأختلاف بس فى المسافات وحروف كابتل وسمول بس هى الطريقه نفعت بس حابب اعرف برضو المشكله كانت فى ايه ؟