19-02-2015, 12:38 PM
|
#6
|
|
• الانـتـسـاب » Jul 2013
|
• رقـم العـضـويـة » 112689
|
• المشـــاركـات » 1,050
|
• الـدولـة » Egypt - Tanta
|
• الـهـوايـة » always try for a best features
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 34
|
|
|
رد: [Release] Quest Upgrade System
ماشي مش قصة ان اللى عاوز السيستم يعمل كويست سهلة .
الفكرة يا باشا فى حاجتين ..
انت مش شارح السيستم بالتفصيل .. يعني مثلاً هيجيبوا الخمس اسلحة منين كويست ولا من اليونيكات ولا الموبس ،،
هيغيروا ايه فى الـ Procedure عشان محدش يتلغبط
وكان من باب اولى انك تكمل موضوعك بملف كويست + Npc Lines
ع العموم مش مشكلة بس انت هارس حاجات كتير فى الـ Procedure ومش مترتب
دا نفس الـ Procedure بس مترتب ومتعدل فى بعض الاومر للأبسط اللى الناس تقدر تفهمه .
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_AeronQuestUpgrade] Script Date: 02/19/2015 10:58:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
CREATE PROCEDURE [dbo].[_AeronQuestUpgrade] @CharID Int, @QuestID Int As
-- Declare expression. Declare @OldItemCode Varchar(128) , @NewItemCode Varchar(128) , @ItemID Int , @OldItemCount Int Declare @CharName Varchar(max) = (Select CharName16 From [SRO_VT_SHARD].[dbo].[_Char] Where CharID = @CharID) -----------------------------------------------------------------------
IF @QuestID = 'Quest ID' -- Write here your quest ID Begin IF @OldItemCode = 'ITEM_EU_TSTAFF_10_B_RARE' -- First Old item code name Begin Set @NewItemCode = 'ITEM_EU_TSTAFF_10_C_RARE' -- First new item code name to be exchanged with 5x First Old one. End ELSE IF @OldItemCode = 'ITEM_EU_TSWORD_10_B_RARE' -- Second Old item code name Begin Set @NewItemCode = 'ITEM_EU_TSWORD_10_C_RARE' -- Second new item code name to be exchanged with 5x Second Old one. -- Repeate this steps if u want more using ELSE IF. End
--- Select Values ID and CodeName of Old item. Select @ItemID = (Select ID From [SRO_VT_SHARD].[dbo].[_RefObjCommon] Where CodeName128 = @OldItemCode) Select @OldItemCount = (Select Count(ItemID) From [SRO_VT_SHARD].[dbo].[_Inventory] Where ItemID in (Select ID64 From _Items Where RefItemID = @ItemID and Serial64 > 0) and CharID = @CharID) IF @OldItemCount >= 5 Begin -- Delete Top 5 old items from Char inventory to add later the new item. Update SRO_VT_SHARD.dbo.[SRO_VT_SHARD].[dbo].[_Inventory] Set ItemID = 0 Where ItemID in (Select Top 5 ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where ItemID in (Select ID64 From [SRO_VT_SHARD].[dbo].[_Items] Where RefItemID = @ItemID and Serial64 > 0) and CharID = @CharID Order by ItemID) -- Set the rest of Items Serial = 0 if the old item count more than 5 items, for not use it later in same quest. Update [SRO_VT_SHARD].[dbo].[_Items] Set Serial64 = 0 Where ID64 in (Select Top 5 ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where ItemID in (Select ID64 From [SRO_VT_SHARD].[dbo].[_Items] Where RefItemID = @ItemID and Serial64 > 0) and CharID = @CharID Order by ItemID) -- Add the new item to char name. Execute [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @Charname,@NewItemCode,1,0 End End
تقبل مروري
|
|
التعديل الأخير تم بواسطة Dev. iLegend ; 19-02-2015 الساعة 12:43 PM
|