الموضوع: Quest Upgrade System
عرض مشاركة واحدة
قديم 19-02-2015, 12:38 PM   #6

Dev. iLegend
عضو لامع



الصورة الرمزية Dev. iLegend


• الانـتـسـاب » Jul 2013
• رقـم العـضـويـة » 112689
• المشـــاركـات » 1,050
• الـدولـة » Egypt - Tanta
• الـهـوايـة » always try for a best features
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 34
Dev. iLegend صـاعـد

Dev. iLegend غير متواجد حالياً


إرسال رسالة عبر Yahoo إلى Dev. iLegend

افتراضي رد: [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].[_CharWhere 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].[_RefObjCommonWhere CodeName128 = @OldItemCode)
    
Select @OldItemCount = (Select Count(ItemIDFrom [SRO_VT_SHARD].[dbo].[_InventoryWhere 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].[_InventorySet ItemID 0
     Where ItemID in 
(Select Top 5 ItemID From [SRO_VT_SHARD].[dbo].[_InventoryWhere ItemID in (Select ID64 From [SRO_VT_SHARD].[dbo].[_ItemsWhere RefItemID = @ItemID and Serial64 0) and CharID = @CharID Order by ItemID)
    -- 
Set the rest of Items Serial if the old item count more than 5 items, for not use it later in same quest.
     
Update [SRO_VT_SHARD].[dbo].[_ItemsSet Serial64 0
     Where  ID64  in 
(Select Top 5 ItemID From [SRO_VT_SHARD].[dbo].[_InventoryWhere ItemID in (Select ID64 From [SRO_VT_SHARD].[dbo].[_ItemsWhere 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

رد مع اقتباس