الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   مشكلة فى _AddLogChar (https://silkroad4arab.com/vb/showthread.php?t=595527)

cairoke 10-12-2015 03:34 AM

مشكلة فى _AddLogChar
 
انا دلوقتى بحاول اعمل سيستم Kill's Notice System


دى صوره من المشكله


http://up.dev-point.com/uploads1/fdeb8607743d1.jpg


:111 (17): :111 (17): :111 (17): :111 (17):

Jayden 10-12-2015 03:46 AM

رد: مشكلة فى _AddLogChar
 
اى حاجة محطوط قبلها @ دى اسمها Declare وانت لازم بتحددلها قيمتها فى اول ال Query
فغالبا ال Query بتاعتك ناقصة اصلا

cairoke 10-12-2015 04:09 AM

رد: مشكلة فى _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].[_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 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 10-12-2015 05:26 AM

رد: مشكلة فى _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 


Dangers SrO 10-12-2015 11:25 AM

رد: مشكلة فى _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 10-12-2015 02:21 PM

رد: مشكلة فى _AddLogChar
 
ايه الفرق يعنى انت واخدها منى كوبى :icon9:

cairoke 10-12-2015 03:52 PM

رد: مشكلة فى _AddLogChar
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dangers SrO (المشاركة 5239493)
لو اللي ادهالك مشتغلتش جرب دي
كود 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 



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

cairoke 10-12-2015 04:08 PM

رد: مشكلة فى _AddLogChar
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5239545)
ايه الفرق يعنى انت واخدها منى كوبى :icon9:

لا الله ينور يا كبيرنا تمام
ازاى بقا اخلى برنامج Notic writer يكتب فى الجيم من التابل ؟
ثانيا انت عملت ايه فى الكويرى تقريبا الا لاحظته السافات وكام حرف كدا صح ؟

Dangers SrO 10-12-2015 04:14 PM

رد: مشكلة فى _AddLogChar
 
يغلاق لانتهاء الغرض منه
# #


الساعة الآن 12:48 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.