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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   LOCK & Unlock System By Massage With Secret Word By HLP (https://silkroad4arab.com/vb/showthread.php?t=600996)

HLP 17-04-2016 06:36 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة mido22421 (المشاركة 5264216)

كله موضوعات عادية
وانا لما بقولك بتشارك ولا لا
انت كتب في كومنت
اقتباس:

المشاركة الأصلية كتبت بواسطة mido22421 (المشاركة 5264211)

22-03-2016

New create secret word

ده الصور

http://gb-road.com/imgs//lockitem.gif

يعني من 22/03/2016 و محدش عارف ان انت عامل موضوع يعني مش عايز تشارك حد

Dev. iLegend 18-04-2016 12:48 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
موضوع انك تمنع البلص على الأيتم الـ Locked سهلة من الفلتر ،، كمثال بسيط K-Guard
الباكيت اللي جاية بتاعت الـ Enhance فيها اي دي الأيتم بس مش رقم عادي في الباكيت بيجي بنظام السداسي عشر hex
كل اللي عليك انك في الاوب كود دا تجيب ال ID ده وهو RefItemID بتاع الأيتم اللي هيتعمل عليه الكيمي وتعمل بيه اكسكيوت لبروسيدور صغير كدا انك تجيب الكود نيم بتاع الأيتم عن طريق الأي دي ودي مفيش اسهل منها ،،
بعد كدا تعمل شرط بسيط لو الـ
كود PHP:

 IF @CodeName like '%LOCKED%' 

يعمل ريترن ب 1

Else

يعمل ريترن ب 0

وحسب الريسولت بتاعت الاكسكيوت من ال C# تقدر تعمل بلوك للباكيت او تسمح انها تعدي

HLP 18-04-2016 07:52 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5264242)
موضوع انك تمنع البلص على الأيتم الـ Locked سهلة من الفلتر ،، كمثال بسيط K-Guard
الباكيت اللي جاية بتاعت الـ Enhance فيها اي دي الأيتم بس مش رقم عادي في الباكيت بيجي بنظام السداسي عشر hex
كل اللي عليك انك في الاوب كود دا تجيب ال ID ده وهو RefItemID بتاع الأيتم اللي هيتعمل عليه الكيمي وتعمل بيه اكسكيوت لبروسيدور صغير كدا انك تجيب الكود نيم بتاع الأيتم عن طريق الأي دي ودي مفيش اسهل منها ،،
بعد كدا تعمل شرط بسيط لو الـ
كود PHP:

 IF @CodeName like '%LOCKED%' 

يعمل ريترن ب 1

Else

يعمل ريترن ب 0

وحسب الريسولت بتاعت الاكسكيوت من ال C# تقدر تعمل بلوك للباكيت او تسمح انها تعدي

تمام يا رامي بس لاسف انا مليش في #C

elbattawy1st 18-04-2016 08:30 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
تسلم ايديك علي السيستم الجامد دا ^_^

HLP 18-04-2016 09:51 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة elbattawy1st (المشاركة 5264272)
تسلم ايديك علي السيستم الجامد دا ^_^

حبيبي

Dev. iLegend 18-04-2016 07:45 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة mido22421 (المشاركة 5264211)

22-03-2016

New create secret word

ده الصور

http://gb-road.com/imgs//lockitem.gif


لو بتتكلم على الاسكرينات انا عامل السيستم دا من 6 شهور وكنت لاغي الالكيمي كمان من عليه ،،
وعلى فكرة انا عامله من فترة كبيرة قبل التاريخ اللي في الاسكرين عشان تاريخ الاسكرين دا تاريخ ال release

http://i.epvpimg.com/06p0d.png

Black Shield 19-04-2016 08:19 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
طيب انا عندي فكرة بسيطه مش بس مجربتهاش جربها كده يا رامي و شوف

بما اننا ملناش في ال C# يبقى خلينا في الي احنا نعرفه دلوقتي :D

اول حاجة ممكن تعمل تابل جديد زي _Item بظبط بكل الكولمنز بتاعته تمام بس هانلغي الريفرانس منه
اول حاجه تضيف في الـ _Memo_Add
جزأ يضيف الداتا بتاعت الاياتم الي هايتعمله Lock من _Item للتابل الجديد _LockedItems
كود PHP:

INSERT INTO SRO_VT_SHARDLOG.._LockedItems
SELECT 
FROM SRO_VT_SHARD.._Items 
WHERE ID64 
= @ItemID 

و حط ده في _AddLogItem
كود PHP:

  IF (@strDesc '%Opt:%')
  DECLARE @
OptLevel int = (SELECT OptLevel FROM _LockedItems WHERE CharID = @CharID and ID64 IN (SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 13))
  
Begin
  
IF (@Operation 41 dwData 65540 and @ItemRefID in (SELECT ItemRefID FROM _LockedItems WHERE ItemRefID = @ItemRefID))
  
BEGIN
  UPDATE _Items 
  SET OptLevel 
= @OptLevel
  WHERE ID64 IN 
(SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 13)
  
END
  END 

انا مجربتهوش جربه انت و لو اشتغل قول لي نظبط بقى الستاتس و البلو كمان

اه متسناش في الUnlock خليه يمسح الرو بتاع الايتم من تابل _LockedItems

و ده كويري يعمل لك التابل على طول

كود PHP:

USE SRO_VT_SHARDLOG
GO

/****** Object:  Table [dbo].[_Items]    Script Date: 19/04/2016 06:57:56 م ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_LockedItems](
    [
ID64] [bigintNOT NULL,
    [
RefItemID] [intNOT NULL,
    [
OptLevel] [tinyintNULL,
    [
Variance] [bigintNULL,
    [
Data] [intNOT NULL,
    [
CreaterName] [varchar](64NULL,
    [
MagParamNum] [tinyintNOT NULL,
    [
MagParam1] [bigintNULL,
    [
MagParam2] [bigintNULL,
    [
MagParam3] [bigintNULL,
    [
MagParam4] [bigintNULL,
    [
MagParam5] [bigintNULL,
    [
MagParam6] [bigintNULL,
    [
MagParam7] [bigintNULL,
    [
MagParam8] [bigintNULL,
    [
MagParam9] [bigintNULL,
    [
MagParam10] [bigintNULL,
    [
MagParam11] [bigintNULL,
    [
MagParam12] [bigintNULL,
    [
Serial64] [bigintNOT NULL,
)

SET ANSI_PADDING OFF
GO 


Storxy* 19-04-2016 08:50 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5264040)
من ناحية مفيد فا هو مفيد جدا. وشكلي هفرقع السيستم بتاعي واعمل بتاعك ^^

بس ملحوظة صغيره انا مفهمتهاش اوي



دا معناه ان البلاص كمان بيبقي ممنوع والايتم مقفول ؟ طب ما دا عز الطلب ^^

انا عايز اعملها عندي ومش عارف اوصلها . لازم بفلتر

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

Dev. iLegend 19-04-2016 09:03 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

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

بما اننا ملناش في ال C# يبقى خلينا في الي احنا نعرفه دلوقتي :D

اول حاجة ممكن تعمل تابل جديد زي _Item بظبط بكل الكولمنز بتاعته تمام بس هانلغي الريفرانس منه
اول حاجه تضيف في الـ _Memo_Add
جزأ يضيف الداتا بتاعت الاياتم الي هايتعمله Lock من _Item للتابل الجديد _LockedItems
كود PHP:

INSERT INTO SRO_VT_SHARDLOG.._LockedItems
SELECT 
FROM SRO_VT_SHARD.._Items 
WHERE ID64 
= @ItemID 

و حط ده في _AddLogItem
كود PHP:

  IF (@strDesc '%Opt:%')
  DECLARE @
OptLevel int = (SELECT OptLevel FROM _LockedItems WHERE CharID = @CharID and ID64 IN (SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 13))
  
Begin
  
IF (@Operation 41 dwData 65540 and @ItemRefID in (SELECT ItemRefID FROM _LockedItems WHERE ItemRefID = @ItemRefID))
  
BEGIN
  UPDATE _Items 
  SET OptLevel 
= @OptLevel
  WHERE ID64 IN 
(SELECT ItemID FROM _Inventory WHERE CharID = @CharID and Slot 13)
  
END
  END 

انا مجربتهوش جربه انت و لو اشتغل قول لي نظبط بقى الستاتس و البلو كمان

اه متسناش في الUnlock خليه يمسح الرو بتاع الايتم من تابل _LockedItems

و ده كويري يعمل لك التابل على طول

كود PHP:

USE SRO_VT_SHARDLOG
GO

/****** Object:  Table [dbo].[_Items]    Script Date: 19/04/2016 06:57:56 م ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_LockedItems](
    [
ID64] [bigintNOT NULL,
    [
RefItemID] [intNOT NULL,
    [
OptLevel] [tinyintNULL,
    [
Variance] [bigintNULL,
    [
Data] [intNOT NULL,
    [
CreaterName] [varchar](64NULL,
    [
MagParamNum] [tinyintNOT NULL,
    [
MagParam1] [bigintNULL,
    [
MagParam2] [bigintNULL,
    [
MagParam3] [bigintNULL,
    [
MagParam4] [bigintNULL,
    [
MagParam5] [bigintNULL,
    [
MagParam6] [bigintNULL,
    [
MagParam7] [bigintNULL,
    [
MagParam8] [bigintNULL,
    [
MagParam9] [bigintNULL,
    [
MagParam10] [bigintNULL,
    [
MagParam11] [bigintNULL,
    [
MagParam12] [bigintNULL,
    [
Serial64] [bigintNOT NULL,
)

SET ANSI_PADDING OFF
GO 


أولاً عشان اكون واضح في شرحي اللي جاي دا ،، اللوج دا ما هو إلا تنفيذ كيوري بعد تنفيذ المهمة من الجيم سيرفر ،،
بمعني ان ال EventID بتاع الألكيمي مينفعش انك تعمل قبله او في اي مكان في البروسيدور Select Old OptLevel لأن أصلاً البلص اللي هجيبه هو البلص الحالي للأيتم بعد الألكيمي فا بالتالي الكيوري اللي بتجيب البلص القديم وتحطه للأيتم اكنها معملتش حاجة ،، ممكن تتشقلب شوية وتجيبها من الجدول القديم زي منتا عامل كدا بس في حاجة غلط انت عاملها وهي انك جايب بلص الأيتم القديم بدلالة أي دي الأيتم في السلوت 13 طيب افرض الالكيمي حصل مش في سلوت 13 وسلوت 13 كانت فاضيه ؟ يبقا كدا old optlevel = null وبكدا الكيوري هتجيب ايرور في الاكسكيوت ومش هيحصل حاجة ،، بس في حالة ال Destroy هتعمل ايه ؟

هو انا معاك ان الأيتم بيبقا محفوظ في جدول ببياناته كلها بحيث ان الادمن يقدر يعرف الايتم ويرجعه للناس ،،
بس دا مش حل !

Dev. iLegend 19-04-2016 09:19 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
بس انت ممكن تعمل حركة صايعة ،، ان اول ميحصل الكيمي على ايتم واحد بس من الأيتم المقفولة نجحت او فشلت الالكيمي انت كدا كدا معاك الأيتم متسجل في جدول وعموماً سجله بأسم الكراكتر افضل يعني اعمل Column CharName او CharID ويبقا الأيتم ببياناته متسجل بأسم صاحبه ،،
ولما يحصل الالكيمي بنفس ال EventID اللي انت عامله فوق دا ،، ادي الكراكتر Dc وغير Password اليوسر بتاع الكراكتر ،، ولما صاحب الكراكتر يكلم الادمن ترجعهاله وتشوف ايه اللي حصل في الايتم المقفولة الأول عشان لو الالكيمي نجحت ميعملوش عليك Cheat يعملوا الكيمي وهو مقفول نجحت يبقا انت متعرفش فشلت يرجعوا الايتم منك ،،

Last_Fiddler 20-04-2016 09:19 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
الموضوع لسه فيه تطوير كتير ياريت الكل يشارك لو عنده اى طريقه فى حكاية البلص
ولو فى طريقه عن طريق فلتر ياريت تتعريف

HLP 20-04-2016 10:25 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
انا قريب حعمل فلتر بس اخلص كورس #C

Black Shield 20-04-2016 12:31 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5264430)
أولاً عشان اكون واضح في شرحي اللي جاي دا ،، اللوج دا ما هو إلا تنفيذ كيوري بعد تنفيذ المهمة من الجيم سيرفر ،،
بمعني ان ال EventID بتاع الألكيمي مينفعش انك تعمل قبله او في اي مكان في البروسيدور Select Old OptLevel لأن أصلاً البلص اللي هجيبه هو البلص الحالي للأيتم بعد الألكيمي فا بالتالي الكيوري اللي بتجيب البلص القديم وتحطه للأيتم اكنها معملتش حاجة ،، ممكن تتشقلب شوية وتجيبها من الجدول القديم زي منتا عامل كدا بس في حاجة غلط انت عاملها وهي انك جايب بلص الأيتم القديم بدلالة أي دي الأيتم في السلوت 13 طيب افرض الالكيمي حصل مش في سلوت 13 وسلوت 13 كانت فاضيه ؟ يبقا كدا old optlevel = null وبكدا الكيوري هتجيب ايرور في الاكسكيوت ومش هيحصل حاجة ،، بس في حالة ال Destroy هتعمل ايه ؟

هو انا معاك ان الأيتم بيبقا محفوظ في جدول ببياناته كلها بحيث ان الادمن يقدر يعرف الايتم ويرجعه للناس ،،
بس دا مش حل !

اقتباس:

المشاركة الأصلية كتبت بواسطة Dev. iLegend (المشاركة 5264433)
بس انت ممكن تعمل حركة صايعة ،، ان اول ميحصل الكيمي على ايتم واحد بس من الأيتم المقفولة نجحت او فشلت الالكيمي انت كدا كدا معاك الأيتم متسجل في جدول وعموماً سجله بأسم الكراكتر افضل يعني اعمل Column CharName او CharID ويبقا الأيتم ببياناته متسجل بأسم صاحبه ،،
ولما يحصل الالكيمي بنفس ال EventID اللي انت عامله فوق دا ،، ادي الكراكتر Dc وغير Password اليوسر بتاع الكراكتر ،، ولما صاحب الكراكتر يكلم الادمن ترجعهاله وتشوف ايه اللي حصل في الايتم المقفولة الأول عشان لو الالكيمي نجحت ميعملوش عليك Cheat يعملوا الكيمي وهو مقفول نجحت يبقا انت متعرفش فشلت يرجعوا الايتم منك ،،



تمام يا رامي


اقتباس:

المشاركة الأصلية كتبت بواسطة HLP (المشاركة 5264484)
انا قريب حعمل فلتر بس اخلص كورس #C


طيب هو بيبقى عباره عن ايه او ايه فكرته
و لو حد معاه كورس C# كويس يقول لي يا رجالة

Hamza FiGo 04-07-2016 08:09 PM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Storxy* (المشاركة 5264429)
ممكن تعمل ان لو حد حاول يعمل بلص والايتم مقفول ياخد دى سى والايتم ميحصلش فيه حاجة

محدش خد باله من الرد دا !! فكرة كويسه جدا واعتقد ابسط مما كنا نتخيل.

Dev. iLegend 22-07-2016 04:42 AM

رد: LOCK & Unlock System By Massage With Secret Word By HLP
 
مينفعش تقفل الألكيمي إلا بفلتر متنفعش من الداتا بيز


الساعة الآن 07:27 AM.

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