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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄| (https://silkroad4arab.com/vb/showthread.php?t=579022)

Dev. iLegend 16-02-2015 02:28 PM

|►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
http://www2.0zz0.com/2012/10/22/15/311256858.gif

http://www2.0zz0.com/2012/10/22/16/593531309.png

http://im45.gulfup.com/wsCcCQ.png



Murder Auto Banned System




أولاً الموضوع كامل من مجهودي الخاص ومش منقول

السيستم دا عبارة عن اي حد يعمل PK على حد الداتا بيز اوتوماتيك تحس انه عمل PK على حد ..

اول مرة يعمل PK يتبعتله Warning Message تعرفه انه متراقب
وتحذره انه ميعملش PK تاني عشان يتجنب انه ياخد Block


لو عمل PK تاني ياخد Block 3 days

لو عمل PK تالت بعد ما Block 3 days يخلصوا ياخد Block 7 days
وهكذا .. لحد ما يبقا Block 4 ever


والكلام دا بيتسجل فى جدول تقدر انت تدخل تعرف منه مين عمل PK

مرة او مرتين ومين جاله رسالة تحذير ومين واخد Block

انا عامله عشان اللى عايز يسيب الـ PK system شغال عادي ويحطله Rules بالسيستم دا ..

عايز تقفل الـ PK خالص مش مشكلة دي حاجة ترجعلك ..

ندخل فى المفيد بقا ..

أرجوا مراعاة تغيير اسم اللوج داتا بيز باللي عندك انا عاملها

SRO_VT_SHARDLOG


هتعمل Execute للكيوري دي عشان تكريت جدول ..

كود PHP:

Use [SRO_VT_SHARDLOG]
Create Table _LogMurder
CharID    INT PRIMARY KEY NOT NULL,
  
MurderTimes            INT,
  
Warned                INT,
  
WarnedTime            datetime,
  
BlockTimes            INT,
  
LastBlockDateStart    datetime,
  
LastBlockDateEnd        datetime 



بعد كدا تروح على

SRO_VT_SHARD > Programmability > Stored Procedure > dbo._AddNewChar

دور ع الـ Line دا

كود PHP:

INSERT INTO _User VALUES (@UserJID, @NewCharID



وخليه كدا

كود PHP:

INSERT INTO _User VALUES (@UserJID, @NewCharID)
INSERT INTO [SRO_VT_SHARDLOG].[dbo].[_LogMurder] (CharID,MurderTimes,Warned,BlockTimesVALUES (@NewCharID,0,0,0



صورة للتوضيح

http://www7.0zz0.com/2015/02/16/13/322886119.jpg

وتعمل Execute بعد ما تغير زي الصورة

بعد كدا تروح على

SRO_VT_SHARDLOG > Programmability > Stored Procedure > dbo._AddLogChar

وتضيف دي تحت خالص

كود PHP:

IF @EventID 19 and 
      (@
Desc Like '%My: Robber, Murderer%'    -- Pk by Thief
    
Or @Desc Like '%My: Trader, Murderer%'    -- Pk by Trader
    
Or @Desc Like '%My: Hunter, Murderer%'    -- Pk by Hunter
    
Or @Desc Like '%My: no job, Murderer%')    -- Pk by Normal Status
     Begin
      Execute 
[dbo].[_MurdererAutoBanned] @CharID
     End 



وتعمل Execute بعد ما تضيفهم

بعد كدا تعمل Execute للـ Procedure دا عشان يتضاف

مع مراعاة تغيير اسماء الداتا بيز لو متغيرة عندك

كود PHP:

USE [SRO_VT_SHARDLOG
GO
/****** Object:  StoredProcedure [dbo].[_MurdererAutoBanned]    Script Date: 02/11/2015 23:02:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

---> Full System Coded by iLegend
---> Facebook https://www.facebook.com/designer.ramy.saied

CREATE PROCEDURE [dbo].[_MurdererAutoBanned
@
CharID        INT
 
AS

                                  -- 
Start Auto PK Punishment system --
     
    Declare @
CharName Varchar (128) = (Select CharName16 From [SRO_VT_SHARD].[dbo].[_CharWhere CharID = @CharID)
    Declare @
UserJID INT = (Select UserJID From [SRO_VT_SHARD].[dbo].[_UserWhere CharID = @CharID)
    Declare @
Now DateTime GETDATE()
    Declare @
EndTime DateTime
    
Declare @SystemStartTime DateTime '2015-02-10 00:00:00.000'
    
Declare @MurderTimes INT = (Select MurderTimes From [SRO_VT_SHARDLOG].[dbo].[_LogMurderWhere CharID = @CharID)
    Declare @
BlockTimes INT  = (Select BlockTimes From [SRO_VT_SHARDLOG].[dbo].[_LogMurderWhere CharID = @CharID)
    Declare @
LastWarning INT = (Select Warned From [SRO_VT_SHARDLOG].[dbo].[_LogMurderWhere CharID = @CharID)
    Declare @
WarningCharName Varchar (128) , @Message Varchar(max)
    
Set @WarningCharName 'Write Here Character Name to Send Warning Msg from it' -- Write here Warning char name.
    
Set @Message 'Hey you!
PK is not allowed at our server, who do it get a penalties :
1- First time of pk, just warning and remind for our rules.
2-  If u do it again, you will punished directly for 3 days, second time by  7 days, then 15 days, then 1 month, then 1 year, then for ever.'

    
-- Step 1 add +1 to murder times of character name in _LogMurder
    Update 
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet MurderTimes = @MurderTimes +1 Where CharID = @CharID

    
-- Step 2 Check murder times after first step and give punishment.
    Declare @
LastMurderTimes INT = (Select MurderTimes From [SRO_VT_SHARDLOG].[dbo].[_LogMurderWhere CharID = @CharID)

    -- Case 
: IF murder times 1
    
-- Warning the player by Send Msg.
   IF @
LastMurderTimes 1
    Begin
      Update 
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet Warned = (@LastWarning +1Where CharID = @CharID
      Execute 
[SRO_VT_SHARD].[dbo].[_Memo_Add] @CharName,@WarningCharName,@Message,20
    End

    
-- Case : IF murder times 2
    
-- Block 3 day
   
IF @LastMurderTimes 2
    Begin
      Set 
@EndTime DATEADD (D,3GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
    
-- Case : IF murder times 3
    
-- Block 7 days
   
IF @LastMurderTimes 3
    Begin
      Set 
@EndTime DATEADD (D,7GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
    
-- Case : IF murder times 4
    
-- Block 15 days
   
IF @LastMurderTimes 4
    Begin
      Set 
@EndTime DATEADD (D,15GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
    
-- Case : IF murder times 5
    
-- Block 1 Month
   
IF @LastMurderTimes 5
    Begin
      Set 
@EndTime DATEADD (M,1GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
    
-- Case : IF murder times 6
    
-- Block 1 Year
   
IF @LastMurderTimes 6
    Begin
      Set 
@EndTime DATEADD (Y,1GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
    
-- Case : IF murder times 7
    
-- Block 15 Years
   
IF @LastMurderTimes 7
    Begin
      Set 
@EndTime DATEADD (Y,15GETDATE())
       
Execute [SRO_VT_ACCOUNT].[dbo].[_RegisterPunishment]  @UserJID,1,'iLegend',64,@CharName,'Murderer',1,'Auto Punishment Murder  System','Auto Punishment Murder  System',@SystemStartTime,@Now,@EndTime,@Now
      Update  
[SRO_VT_SHARDLOG].[dbo].[_LogMurderSet BlockTimes = (@BlockTimes +1) ,  LastBlockDateStart = @Now LastBlockDateEnd = @EndTime  Where CharID =  @CharID
    End
    
                                   
-- End Auto PK Punishment system -- 




ملحوظة : السيستم دا عشان يشتغل لازم تكون مشغل الـ LOG

لو بتستخدم SR_GameServer Evangelion

ادخل عدل الكلام دا

cfg > misc.ini > disableLog = 0

ملحوظة أخيرة : كل اللى فات دا هيشتغل على اي كراكتر جديدة لو كراكتر قديمة قبل متعمل الجدول

لازم تروح تجيب كل الكراكترس اللي عندك فى dbo._Char كوبي للتيبل امشي زي الصور دي

http://www13.0zz0.com/2015/02/17/02/906776896.jpg

http://www13.0zz0.com/2015/02/17/02/966765315.jpg

http://www13.0zz0.com/2015/02/17/02/502719612.jpg

بعد متخلص وتعمل زي مانا شارح فى الصور

اعمل Execute للـكيوري دي

كود PHP:

Update [SRO_VT_SHARDLOG].[dbo].[_LogMurderSet MurderTimes Warned BlockTimes 




وبكدا اكون خلصت الشرح ومبروك عليك السيستم

تقدر تدخل تجربه بأي كراكتر وتعمله تيست ..

لو قابلك اي خطاً فى السيستم مش فى الاضافة ممكن تعملي ريبورت عشان اصلحه ..

# iLegend #

Mr Z!dane 16-02-2015 03:13 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
#Approved

Hamza FiGo 16-02-2015 03:24 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
شغل عالي الصراحة . تسلم ايدك
:thumbsup:

Dev. iLegend 16-02-2015 03:47 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr Z!dane (المشاركة 5161918)
#Approved

تسلم يا زيزو

اقتباس:

المشاركة الأصلية كتبت بواسطة hamzafigo (المشاركة 5161924)
شغل عالي الصراحة . تسلم ايدك
:thumbsup:

شكرا على مرورك يا حمزة باشا دي شهادة اعتز بيها

™Dev Microsoft™ 16-02-2015 06:18 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
تماااااام :)

pop2009 16-02-2015 10:57 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
عالمي

™MaR™ 17-02-2015 12:42 AM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
تسلم ايدك بجد بجد شغل عالي
استمرررررررررر:111 (27):

Dev. iLegend 17-02-2015 03:07 AM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ™Dev Microsoft™ (المشاركة 5162035)
تماااااام :)

اقتباس:

المشاركة الأصلية كتبت بواسطة pop2009 (المشاركة 5162196)
عالمي

اقتباس:

المشاركة الأصلية كتبت بواسطة BeAlone (المشاركة 5162253)
تسلم ايدك بجد بجد شغل عالي
استمرررررررررر:111 (27):


شكرا يا جماعة وإنشاء الله يكون في مزيد من المواضيع الجديدة فى القسم

ملحوظة : تم إضافة بعض الصور + كيوري للموضوع عشان تشغل
السيستم على اي كراكتر قديمة كانت موجودة قبل متضيف السيستم



Jaffa 17-02-2015 10:49 AM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
والله بص انا مش عارف اقولك ايه والله سيلك رود 4 عرب محتاح للى زيك والله شغل عالى و جديد

Jaffa 17-02-2015 12:16 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
شغل عالى بس مش شغال للاسف لانى انا جربتوا و عملت mulder فتحت اكونتين عملت mulder مش شغال ولا DC ولا حته كيس قلبظ :D للاسف

ruxana 17-02-2015 12:21 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
وانا زي العضو Jaffa مافيش رساله وال Murder شغال عادي و سمحت راجع الموضوع تاني

Dev. iLegend 17-02-2015 01:41 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
بص يا باشا اولاً انا مقولتش بيدي DC لحد ..

انا قولت بيدي باند مش اكتر .. وبيبعت رسالة بس لازم تكتب اسم

الكراكتر اللي يبعت منها الرسالة ..

انا بحاول اعدل بحيث انه يدي باند و DC وشغال والله مش ساكت


Dev. iLegend 17-02-2015 02:08 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
انا ممكن اعمل بفاية مش موجودة فى الكلينت .. واديهاله فى dbo._TimedJob بكدا هياخد كراش ..

وهيجي يفتح يلاقي نفسه باند .. بس محتاج اني بعد مدهاله اعمله تيليبورت اوتوماتيك ..

لو حد عنده خلفية يفيدني ..

ruxana 17-02-2015 04:05 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
حاول مع المشرفين و انشاء الله تتحل و شكرا علي المساعده

™MaR™ 17-02-2015 09:23 PM

رد: |►(●̮●)♔ Release : Auto Murder Punishment System ♔(●̮●)◄|
 
ارجو من صاحب موضوع الاهتمام لان السيستيم مش شغال


الساعة الآن 08:43 AM.

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