عرض مشاركة واحدة
قديم 28-02-2017, 08:52 PM   #5

Mahmoud Rashwan
عضو فضى



الصورة الرمزية Mahmoud Rashwan


• الانـتـسـاب » Oct 2008
• رقـم العـضـويـة » 37620
• المشـــاركـات » 3,136
• الـدولـة » فوق السطوح
• الـهـوايـة » التخريب
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 55
Mahmoud Rashwan جـيـد

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


إرسال رسالة عبر AIM إلى Mahmoud Rashwan

افتراضي رد: مشكله في wanted system



جرب كدا الـ producer دول
SRO_VT_SHARD
كود PHP:
USE [SRO_VT_SHARDLOG]
GO


/****** Object:  StoredProcedure [dbo].[_Wanted]    Script Date: 9/12/2014 6:25:37 PM ******/
SET ANSI_NULLS ON
GO


SET QUOTED_IDENTIFIER ON
GO






CREATE  procedure 
[dbo].[_Wanted]  @CharID        int, @eventID        tinyint, @desc        varchar(128)
as 


Declare @
Kc int
Declare @CharName VARCHAR(52) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID)     
DECLARE @
K_Name VARCHAR(512) = @desc
        SELECT 
@K_Name REPLACE(@K_NameLEFT(@K_NameCHARINDEX('(', @K_Name)), '')
        
SELECT @K_Name REPLACE(@K_NameRIGHT(@K_NameCHARINDEX(')'REVERSE(@K_Name))), '')
  ----- 
Killed CharID
        
DECLARE @K_CharID INT =(SELECT  CharID FROM [SRO_VT_SHARD].[dbo].[_CharWHERE CharName16 = @K_Name
  ------
 -- 
Check if he kills the char more than 3 times  
 
DECLARE @PKill int = (select COUNT(*) from _RowKills where KillerID = @CharID and KilledID = @K_CharID)     
 DECLARE @
MaxK int = (select COUNT(Killsfrom _RowKills where KillerID = @CharID and Kills '1')  
 IF ( @
PKill <= '9' and @MaxK <= '50' 
    
BEGIN
INSERT INTO _RowKills 
(KillerID KilledID KillsVALUES  @CharID , @K_CharID,'1')
            
END    
 
----- End inserting           
            
              


 SET 
@Kc = (SELECT COUNT(KillsFROM _RowKills WHERE KillerID = @CharID and Kills '1' )--and Recived 'OFF')   
 --- if 
he kills 10 in row give him the buff      -- give Wanted level 1  
 
IF @Kc '10' AND NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34247')
          
BEGIN
  INSERT INTO SRO_VT_SHARD
.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID 
  ---- 
Values
  VALUES  
@CharID 34243 3600 72339069015696862 )  
  
INSERT INTO SRO_VT_SHARDLOG.dbo.PlusNotice VALUES ('0', @CharName+' : is Wanted "Hero Mode - 10Kills in row [Wanted Lv1]"',GETDATE())
        
END  
             
  
--- if he kills 20 in row give him the buff      -- give Wanted level 2  
 
IF @Kc '20'  AND NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where  CharID = @CharID and JobID between '34244' and '34247')
 
BEGIN 
 INSERT INTO SRO_VT_SHARDLOG
.dbo.PlusNotice VALUES ('0', @CharName+' : is Wanted "Hero Mode - 20Kills in row [Wanted Lv2]"',GETDATE())
 IF 
EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID '34243')
 
BEGIN
 DELETE FROM SRO_VT_SHARD
.dbo._TimedJob where CharID = @CharID  and JobID '34243'    
 
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID VALUES  @CharID 34244 3600 72339069015696862 )  
 
END
 
ElSE IF NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID '34243')
 
BEGIN
 INSERT INTO SRO_VT_SHARD
.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID )  VALUES  @CharID 34244 3600 72339069015696862 
           
END
              END 
   
--- if he kills 30 in row give him the buff      -- give Wanted level 3  
 
IF @Kc '30' AND NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where  CharID = @CharID and JobID between '34245' and '34247')
 
BEGIN 
 INSERT INTO SRO_VT_SHARDLOG
.dbo.PlusNotice VALUES ('0', @CharName+' : is Wanted "Hero Mode - 30Kills in row [Wanted Lv3]"',GETDATE())
 IF 
EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between'34243' and '34244')
 
BEGIN
 DELETE FROM SRO_VT_SHARD
.dbo._TimedJob where CharID = @CharID  and JobID between'34243' and '34244'   
 
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID VALUES  @CharID 34245 3600 72339069015696862 )  
 
END
 
ElSE IF NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between'34243' and '34244')
 
BEGIN
 INSERT INTO SRO_VT_SHARD
.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID )  VALUES  @CharID 34245 3600 72339069015696862 
           
END
              END   
  
--- if he kills 40 in row give him the buff      -- give Wanted level 4  
 
IF @Kc '40' AND NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where  CharID = @CharID and JobID between '34246' and '34247')
 
BEGIN 
 INSERT INTO SRO_VT_SHARDLOG
.dbo.PlusNotice VALUES ('0', @CharName+' : is Wanted "Hero Mode - 40Kills in row [Wanted Lv4]"',GETDATE())
 IF 
EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34245')
 
BEGIN
 DELETE FROM SRO_VT_SHARD
.dbo._TimedJob where CharID = @CharID  and JobID between '34243' and '34245'   
 
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID VALUES  @CharID 34246 3600 72339069015696862 )  
 
END
 
ElSE IF NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34245')
 
BEGIN
 INSERT INTO SRO_VT_SHARD
.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID )  VALUES  @CharID 34246 3600 72339069015696862 
           
END
              END     
 
--- if he kills 50 in row give him the buff      -- give Wanted level 5  
 
IF @Kc '50' AND NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where  CharID = @CharID and JobID '34247')
 
BEGIN 
 INSERT INTO SRO_VT_SHARDLOG
.dbo.PlusNotice VALUES ('0', @CharName+' : is Wanted "Hero Mode - 50Kills in row [Wanted Lv5]"',GETDATE())
 
DELETE FROM _RowKills WHERE KillerID = @CharID 
 
IF EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34246')
 
BEGIN
 DELETE FROM SRO_VT_SHARD
.dbo._TimedJob where CharID = @CharID  and JobID between '34243' and '34246'
 
INSERT INTO SRO_VT_SHARD.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID VALUES  @CharID 34247 3600 72339069015696862 )  
 
END
 
ElSE IF NOT EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob where CharID = @CharID and JobID between '34243' and '34246')
 
BEGIN
 INSERT INTO SRO_VT_SHARD
.dbo._TimedJob (CharID ,Category JobID TimeToKeep Data1 Data2 Data3 Data4 Data5 Data6Data7 Data8 Serial64 JID )  VALUES  @CharID 34247 3600 72339069015696862 
           
END
              END 
Create Table
كود PHP:
USE [SHARDLOG]
GO


/****** Object:  Table [dbo].[_RowKills]    Script Date: 09/13/2014 11:35:20 ******/
SET ANSI_NULLS ON
GO


SET QUOTED_IDENTIFIER ON
GO


SET ANSI_PADDING ON
GO


CREATE TABLE 
[dbo].[_RowKills](
    [
ID] [intIDENTITY(1,1NOT NULL,
    [
KillerID] [intNULL,
    [
KilledID] [varchar](50NULL,
    [
Kills] [intNULL,
 
CONSTRAINT [PK__RowKillsPRIMARY KEY CLUSTERED 
(
    [
IDASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONON [PRIMARY]
ON [PRIMARY]


GO


SET ANSI_PADDING OFF
GO 
AddLogChar -> (SRO_VT_LOG -> Programmability -> Stored Procedures -> Right click on _AddLogChar and press on 'Modify')
كود PHP:
--- Wanted System        
if @eventID '19'   -- Count kills
      BEGIN
 
if (@strPos like '%(0x679a)%')
      
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
        
BEGIN
        
        
DECLARE @killedName VARCHAR(512) = @desc
        
DECLARE @ReqLevel INT 0
        SELECT 
@killedName REPLACE @killedNameLEFT @killedNameCHARINDEX('(', @killedName)), '')
        
SELECT @killedName REPLACE @killedNameRIGHT @killedNameCHARINDEX(')'REVERSE @killedName))), '')
        
SELECT @ReqLevel CurLevel FROM [SRO_VT_SHARD].[dbo].[_CharWHERE CharName16 = @killedName
        
if @ReqLevel >= 90
        BEGIN
      Exec 
[_Wanted] @CharID , @eventID , @desc
           End
             END
               END
                 END
if @eventID '20' -- if dies
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
        
BEGIN
    UPDATE _RowKills SET Kills 
'0' WHERE KillerID = @CharID
    
IF EXISTS (SELECT FROM SRO_VT_SHARD.dbo._TimedJob WHERE CharID = @CharID AND JobID '33862' or CharID = @CharID and JobID between '50021' and '50024')
      
BEGIN
       DELETE FROM SRO_VT_SHARD
.dbo._TimedJob WHERE CharID = @CharID and JobID '33862' or CharID = @CharID and JobID between '50021' and '50024' 
           
END
              END
                 END
 
--------- End of wanted system