قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة[ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]
رد: LOCK & Unlock System By Massage With Secret Word By HLP
اقتباس:
المشاركة الأصلية كتبت بواسطة Black Shield
طيب انا عندي فكرة بسيطه مش بس مجربتهاش جربها كده يا رامي و شوف
بما اننا ملناش في ال 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
أولاً عشان اكون واضح في شرحي اللي جاي دا ،، اللوج دا ما هو إلا تنفيذ كيوري بعد تنفيذ المهمة من الجيم سيرفر ،،
بمعني ان ال EventID بتاع الألكيمي مينفعش انك تعمل قبله او في اي مكان في البروسيدور Select Old OptLevel لأن أصلاً البلص اللي هجيبه هو البلص الحالي للأيتم بعد الألكيمي فا بالتالي الكيوري اللي بتجيب البلص القديم وتحطه للأيتم اكنها معملتش حاجة ،، ممكن تتشقلب شوية وتجيبها من الجدول القديم زي منتا عامل كدا بس في حاجة غلط انت عاملها وهي انك جايب بلص الأيتم القديم بدلالة أي دي الأيتم في السلوت 13 طيب افرض الالكيمي حصل مش في سلوت 13 وسلوت 13 كانت فاضيه ؟ يبقا كدا old optlevel = null وبكدا الكيوري هتجيب ايرور في الاكسكيوت ومش هيحصل حاجة ،، بس في حالة ال Destroy هتعمل ايه ؟
هو انا معاك ان الأيتم بيبقا محفوظ في جدول ببياناته كلها بحيث ان الادمن يقدر يعرف الايتم ويرجعه للناس ،،
بس دا مش حل !
التعديل الأخير تم بواسطة Dev. iLegend ; 19-04-2016 الساعة 09:08 PM