الموضوع: Auto Equipment
عرض مشاركة واحدة
قديم 16-04-2016, 08:37 AM   #7

loverslove
عضو مميز





• الانـتـسـاب » May 2008
• رقـم العـضـويـة » 22147
• المشـــاركـات » 595
• الـدولـة »
• الـهـوايـة »
• اسـم الـسـيـرفـر »
• الـجـنـس »
• نقـاط التقييم » 10
loverslove صـاعـد

loverslove غير متواجد حالياً



افتراضي رد: Auto Equipment



طب ده صح واحطه فين
كود:
CREATE procedure [dbo].[_AutoEquipment] @CharID INT, @data2 INT AS 
DECLARE @Flag INT = 0,    @ID64 INT, @ReFObjID INT, @ReFItemID INT, @T1 TINYINT, @T2 TINYINT, @T3 TINYINT, @T4 TINYINT, @optLvl TINYINT, @race BIT, @Gen TINYINT; 
    SELECT @Gen = CASE WHEN RefObjID BETWEEN 1920 AND 1932 THEN 2 WHEN RefObjID <= 1919 THEN 1 WHEN RefObjID BETWEEN 14875 AND 14887 THEN 3 WHEN RefObjID BETWEEN 14888 AND 14900 THEN 4 ELSE 0 END FROM SRO_VT_SHARD.._Char WITH (NOLOCK) WHERE CharID = @CharID 
    SELECT @race = CASE WHEN @Gen IN (1,2) THEN 0 WHEN @Gen IN (3,4) THEN 1 ELSE NULL END 
    IF  @race IS NULL) RETURN; 
    WHILE @Flag <13    BEGIN 
            SELECT @ID64 = 0, @ReFItemID = 0, @ReFObjID = 0, @T1 = 0, @T2 =0, @T3 = 0, @T4 = 0 
            IF @Flag != 8 BEGIN 
                    SELECT @ID64 = I.ItemID, @ReFObjID = IT.RefItemID, @optLvl = IT.OptLevel FROM SRO_VT_SHARD.._Inventory I WITH (NOLOCK) INNER JOIN SRO_VT_SHARD.._Items IT WITH (NOLOCK) ON I.ItemID = IT.ID64 WHERE I.Slot = @Flag AND I.CharID @CharID AND IT.RefItemID    NOT IN (62,3655, 3823, 24459, 38345, 10383, 10885,19644, 24460, 38346) -- Arrows & Bolts... 
                    IF @ID64  != 0  AND @ReFObjID IS NOT NULL BEGIN 
                            SELECT @T1 = TypeID1,@T2 = TypeID2, @T3 = TypeID3, @T4 = TypeID4 FROM SRO_VT_SHARD.._RefObjCommon WHERE    ID = @ReFObjID 
                            SELECT @optLvl = CASE WHEN @optLvl >= 3 THEN @optLvl ELSE 3 END 
                            UPDATE    SRO_VT_SHARD.._Items SET RefItemID = Q.ID, Variance  = ISNULL(Q.Va, 0),    MagParam1 = Q.P1, MagParam2 = Q.P2, MagParam3 = Q.P3, MagParam4 = Q.P4, MagParam5 = Q.P5, MagParam6 = Q.P6, MagParam7 = Q.P7, MagParam8 = Q.P8, MagParam9 = Q.P9, MagParamNum = Q.MagParamNum, OptLevel = @optLvl FROM    (SELECT TOP 1 ID, P1, P2, P3, P4, P5, P6, P7, P8, P9, Va, CASE WHEN P1 = 0 THEN 0 WHEN P5 = 0 THEN 4 WHEN P6 = 0 THEN 5 WHEN P7 = 0 THEN 6 WHEN P8 = 0 THEN 7 ELSE 0 END AS MagParamNum FROM        SRO_VT_ROYAL.._royalitempoolautoequipment P WITH (NOLOCK) WHERE typeid1 = @T1 AND typeid2 = @T2 AND typeid3 = @T3 AND typeid4 = @T4 AND (Gender = @Gen OR Gender = 0) AND Race = @race AND ReqLevel1 <= @data2 ORDER  BY reqlevel1 DESC) AS Q WHERE ID64 = @ID64 AND ID64 != 0 AND Q.ID != 0 END END  
                            SET @Flag += 1 END