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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   PVP Recorder Table (https://silkroad4arab.com/vb/showthread.php?t=619404)

HB# 25-09-2017 03:30 PM

PVP Recorder Table
 
https://upload.wikimedia.org/wikiped...9%8A%D9%85.png

هو مش موضوع كبير بس ممكن يساعد ناس كتير ويسهل عليهم انهم يعملوا pvp rank في السايت بتاعهم فا حبيت اعملهم ال table دي ... الموضوع كله عباره عن table بتسجل ال pvp ال بيحصل .. table بيبقا فيها اسم الكاركتر وال ID بتاعه وعدد ال kills وعدد ال deaths في ال pvp ... نخش في الموضوع :

اولا : هنعمل ال table ال هتلاقي فيها اللوج بتاع الpvp :

كود:

USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_CharactersKillsRecord]    Script Date: 9/25/2017 2:21:52 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_CharactersKillsRecord](
        [CharName] [varchar](max) NOT NULL,
        [CharID] [int] NOT NULL,
        [Kills] [int] NOT NULL,
        [Deaths] [int] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

بعد كده هنخش في البروسيدور في المسار ده : SRO_VT_SHARDLOG >>> Programmability >> Stored Procedures >> _AddLogChar وتضيف الكلام دا :

كود:

--Characters kills table recorder , all credits goes to #HB
        declare @LoserCharName varchar(max)
        declare @WinnerCharName varchar(max)
        declare @WinnerCharID varchar(max)
        declare @TableCheckKiller varchar(max)
                declare @TableCheckKilled varchar(max)
        set @LoserCharName = (select CharName16 from [SRO_VT_SHARD].dbo._Char where CharID = @CharID)
       
        IF (@EventID = 20)
        begin
        Select  @Desc = REPLACE(@Desc, LEFT(@Desc, CHARINDEX('(', @Desc)),'')
        Select  @Desc = REPLACE(@Desc, RIGHT(@Desc, CHARINDEX(')', REVERSE(@Desc))),'')
        set @WinnerCharName = @Desc
        set @WinnerCharID = (select CharID from [SRO_VT_SHARD].dbo._Char where CharName16 = @WinnerCharName)
        set @TableCheckKiller = (Select CharName from _CharactersKillsRecord where CharID = @WinnerCharID)
        set @TableCheckKilled = (select CharName from _CharactersKillsRecord where CharID = @CharID)
                IF (@TableCheckKiller is NULL) and (@TableCheckKilled is NULL)
                begin
                                INSERT INTO _CharactersKillsRecord (CharName,CharID,Kills,Deaths) values (@WinnerCharName,@WinnerCharID,'1','0')
        INSERT INTO _CharactersKillsRecord (CharName,CharID,Kills,Deaths) values (@LoserCharName,@CharID,'0','1')
        end
        delete from _LogEventChar where CharID = @CharID
        end

                IF (@EventID = 20)
        begin
        Select  @Desc = REPLACE(@Desc, LEFT(@Desc, CHARINDEX('(', @Desc)),'')
        Select  @Desc = REPLACE(@Desc, RIGHT(@Desc, CHARINDEX(')', REVERSE(@Desc))),'')
        set @WinnerCharName = @Desc
        set @WinnerCharID = (select CharID from [SRO_VT_SHARD].dbo._Char where CharName16 = @WinnerCharName)
        set @TableCheckKiller = (Select CharName from _CharactersKillsRecord where CharID = @WinnerCharID)
        set @TableCheckKilled = (select CharName from _CharactersKillsRecord where CharID = @CharID)
                IF (@TableCheckKiller is not null) and (@TableCheckKilled is not NULL)
                begin
                                UPDATE _CharactersKillsRecord set Kills = Kills + '1' where CharName = @WinnerCharName
        UPDATE _CharactersKillsRecord set Deaths = Deaths + '1' where CharName = @LoserCharName
        end
        delete from _LogEventChar where CharID = @CharID
        end

                        IF (@EventID = 20)
        begin
        Select  @Desc = REPLACE(@Desc, LEFT(@Desc, CHARINDEX('(', @Desc)),'')
        Select  @Desc = REPLACE(@Desc, RIGHT(@Desc, CHARINDEX(')', REVERSE(@Desc))),'')
        set @WinnerCharName = @Desc
        set @WinnerCharID = (select CharID from [SRO_VT_SHARD].dbo._Char where CharName16 = @WinnerCharName)
        set @TableCheckKiller = (Select CharName from _CharactersKillsRecord where CharID = @WinnerCharID)
        set @TableCheckKilled = (select CharName from _CharactersKillsRecord where CharID = @CharID)
                IF (@TableCheckKiller is null) and (@TableCheckKilled is not NULL)
                begin
                                INSERT INTO _CharactersKillsRecord (CharName,CharID,Kills,Deaths) values (@WinnerCharName,@WinnerCharID,'1','0')
        UPDATE _CharactersKillsRecord set Deaths = Deaths + '1' where CharName = @LoserCharName
        end
        delete from _LogEventChar where CharID = @CharID
        end

                                IF (@EventID = 20)
        begin
        Select  @Desc = REPLACE(@Desc, LEFT(@Desc, CHARINDEX('(', @Desc)),'')
        Select  @Desc = REPLACE(@Desc, RIGHT(@Desc, CHARINDEX(')', REVERSE(@Desc))),'')
        set @WinnerCharName = @Desc
        set @WinnerCharID = (select CharID from [SRO_VT_SHARD].dbo._Char where CharName16 = @WinnerCharName)
        set @TableCheckKiller = (Select CharName from _CharactersKillsRecord where CharID = @WinnerCharID)
        set @TableCheckKilled = (select CharName from _CharactersKillsRecord where CharID = @CharID)
                IF (@TableCheckKiller is not null) and (@TableCheckKilled is NULL)
                begin
                                UPDATE _CharactersKillsRecord set Kills = Kills + '1' where CharName = @WinnerCharName
        INSERT INTO _CharactersKillsRecord (CharName,CharID,Kills,Deaths) values (@LoserCharName,@CharID,'0','1')
        end
        delete from _LogEventChar where CharID = @CharID
        end
        --Character kills table recorder (finish) , all credits goes to #HB

بس كده وهتلاقي كل الpvp في الtable دي في الSRO_VT_SHARDLOG ولو عاوز تعمل reset للtable اعمل الكويري دي :

كود:

USE [SRO_VT_SHARDLOG]
UPDATE _CharactersKillsRecord Set Kills = '0' , Deaths = '0'
DELETE from _LogEventChar where EventID = '20'

لل Anti-Cheat اعمل الكويري دي قبل ما تعمل السيستم :

كود:

USE [SRO_VT_SHARDLOG]
DELETE from _LogEventChar where EventID = '20'

ان شاء الله تساعدكم :loveletter: :hands:

Hamza FiGo 26-09-2017 07:45 PM

رد: PVP Recorder Table
 
تسلم ايدك

HB# 26-09-2017 11:09 PM

رد: PVP Recorder Table
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5329175)
تسلم ايدك

:inlove:

Destructions 27-09-2017 09:35 PM

رد: PVP Recorder Table
 
تسلم ايدك بس يريت لو حطيط PHP او صفحة كاملة للرانك علي السايت

HB# 27-09-2017 10:22 PM

رد: PVP Recorder Table
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Destructions (المشاركة 5329229)
تسلم ايدك بس يريت لو حطيط PHP او صفحة كاملة للرانك علي السايت

هوا انا معملتش صفحه للرانك بس انا عامل الtable عشان تساعد الناس تعمل صفحه لرانك الpvp عشان انا مش بفهم اوي في السايت وكدا :kiss2:

™ EgY_KhaN ™ 28-09-2017 11:29 PM

رد: PVP Recorder Table
 
جميله جدا والله تسلم ايدك

Neoon 29-09-2017 12:02 AM

رد: PVP Recorder Table
 
تسلم,


بس " ان شاء " وليس " انشاء "

HB# 29-09-2017 04:29 PM

رد: PVP Recorder Table
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ™ EgY_KhaN ™ (المشاركة 5329283)
جميله جدا والله تسلم ايدك

تسلم يا كبير :play_ball:

اقتباس:

المشاركة الأصلية كتبت بواسطة Iron.Man (المشاركة 5329284)
تسلم,

بس " ان شاء " وليس " انشاء "

:inlove:

GM_Jo 06-10-2017 01:45 PM

رد: PVP Recorder Table
 
جميله جدا شغل عالى تسلم ايدك

الله ينور عليك

HB# 06-10-2017 02:19 PM

رد: PVP Recorder Table
 
اقتباس:

المشاركة الأصلية كتبت بواسطة GM_Jo (المشاركة 5330257)
جميله جدا شغل عالى تسلم ايدك

الله ينور عليك

حبيبي ... دا من ذوقك :xmas:

Helper4You 13-10-2017 11:25 AM

رد: PVP Recorder Table
 
تسلم ايدك

HB# 13-10-2017 02:56 PM

رد: PVP Recorder Table
 
نورت :grin:

Scrox 17-10-2017 07:45 PM

رد: PVP Recorder Table
 
good work :icecream:

HB# 18-10-2017 12:51 AM

رد: PVP Recorder Table
 
تسلم :icon2:

H I T L E R 24-10-2017 10:54 AM

رد: PVP Recorder Table
 
وربناا تسلم


الساعة الآن 06:58 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.