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

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

elbattawy1st 10-03-2016 02:54 AM

Unique Killer system Full
 
السلام عليكم و رحمة الله وبركاتة



النظام دا عباره عن انك لما تموت مثلا 2 يونك Tiger Girl هتاخد تيتل نيم و هدية انت طبعا الا بتحدد نوع tittle و الهدية
و كمان النطام دا مش هيبوظ rank الموجود على website لو انت عامل علشان هوا شغال ب log بتاع برنامج Vsro Multi Tools يعنى بعيد عن اى log بتاع اى جيم سيرفر
وبرضو النظام دا بيشيل tittle من بلاير القديم و يديها لليلاير الجديد كا نوع تحفيظ فى السيرفر
و برضو النظام دا بيعمل notice فى السيرفر لما player يقتل 2 يونكات Tiger Girl مثلا
بينكتب فى السيرفر انو بقى Hero و طبعا انت تقدر تغير notice دى برضو


اول حاجة لازم تكون مشغل البرنامج Vsro Multi Tools علشان يعمل log لشخصيات الابتقتل اليونكات فى تابل جديد لازم تتاكد انك مشغل البرنامج صح علشان كل حاجة تبقى تمام
حاليا notice شغالة تمام مع برنامج Vsro Multi Tools يعنى مش هاتحتاج تشغل برنامج autoplus notice
علشان يشغل notice فى السيرفر


اعمل اول حاجة Tables دا





procedures








الكلام دا فى AddLogchar



كود PHP:

iF (@EventID OR @EventID 11)
BEGIN
    EXEC 
[SRO_VT_SHARDLOG].[dbo].[_Unique_System] @CharID
    END 


الكلام دا فى Memo_Add الموجود فى procedure بتاع SRO_VT_SHARD


كود PHP:

        If  (@TargetCharName like 'TesT' and @message 'Back My Title'
 
begin
 
DECLARE @OLDHWAN int = (Select OldHwan From [SRO_VT_SHARDLOG].[dbo].[_OldTitleswhere CharName = @SenderCharName)
 
UPDATE [SRO_VT_SHARD].[dbo].[_CharSet HwanLevel = @OLDHWAN where CharName16=@SenderCharName
 Insert Into 
[SRO_VT_SHARDLOG].[dbo].[iLegend_Tool] (Service,Type,Target,Message,DateValues (1,'Private',@SenderCharName,'Plz Teleport To Get ur Old Title',Getdate())  
end 


شرح بسيط كده علشان تعرف تغير و تعمل الا انت عاوزه


التغير كله هيكون فى تابل Unique_System يعنى مالكش دعوه ب اى حاجة تانية غير تابل دا
ودى صورة من تابل


اول حاجة انا عامل فى procedure اخرك 10 يونكات تعمل عليهم النطام
1- نروح على دا Unique_Num وتعمل عندو رقم 1 دا مثلا ل tiger اعمل كمان سطر و اعمل فى Unique_Num رقم 2 بس افتكر انك اخرك 10 يونكات بس يعنى هتعمل فى Unique_Num من 1 ل 10
لو انت شغلت كل 10 يونكات زى الا فى الصورة كده هتلاقينى عامل 10 سطور علشان انا عامل النظام يشتغل على
10 يونكات
2- UniqueCode دا طبعا الكود بتاع اليونك
3- CountKills عدد مرات الا فيها البلاير هيقتل اليونك علشان ياخد reward
4- Hwantitle دا reward بتاع title مثلا زى رقم 5 او 1 اى حاجة الا انت عاوزه
5- Reward1 هنا كود بتاع reward على انا عامل فى النظام دا ليك تضيف 3 Reward لكل بلاير هيكسب
6- Num1 هنا عدد reward يعنى لو انت عامل فى Reward 1 كود الارينا هتكتب فى Num1 مثلا 50
يعنى دا العدد الا هياخد
7- Plus1 دا البلاص بتاع الايتم علشان لو حبيت تضيف ايتم مثلا و عاوزه يكون ببلاص
8- Reward2 دى الهدية الثانية لو مش عاوز انك تديلو هدية كمان تعمل مكان Reward2 رقم 0
9- Num2 هنا نفس كلام بتاع Num1 بس طبعا لو انت عامل فى Reward2 0 لازم يكون فى Num2 رقم 0 كمان
10- Plus2 ودا نفس نظام Plus1 ولو انت عامل Reward2 0 لازم يكون فى Plus2 رقم 0 كمان
11- Reward3 و Num3 و Plus3 نفس الشرح الافوق فى Reward2 و Num2 و Plus2
12- RewardSilkOwn دا علشان لوحبيت تديلو Silk Donate لو مش عاوز اعمل رقم 0 و مش هياخد حاجة
13- RewardSilkGift دا علشان لو حبيت تديلو Silk Gift لو مش اعمل رقم 0 و مش هياخد حاجة
14- Notice هنا هتكتب اسم اليونك و عدد مرات الااتقتل فيها
يعنى مثلا لو هو يونك roc
هتكتب كدا Roc 5 Times ورقم 5 دا عدد الا مرات الا اتقتل فيها الا انت عاملتو فى CountKills


نيجى بقى لجزء بتاع Memo_Add
دا عباره عن لو حد من player حب يعمل اتاك على يونك علشان ينكتب اسمو فى السيرفر و ياخد reward
بس مش عاوز ياخد title
هيعمل اية هيبعت رساله لاسم الكاركتر الا الموجود فى الكود بتاع Memo_Add انا عامل اسم كاركتر TesT
انت غيرو ل اى اسم كاركتر انت عاوزه
البلاير هيبعت لكاركتر TesT
Back my title
بعد كده البلاير يعمل Teleport هيلاقى title بتاعو رجعلو


ملحوظه اخيرة طبعا البلاير لازم يعمل teleport علشان title بتاعو يتغير و يجيلو Reward فى inventory

بالنسبة لموضوع لما بلاير الجديد ياخد من بلاير القديم title حاليا بلاير القديم مش هياخد اى تيتل بدالو و خلاص
دا هياخد title بتاعو القديم الا كان معاه قبل ما ياخد title Hero

بعد ماتخلص تظبيط System اقفل SQL و افتحو تانى قبل ماتجرب system

Vedio


[YOUTUBE]9WCsW75Q9es[/YOUTUBE]

Log :

- تم اضافه 10 يونكات ل system
- تم اصلاح مشاكل oldtitles حاليا شغاله تمام
- تم اضافه 3 Reward لناس الا عاوزه تدى اكتر من Reward
- تم اضافه Reward Silk Donate
- تم اضافه Reward Silk Gift
- تم عمل نظام Back title to char if he want

وانشاء الله لو فى حاجة جديد فى system عاملتها هاضيفها على طول

Hamza FiGo 10-03-2016 01:11 PM

رد: Unique Killer system Full
 
شكرا علي الشرح الوافي

elbattawy1st 10-03-2016 01:35 PM

رد: Unique Killer system Full
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5258036)
شكرا علي الشرح الوافي

شكراا على الموافقه
:lulu15::lulu15:

Mazika Yasser 10-03-2016 01:36 PM

رد: Unique Killer system Full
 
أنتا معلم وأحنا منك نتعلم :thumb_yello:

Black Shield 10-03-2016 01:41 PM

رد: Unique Killer system Full
 
جميل جدا بس فيه حاجه ناقصة عشان يبقى System كامل

أفرض دلوقتي الـPlayer كان واخد Title قبل ما يقتل الـUnique و بعد كده الخد Title الـUnique المفروض لو حد اخد منه Title الـUnique يرجع لو الـTitle القديم

فأعتقد هتحتاج تضيف حاجات للبروسيدور و Table

1- Table يتسجل فيه الـChar + Old HwanLevel

2- يتضاف جزء في البروسيدور عشان يسجل الداتا ديه في ال Table

3- يتضاف جزء تاني بدل HwanLevel = 0 يعمل Check على الـTable و يشوف الـOld HwanLevel
ويرجعه ليه

لو كنت فاضي ولله كنت عملتهولك بس اعتقد بما انك قدرت تعمل الـSystem ده هاتقدر تعمل الي انا بقول لك عليه

omar.hapshy 10-03-2016 01:41 PM

رد: Unique Killer system Full
 
جاري العمل ع النظام :afro1:

elbattawy1st 10-03-2016 02:02 PM

رد: Unique Killer system Full
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Black Shield (المشاركة 5258042)
جميل جدا بس فيه حاجه ناقصة عشان يبقى System كامل

أفرض دلوقتي الـPlayer كان واخد Title قبل ما يقتل الـUnique و بعد كده الخد Title الـUnique المفروض لو حد اخد منه Title الـUnique يرجع لو الـTitle القديم

فأعتقد هتحتاج تضيف حاجات للبروسيدور و Table

1- Table يتسجل فيه الـChar + Old HwanLevel

2- يتضاف جزء في البروسيدور عشان يسجل الداتا ديه في ال Table

3- يتضاف جزء تاني بدل HwanLevel = 0 يعمل Check على الـTable و يشوف الـOld HwanLevel
ويرجعه ليه

لو كنت فاضي ولله كنت عملتهولك بس اعتقد بما انك قدرت تعمل الـSystem ده هاتقدر تعمل الي انا بقول لك عليه

كلامك مظبوط انا فاكرت فيها بعد ماعملت system
بس هحاول اكملو علشان يبقى كامل
مع العلم دا اول system اعملو و لسة بتعلم و انشاء الله هحاول اكملو و شكراا لمرورك

Black Shield 10-03-2016 02:26 PM

رد: Unique Killer system Full
 
اقتباس:

المشاركة الأصلية كتبت بواسطة elbattawy1st (المشاركة 5258047)
كلامك مظبوط انا فاكرت فيها بعد ماعملت system
بس هحاول اكملو علشان يبقى كامل
مع العلم دا اول system اعملو و لسة بتعلم و انشاء الله هحاول اكملو و شكراا لمرورك

العفو و كلامي ده مش تقليل من مجهودك
مفيش حاجه كاملة و مجهودك عالي جدا مشاء الله عليك

انا عملت تعديل على البروسيدر بس مجربتوش الصراحة
شوف كده و جربه لو تمام ضيفه

اولا اعمل Create للتابل

كود PHP:

USE [SRO_VT_SHARDLOG]
GO

CREATE TABLE 
[dbo].[_OldHwan_Log]
(
    [
CharName] [varchar](50NOT NULL Unique,
    [
OldHwan] [intNOT NULL
)
GO 

و ده البروسيدور بعد التعديل

كود PHP:

IF (@EventID OR @EventID 11)
BEGIN
    
DECLARE @CharName1 varchar(20) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char]   Where CharID = @CharID)
    DECLARE @
MaxK int = (SELECT Count(CodeName128FROM [SRO_VT_SHARDLOG].[dbo].[_UniquesLog]   Where Killer = @CharName1)
    If @
MaxK >= '2'
    
BEGIN
    
-- Take the title from the player and change to hwanlvl 0
    
DECLARE @OldHwan int = (SELECT HwanLevel FROM SRO_VT_SHARD.._Char WHERE CharName16 = @CharName1)
    DECLARE @
HwanLog int = (SELECT OldHwan FROM SRO_VT_SHARDLOG.._OldHwan_Log WHERE CharName = @CharName1)
    
INSERT INTO SRO_VT_SHARDLOG.._OldHwan_Log Values (@CharName1,@OldHwan)
    
UPDATE [SRO_VT_SHARD].[dbo].[_CharSET HwanLevel = @HwanLog where HwanLevel like '5'
    
-- Adding the title to the new player 5 is the hwan lvl change to yours (reward hwanlvl) )
    
UPDATE [SRO_VT_SHARD].[dbo].[_Charset HwanLevel '5' where CharName16 = @CharName1
    
-- Item Reward 
    EXEC 
[SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @CharName1,'ITEM_ETC_ARENA_COIN',10,0
    
-- Notice Lines To show All server this char is Hero 
    insert into 
[SRO_VT_SHARDLOG].[dbo].[PlusNotice] ([Sent],[message],[date]) Values ('0','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE())
    -- 
Delete Log Unique From Table
    DELETE from 
[SRO_VT_SHARDLOG].[dbo].[_UniquesLogwhere Killer = @Charname1 and CodeName128 'MOB_CH_TIGERWOMAN'
    
END 


Change Log.
كود PHP:

    //Added Lines
    
DECLARE @OldHwan int = (SELECT HwanLevel FROM SRO_VT_SHARD.._Char WHERE CharName16 = @CharName1)
    DECLARE @
HwanLog int = (SELECT OldHwan FROM SRO_VT_SHARDLOG.._OldHwan_Log WHERE CharName = @CharName1)
    
INSERT INTO SRO_VT_SHARDLOG.._OldHwan_Log Values (@CharName1,@OldHwan)

    
//Updated Lines
    
UPDATE [SRO_VT_SHARD].[dbo].[_CharSET HwanLevel = @HwanLog where HwanLevel like '5' 


elbattawy1st 10-03-2016 02:43 PM

رد: Unique Killer system Full
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Black Shield (المشاركة 5258055)


العفو و كلامي ده مش تقليل من مجهودك
مفيش حاجه كاملة و مجهودك عالي جدا مشاء الله عليك

انا عملت تعديل على البروسيدر بس مجربتوش الصراحة
شوف كده و جربه لو تمام ضيفه

اولا اعمل Create للتابل

كود PHP:

USE [SRO_VT_SHARDLOG]
GO

CREATE TABLE 
[dbo].[_OldHwan_Log]
(
    [
CharName] [varchar](50NOT NULL Unique,
    [
OldHwan] [intNOT NULL
)
GO 

و ده البروسيدور بعد التعديل

كود PHP:

IF (@EventID OR @EventID 11)
BEGIN
    
DECLARE @CharName1 varchar(20) = (SELECT CharName16 FROM [SRO_VT_SHARD].[dbo].[_Char]   Where CharID = @CharID)
    DECLARE @
MaxK int = (SELECT Count(CodeName128FROM [SRO_VT_SHARDLOG].[dbo].[_UniquesLog]   Where Killer = @CharName1)
    If @
MaxK >= '2'
    
BEGIN
    
-- Take the title from the player and change to hwanlvl 0
    
DECLARE @OldHwan int = (SELECT HwanLevel FROM SRO_VT_SHARD.._Char WHERE CharName16 = @CharName1)
    DECLARE @
HwanLog int = (SELECT OldHwan FROM SRO_VT_SHARDLOG.._OldHwan_Log WHERE CharName = @CharName1)
    
INSERT INTO SRO_VT_SHARDLOG.._OldHwan_Log Values (@CharName1,@OldHwan)
    
UPDATE [SRO_VT_SHARD].[dbo].[_CharSET HwanLevel = @HwanLog where HwanLevel like '5'
    
-- Adding the title to the new player 5 is the hwan lvl change to yours (reward hwanlvl) )
    
UPDATE [SRO_VT_SHARD].[dbo].[_Charset HwanLevel '5' where CharName16 = @CharName1
    
-- Item Reward 
    EXEC 
[SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @CharName1,'ITEM_ETC_ARENA_COIN',10,0
    
-- Notice Lines To show All server this char is Hero 
    insert into 
[SRO_VT_SHARDLOG].[dbo].[PlusNotice] ([Sent],[message],[date]) Values ('0','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE())
    -- 
Delete Log Unique From Table
    DELETE from 
[SRO_VT_SHARDLOG].[dbo].[_UniquesLogwhere Killer = @Charname1 and CodeName128 'MOB_CH_TIGERWOMAN'
    
END 


Change Log.
كود PHP:

    //Added Lines
    
DECLARE @OldHwan int = (SELECT HwanLevel FROM SRO_VT_SHARD.._Char WHERE CharName16 = @CharName1)
    DECLARE @
HwanLog int = (SELECT OldHwan FROM SRO_VT_SHARDLOG.._OldHwan_Log WHERE CharName = @CharName1)
    
INSERT INTO SRO_VT_SHARDLOG.._OldHwan_Log Values (@CharName1,@OldHwan)

    
//Updated Lines
    
UPDATE [SRO_VT_SHARD].[dbo].[_CharSET HwanLevel = @HwanLog where HwanLevel like '5' 


سبقتنى انا كنت خلاص عملتو و اشتغال تمام و لسة هرفعو بس برضو هجرب بتاعك ممكن اتعلم منو حاجه و شكراا لتكملة الموضوع ^_^

Dev. iLegend 10-03-2016 02:44 PM

رد: Unique Killer system Full
 
اقتباس:

insert into [SRO_VT_SHARDLOG].[dbo].[PlusNotice] ([Sent],[message],[date]) Values ('0','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE())


دي زي مقولتلك ممكن تبدلها عشان ميشغلش برنامجين يشغل برنامج واحد بس ،، ملوش لازمة Plus Notice Program
تتبدل بالكيوري دي

كود PHP:

insert into [Tool_Database].[dbo].[iLegend_Tool] ([Service],[Type],[Message],[Date]) Values ('1','Notice','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE()) 



X_Shadow 10-03-2016 02:48 PM

رد: Unique Killer system Full
 
تسلم ياباشا موضوع رائع جدا بس ياريت لو سمحت تسمع كلام Blacke Shield عشان مثلا واحد شحن تيتل وميش عاور يغير التيتل بتاع بس عاوز الرور بتاع السيستم بس مش عاوز التيتل بتاع التايجر
انا مستنيى تعدل على الموضوع بسيستم الجديد
شكرا لمجهود حضرتك :thumbsup:

Dev.BigBear 10-03-2016 02:50 PM

رد: Unique Killer system Full
 
عاش يا رجالة والله
:wave:

M.HADAD 10-03-2016 02:53 PM

رد: Unique Killer system Full
 
الله احنا عايزين الشغل دا بقى تسلم ايدك بجد موضوع جامد

elbattawy1st 10-03-2016 02:56 PM

رد: Unique Killer system Full
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5258060)


دي زي مقولتلك ممكن تبدلها عشان ميشغلش برنامجين يشغل برنامج واحد بس ،، ملوش لازمة Plus Notice Program
تتبدل بالكيوري دي

كود PHP:

insert into [Tool_Database].[dbo].[iLegend_Tool] ([Service],[Type],[Message],[Date]) Values ('1','Notice','** Unique Hero System** : '+@Charname1+' has now recived (Unique Hero ) title for killing Tiger Girl 2 times And recived Arena Coins as reward ',GETDATE()) 



ما انا سالت حضرتك بعد ما عملت الموضوع علشان كده معرفتش اضيفها
وبعدين انا جربتها عندى معملتش notice مش عارف لية فقولت هراجع عليها ممكن اكون عامل فيها غلطة و بعد
كده هبقى اعدلها
اقتباس:

المشاركة الأصلية كتبت بواسطة X_Shadow (المشاركة 5258061)
تسلم ياباشا موضوع رائع جدا بس ياريت لو سمحت تسمع كلام Blacke Shield عشان مثلا واحد شحن تيتل وميش عاور يغير التيتل بتاع بس عاوز الرور بتاع السيستم بس مش عاوز التيتل بتاع التايجر
انا مستنيى تعدل على الموضوع بسيستم الجديد
شكرا لمجهود حضرتك :thumbsup:

انت كده كده هتاخد title الجديد بس قكرة BlackShield انو لما حد جديد يموت unique البلاير القديم يرجعلو title بتاعو القديم مش اى title وانا خلاص عملتها و هعدلها كمان شوية لما اجربها اكتر من مرة عندى

اقتباس:

المشاركة الأصلية كتبت بواسطة MrMisoBear (المشاركة 5258064)
عاش يا رجالة والله
:wave:

شكراا لمرورك

Dev. iLegend 10-03-2016 03:05 PM

رد: Unique Killer system Full
 
انت لازم تعمل ال Service = 1 مش 0
وغير كدا لازم تكون معلم على Send Notice
في البرنامج عشان يبعت نوتيس


الساعة الآن 04:06 PM.

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