![]() |
Quest Upgrade System
السلام عليكم, النهاردة جايبلكم سيستم هينفع ناس كتير منكم و ناس كتير نفسها تعملو بس محدش جايلو فكرة ازاى, انا قولت اوفر عليكم و اخلى اول release ليا يبقى حاجة تنفعكم. السيستم ده عبارة عن انك بتروح تعمل كويست و تجمع 5 انواع سلاح انت تحددو بعد كدة تروح لبتاع الكويس و هيشيلهم منك ال 5 اسلحة دول و يديك سلاح جديد. طيب يلا نبدأ بقا. ال procedure ده هيكون فى SRO_VT_SHARD كود PHP: CREATE PROC [_AeronQuestUpgrade] @CharID int, @QuestID int as DECLARE @CharName Varchar(MAX) = (select CharName16 from SHARD.dbo._Char Where CharID = @CharID) if(@QuestID='Your quest id') begin Declare @OldItemCode varchar(128) Declare @NewItemCode varchar(128) Declare @ItemID INT Select @ItemID = (Select ID From SHARD.dbo._RefObjCommon Where CodeName128=@OldItemCode) select @OldItemCode = (select codename128 from SHARD.._refobjcommon where id = @itemID) If @OldItemCode = 'ITEM_EU_TSTAFF_10_B_RARE' begin set @NewItemCode = 'ITEM_EU_TSTAFF_10_C_RARE' end else if @OldItemCode = 'ITEM_EU_TSWORD_10_B_RARE' begin set @NewItemCode = 'ITEM_EU_TSWORD_10_C_RARE' end Declare @OldItemCount int Select @OldItemCount = (select COUNT(Item.refitemid) from SHARD.dbo._Items as Item inner Join SHARD.dbo._Inventory as inv on item.ID64 = inv.ItemID where inv.CharID = @CharID and item.RefItemID = @ItemID and item.Serial64 >0) if(@OldItemCount >= 5) begin update SHARD.dbo._Inventory set ItemID = 0 where ItemID in (SELECT TOP 5 Item.ID64 from SHARD.dbo._Items as Item inner Join SHARD.dbo._Inventory as inv on item.ID64 = inv.ItemID where inv.CharID = @CharID and item.RefItemID = @ItemID and item.Serial64 >0) update SHARD.dbo._Items set Serial64 = 0 where ID64 in (SELECT TOP 5 Item.ID64 from SHARD.dbo._Items as Item inner Join SHARD.dbo._Inventory as inv on item.ID64 = inv.ItemID where inv.CharID = @CharID and item.RefItemID = @ItemID and item.Serial64 >0) exec SHARD.dbo._ADD_ITEM_EXTERN @Charname,@NewItemCode,1,0 end end بعد كدة هنحط ده فى _quest_manage procedure فى SRO_VT_SHARD كود PHP: If @QuestID = 'Your quest id' begin exec _AeronQuestUpgrade @CharID , @QuestID end |
رد: [Release] Quest Upgrade System
تسلم ايدك بس فين هو الكويست ^^ |
رد: [Release] Quest Upgrade System
ظبط يا باشا ملف الكويست و Lines الكويست فى الداتا بيز وكذلك Line الان بي سي اللى هيبقا فيه الكويست كمل موضوعك .. |
رد: [Release] Quest Upgrade System
رجا اكتمال الموضوع:crash:
|
رد: [Release] Quest Upgrade System
اقتباس:
|
رد: [Release] Quest Upgrade System
ماشي مش قصة ان اللى عاوز السيستم يعمل كويست سهلة . الفكرة يا باشا فى حاجتين .. انت مش شارح السيستم بالتفصيل .. يعني مثلاً هيجيبوا الخمس اسلحة منين كويست ولا من اليونيكات ولا الموبس ،، هيغيروا ايه فى الـ Procedure عشان محدش يتلغبط وكان من باب اولى انك تكمل موضوعك بملف كويست + Npc Lines ع العموم مش مشكلة بس انت هارس حاجات كتير فى الـ Procedure ومش مترتب دا نفس الـ Procedure بس مترتب ومتعدل فى بعض الاومر للأبسط اللى الناس تقدر تفهمه . كود PHP:
تقبل مروري |
رد: [Release] Quest Upgrade System
اقتباس:
|
رد: [Release] Quest Upgrade System
inner join & join بتطول البروسيدور ع الفاضي لما ممكن تستبدلها بسطر واحد وبيفى بنفس الغرض دا غير ان الخطوة اللي قبل الاخيرة مش عجباني .. ازاي تخلى باقي الاسلحة اللى معاه من نفس النوع اكنهم مش موجودين بالنسبة للسيستم .. هوضحلك اكتر .. انا معايا 7x CH Bow وظبت الاكواد فى الـ Procedure وعملت الكويست وسلمته واتحوللى 5 منهم لسلاح جديد .. واتبقى 2 .. افرض انا عاوز اكمل ع الاتنين دوول واعمل الكويست بكراكتر تانية ..! انت فى الخطوة دي كود PHP:
والسيستم اما يجي يحسب عدد الايتم اللى معاك بيحسبها لازم يكون السيريال اكبر من 0 . كود PHP:
يبقا انت كدا بتخلى الايتم اللى باقية ملهاش لازمة حتي لو اتنقلت فى اي كراكتر تانية .. طول ما السيريال 0 مش هيحسبها فى السيستم ارجوا ان اكون وضحت النقطة دي طب متعمل كويست صعب شوية وتخلى الريوارد Sun بدل متخلى الكويست يعمل ابجريد لخمس اسلحة .. بـ Sun |
رد: [Release] Quest Upgrade System
انا مش فاهم ده غرضه ايه يريت حد يفهمنى |
رد: [Release] Quest Upgrade System
عايزين ملفات الكويست والاكواد الى هنربطو على البروسيدور دة !
|
رد: Quest Upgrade System
حد جرب الطريقة ديه مع اى كويست يعنى اشتغل بيها فى اى كويست ليا ولا هى مش شغالة فى الاساس ؟
مش بكلم على البروديسور بكلم على الطريقة الى هى تسلم كويست يحصل كويرى ديه شغالة ؟ |
الساعة الآن 09:24 AM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.