عرض مشاركة واحدة
قديم 16-11-2017, 12:39 AM   #9

Spicoo
عضو مميز



الصورة الرمزية Spicoo


• الانـتـسـاب » Oct 2012
• رقـم العـضـويـة » 106620
• المشـــاركـات » 621
• الـدولـة » سَّوٍّهِّآجِّ
• الـهـوايـة » AKTSA7
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 10
Spicoo صـاعـد

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


إرسال رسالة عبر Yahoo إلى Spicoo

(1) رد: مشكله في system Auto EquipMent



اقتباس:
المشاركة الأصلية كتبت بواسطة Erixon عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
جرب ده شغاله 1-9 d
sun +7 stats 100%


كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_ADD_AUTOEQUIP_GEAR]    Script Date: 12/15/2014 18:35:10 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE 
[dbo].[_ADD_AUTOEQUIP_GEAR]
    @
CharName AS VARCHAR(64),
    @
EQPlus AS TINYINT
AS    
    -- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    -- @@@ 
BEGIN: SETTINGS
    
    
-- CHANGE THIS! -- CHANGE THIS! -- CHANGE THIS! (if needed)

    -- (
Represent ITEM_CH_BOW_11_A_RARE), change as you need it
    
DECLARE @GearSuffix VARCHAR(16) = 'C_RARE'

    
-- @@@ END: SETTINGS
    
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    
SET NOCOUNT ON

    
-- Check if character exist
    
DECLARE    @isCharExist TINYINT = 0

    
PRINT 'Validating Character...'
    
EXEC @isCharExist = [_IsExistingCharName] @CharNameToCheck = @CharName
    
IF (@isCharExist = 0)
    
BEGIN
        RAISERROR
('Character: %s does not exist. Sequence canceled!', 1, 16, @CharName)
        RETURN -
1
    END

    
-- Check character and account related information (In relation with SRO_VT_ACCOUNT)
    DECLARE @
CharID INT = 0
    
DECLARE @RefCharID INT = 0
    
DECLARE @UserJID INT = 0
    
DECLARE @GMLevel INT = 0
    
DECLARE @AccountName VARCHAR(32) = ''

    
-- Check if character assigned to Account ID
    
PRINT 'Validating Account ID...'
    
SELECT @CharID = CharID, @RefCharID = RefObjID FROM _Char WHERE CharName16 = @CharName
    SELECT 
@UserJID = UserJID FROM _User WHERE CharID = @CharID
    
IF (@UserJID IS NULL OR @UserJID = 0)
    
BEGIN
        RAISERROR
('Account ID does not exist, or character: %s is not assigned to any user accounts. Sequence canceled!', 1, 16, @CharName)
        RETURN -
2
    END

    
-- Check character gender and race
    
DECLARE @CharGender VARCHAR(1) = ''
    
DECLARE @CharRace VARCHAR(2) = ''

    
PRINT 'Validating race and gender...'
    
SET @CharRace = CASE
        
WHEN (@RefCharID BETWEEN 1907 AND 1919) OR (@RefCharID BETWEEN 1920 AND 1932) THEN 'CH'    -- Chinese (vSRO/BR110)
        
WHEN (@RefCharID BETWEEN 14875 AND 14887) OR (@RefCharID BETWEEN 14888 AND 14900) THEN 'EU'    -- Euro (vSRO)
        
WHEN (@RefCharID BETWEEN 14717 AND 14729) OR (@RefCharID BETWEEN 14730 AND 14742) THEN 'EU'    -- Euro (BR110)
        ELSE 
NULL END
    SET 
@CharGender = CASE
        
WHEN (@RefCharID BETWEEN 1907 AND 1919) OR (@RefCharID BETWEEN 14875 AND 14887) OR (@RefCharID BETWEEN 14717 AND 14729) THEN 'M'
        
WHEN (@RefCharID BETWEEN 1920 AND 1932) OR (@RefCharID BETWEEN 14888 AND 14900) OR (@RefCharID BETWEEN 14730 AND 14742) THEN 'W'
        
ELSE NULL END
    
PRINT 'Race code is: ' + @CharRace + ', gender code is: ' + @CharGender + '.'
    
IF (@CharRace IS NULL OR @CharGender IS NULL)
    
BEGIN
        RAISERROR
('Invalid character race and gender info. Sequence canceled!', 1, 16, @CharName)
        RETURN -
3
    END

    
-- Check character level for item degree
    
DECLARE @EQDegree VARCHAR(2) = ''
    
DECLARE @CurLevel TINYINT = 0

    SET 
@CurLevel = CASE
        
WHEN @CharRace = 'CH' THEN (SELECT CurLevel FROM _Char WHERE CharID = @CharID) + 1
        WHEN 
@CharRace = 'EU' THEN (SELECT CurLevel FROM _Char WHERE CharID = @CharID) - 1
        
--WHEN @CharRace = 'EU' THEN (SELECT TOP (1) [Level] FROM _CharSkillMastery WHERE CharID = @CharID ORDER BY [Level] DESC) + 1
        
ELSE 0 END
    SET 
@EQDegree = CASE
        
WHEN @CurLevel < 13 THEN '01'
        
WHEN @CurLevel < 21 THEN '02'
        
WHEN @CurLevel < 29 THEN '03'
        
WHEN @CurLevel < 37 THEN '04'
        
WHEN @CurLevel < 47 THEN '05'
        
WHEN @CurLevel < 57 THEN '06'
        
WHEN @CurLevel < 69 THEN '07'
        
WHEN @CurLevel < 81 THEN '08'
    
ELSE '09' END
    
PRINT 'Character/Mastery Level: ' + CAST(@CurLevel AS VARCHAR(3)) + ', degree: ' + @EQDegree + '. (Level are current +1)'

    
-- Setting up equipment
    
-- Gears
    
DECLARE @CodeNameHelm        VARCHAR(64) = ''
    
DECLARE @CodeNameMail        VARCHAR(64) = ''
    
DECLARE @CodeNameShoulder    VARCHAR(64) = ''
    
DECLARE @CodeNameGauntlet    VARCHAR(64) = ''
    
DECLARE @CodeNamePants        VARCHAR(64) = ''
    
DECLARE @CodeNameBoots        VARCHAR(64) = ''
    
DECLARE @RefHelmID        INT = 0
    
DECLARE @RefMailID        INT = 0
    
DECLARE @RefShoulderID        INT = 0
    
DECLARE @RefGauntletID        INT = 0
    
DECLARE @RefPantsID        INT = 0
    
DECLARE @RefBootsID        INT = 0
    
DECLARE @RefHelmLinkID        INT = 0
    
DECLARE @RefMailLinkID        INT = 0
    
DECLARE @RefShoulderLinkID    INT = 0
    
DECLARE @RefGauntletLinkID    INT = 0
    
DECLARE @RefPantsLinkID        INT = 0
    
DECLARE @RefBootsLinkID        INT = 0

    
-- Accessories
    
DECLARE @CodeNameEarring    VARCHAR(64) = ''
    
DECLARE @CodeNameNecklace    VARCHAR(64) = ''
    
DECLARE @CodeNameRing        VARCHAR(64) = ''
    
DECLARE @RefEarringID        INT = 0
    
DECLARE @RefNecklaceID        INT = 0
    
DECLARE @RefRingID        INT = 0
    
DECLARE @RefEarringLinkID    INT = 0
    
DECLARE @RefNecklaceLinkID    INT = 0
    
DECLARE @RefRingLinkID        INT = 0

    
-- Weapon and Shield
    
DECLARE @CodeNameWeapon        VARCHAR(64) = ''
    
DECLARE @CodeNameShield        VARCHAR(64) = ''
    
DECLARE @RefWeaponID        INT = 0
    
DECLARE @RefShieldID        INT = 0
    
DECLARE @RefWeaponLinkID    INT = 0
    
DECLARE @RefShieldLinkID    INT = 0

    
-- Check for current equipped weapon/shield
    
PRINT 'Validating equipped weapon...'
    
DECLARE @OldWeaponID INT = (SELECT ItemID FROM _Inventory WHERE CharID = @CharID AND Slot ='6')
    IF (@
OldWeaponID IS NULL OR @OldWeaponID = 0)
    
BEGIN
        RAISERROR
('Character: %s is not wearing any weapon. Sequence canceled!', 10, 1, @CharName)
        RETURN -
4
    END
    
DECLARE @RefOldWeaponID INT = (SELECT RefItemID FROM _Items WHERE ID64 = @OldWeaponID)
    DECLARE @
WPClass VARCHAR(16) = ''
    
SELECT @WPClass = 
        CASE
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 2 THEN 'SWORD'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 3 THEN 'BLADE'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 4 THEN 'SPEAR'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 5 THEN 'TBLADE'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 6 THEN 'BOW'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 7 THEN 'SWORD'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 8 THEN 'TSWORD'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 9 THEN 'AXE'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 10 THEN 'DARKSTAFF'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 11 THEN 'TSTAFF'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 12 THEN 'CROSSBOW'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 13 THEN 'DAGGER'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 14 THEN 'HARP'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND TypeID3 = 6 AND TypeID4 = 15 THEN 'STAFF'
        
END
    FROM _RefObjCommon WHERE 
[Service] = 1 AND ID = @RefOldWeaponID ORDER BY TypeID4 ASC
    
PRINT 'Weapon is: ' + @WPClass + '.'

    
-- Set no shield by default, if the weapon used is 1H, then add shield automatically.
    PRINT 
'Checking if character is using shield...'
    
DECLARE @useShield TINYINT = 0
    
IF (@WPClass = 'SWORD' OR @WPClass = 'BLADE' OR @WPClass = 'STAFF' OR @WPClass = 'DARKSTAFF')
    
BEGIN
        
PRINT '- 1H weapon is used, new shield will be added.'
        
SET @useShield = 1
    END    

    
-- Item codes (trailing codes are from itemSuffix settings above)
    PRINT 
'Validating current gear...'
    
DECLARE @OldGearID INT = (SELECT TOP (1) ItemID FROM _Inventory WHERE CharID = @CharID AND ItemID > 0 AND Slot BETWEEN 0 AND 5)
    IF (@
OldGearID IS NULL OR @OldGearID = 0)
    
BEGIN
        RAISERROR
('Character: %s is not wearing any armor. Sequence canceled!', 10, 1, @CharName)
        RETURN -
5
    END
    
DECLARE @RefOldGearID INT = (SELECT RefItemID FROM _Items WHERE ID64 = @OldGearID)
    DECLARE @
EQClass VARCHAR(10)
    
SELECT @EQClass = 
        CASE
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND (TypeID3 = 1 OR TypeID3 = 9) THEN 'CLOTHES'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND (TypeID3 = 2 OR TypeID3 = 10) THEN 'LIGHT'
            
WHEN TypeID1 = 3 AND TypeID2 = 1 AND (TypeID3 = 3 OR TypeID3 = 11) THEN 'HEAVY'
        
END
    FROM _RefObjCommon WHERE 
[Service] = 1 AND ID = @RefOldGearID ORDER BY TypeID4 ASC
    
PRINT 'Gear type is: ' + @EQClass + '.'

    
PRINT 'Setting up item codenames...'
    
-- Gears
    SET 
@CodeNameHelm    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_HA_' + @GearSuffix
    SET 
@CodeNameMail    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_BA_' + @GearSuffix
    SET 
@CodeNameShoulder    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SA_' + @GearSuffix
    SET 
@CodeNameGauntlet    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_AA_' + @GearSuffix
    SET 
@CodeNamePants    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_LA_' + @GearSuffix
    SET 
@CodeNameBoots    = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_FA_' + @GearSuffix

    
-- Accessories
    SET 
@CodeNameEarring    = 'ITEM_' + @CharRace + '_EARRING_' + @EQDegree + '_' + @GearSuffix
    SET 
@CodeNameNecklace    = 'ITEM_' + @CharRace + '_NECKLACE_' + @EQDegree + '_' + @GearSuffix
    SET 
@CodeNameRing    = 'ITEM_' + @CharRace + '_RING_' + @EQDegree + '_' + @GearSuffix

    
-- Weapon and Shield
    SET 
@CodeNameWeapon    = 'ITEM_' + @CharRace + '_' + @WPClass + '_' + @EQDegree + '_' + @GearSuffix
    SET 
@CodeNameShield    = 'ITEM_' + @CharRace + '_SHIELD_' + @EQDegree + '_' + @GearSuffix

    
-- Get Reference ID and Link ID
    
PRINT 'Getting item reference ID and link...'
    
-- Gears
    SELECT 
@RefHelmID = ID, @RefHelmLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameHelm
    SELECT 
@RefMailID = ID, @RefMailLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameMail
    SELECT 
@RefShoulderID = ID, @RefShoulderLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameShoulder
    SELECT 
@RefGauntletID = ID, @RefGauntletLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameGauntlet
    SELECT 
@RefPantsID = ID, @RefPantsLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNamePants
    SELECT 
@RefBootsID = ID, @RefBootsLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameBoots

    
-- Accessories
    SELECT 
@RefEarringID = ID, @RefEarringLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameEarring
    SELECT 
@RefNecklaceID = ID, @RefNecklaceLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameNecklace
    SELECT 
@RefRingID = ID, @RefRingLinkID = link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameRing

    
-- Weapon and Shield
    SELECT 
@RefWeaponID = ID, @RefWeaponLinkID = Link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameWeapon
    SELECT 
@RefShieldID = ID, @RefShieldLinkID = Link FROM _RefObjCommon WHERE [Service] = 1 AND CodeName128 = @CodeNameShield

    
IF (
        @
RefHelmID IS NULL OR @RefHelmID = 0 OR 
        @
RefMailID IS NULL OR @RefMailID = 0 OR 
        @
RefShoulderID IS NULL OR @RefShoulderID = 0 OR 
        @
RefGauntletID IS NULL OR @RefGauntletID = 0 OR 
        @
RefPantsID IS NULL OR @RefPantsID = 0 OR 
        @
RefBootsID IS NULL OR @RefBootsID = 0 OR 
        @
RefEarringID IS NULL OR @RefEarringID = 0 OR 
        @
RefNecklaceID IS NULL OR @RefNecklaceID = 0 OR 
        @
RefRingID IS NULL OR @RefRingID = 0 OR
        @
RefWeaponID IS NULL OR @RefWeaponID = 0 OR
        @
RefShieldID IS NULL OR @RefShieldID = 0
    
)
    
BEGIN
        RAISERROR
('Invalid item reference ID, check item codename (degree parameter or item suffix setting). Sequence canceled!', 1, 16)
        RETURN -
6
    END
    
IF (
        @
RefHelmLinkID IS NULL OR @RefHelmLinkID = 0 OR 
        @
RefMailLinkID IS NULL OR @RefMailLinkID = 0 OR 
        @
RefShoulderLinkID IS NULL OR @RefShoulderLinkID = 0 OR 
        @
RefGauntletLinkID IS NULL OR @RefGauntletLinkID = 0 OR 
        @
RefPantsLinkID IS NULL OR @RefPantsLinkID = 0 OR 
        @
RefBootsLinkID IS NULL OR @RefBootsLinkID = 0 OR 
        @
RefEarringLinkID IS NULL OR @RefEarringLinkID = 0 OR 
        @
RefNecklaceLinkID IS NULL OR @RefNecklaceLinkID = 0 OR 
        @
RefRingLinkID IS NULL OR @RefRingLinkID = 0 OR 
        @
RefWeaponLinkID IS NULL OR @RefWeaponLinkID = 0 OR 
        @
RefShieldLinkID IS NULL OR @RefShieldLinkID = 0
    
)
    
BEGIN
        RAISERROR
('Invalid link reference ID, check item codename (degree parameter or item suffix setting). Sequence canceled!', 1, 16)
        RETURN -
7
    END

    
-- Get durability for 'Data'
    
PRINT 'Getting items durability information...'
    
DECLARE @DuraHelm INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefHelmLinkID)
    DECLARE @
DuraMail INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefMailLinkID)
    DECLARE @
DuraShoulder INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefShoulderLinkID)
    DECLARE @
DuraGauntlet INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefGauntletLinkID)
    DECLARE @
DuraPants INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefPantsLinkID)
    DECLARE @
DuraBoots INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefBootsLinkID)
    DECLARE @
DuraWeapon INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefWeaponLinkID)
    DECLARE @
DuraShield INT = (SELECT Dur_L FROM _RefObjItem WHERE ID = @RefShieldLinkID)

    -- 
Sequence begin
    BEGIN TRANSACTION

        
-- Clear inventory (Just equipped items) ;)
        PRINT 
'Removing equipped items...'
        
DECLARE @TSlots INT = 0
        
DECLARE @CharSlot INT = 0
        SELECT 
@TSlots = COUNT(Slot) from _Inventory WHERE CharID = @CharID
        
WHILE @CharSlot <= @TSlots
        BEGIN
            
IF (@CharSlot < 13)
            
BEGIN
                EXEC 
[_STRG_DEL_ITEM_NoTX] 1, @CharID, @CharSlot
            END
            SET 
@CharSlot = @CharSlot + 1
        END

        
-- Add new equipment to equipment slots
        
PRINT 'Adding new items...'
        
DECLARE @HelmItemID64 BIGINT = 0
        
DECLARE @MailItemID64 BIGINT = 0
        
DECLARE @ShoulderItemID64 BIGINT = 0
        
DECLARE @GauntletItemID64 BIGINT = 0
        
DECLARE @PantsItemID64 BIGINT = 0
        
DECLARE @BootsItemID64 BIGINT = 0

        
DECLARE @EarringItemID64 BIGINT = 0
        
DECLARE @NecklaceItemID64 BIGINT = 0
        
DECLARE @RingLItemID64 BIGINT = 0
        
DECLARE @RingRItemID64 BIGINT = 0

        
DECLARE @WeaponItemID64 BIGINT = 0
        
DECLARE @ShieldItemID64 BIGINT = 0

        
-- Helm
        EXEC 
@HelmItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 0, @RefHelmID, @DuraHelm
        
IF (@HelmItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -8
        END
        
PRINT '- Helm equipped.'

        
-- Chest
        EXEC 
@MailItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 1, @RefMailID, @DuraMail
        
IF (@MailItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -9
        END
        
PRINT '- Chest equipped.'

        
-- Shoulder
        EXEC 
@ShoulderItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 2, @RefShoulderID, @DuraShoulder
        
IF (@ShoulderItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -10
        END
        
PRINT '- Shoulder equipped.'

        
-- Gauntlet
        EXEC 
@GauntletItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 3, @RefGauntletID, @DuraGauntlet
        
IF (@GauntletItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -11
        END
        
PRINT '- Gauntlet equipped.'

        
-- Pants
        EXEC 
@PantsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 4, @RefPantsID, @DuraPants
        
IF (@PantsItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -12
        END
        
PRINT '- Pants equipped.'

        
-- Boots
        EXEC 
@BootsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 5, @RefBootsID, @DuraBoots
        
IF (@BootsItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -13
        END
        
PRINT '- Boots equipped.'

        
-- Earring
        EXEC 
@EarringItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 9, @RefEarringID, 0
        
IF (@EarringItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -14
        END
        
PRINT '- Earring equipped.'

        
-- Necklace
        EXEC 
@NecklaceItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 10, @RefNecklaceID, 0
        
IF (@NecklaceItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -15
        END
        
PRINT '- Necklace equipped.'

        
-- Left Ring
        EXEC 
@RingLItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 11, @RefRingID, 0
        
IF (@RingLItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -16
        END
        
PRINT '- Left Ring equipped.'

        
-- Right Ring
        EXEC 
@RingRItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 12, @RefRingID, 0
        
IF (@RingRItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -17
        END
        
PRINT '- Right Ring equipped.'

        
-- Weapon
        EXEC 
@WeaponItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 6, @RefWeaponID, @DuraWeapon
        
IF (@WeaponItemID64 <= 0)
        
BEGIN
            
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
            
ROLLBACK TRANSACTION
            
RETURN -18
        END
        
PRINT '- Weapon equipped.'

        
-- Shield
        
IF (@useShield = 1)
        
BEGIN
            EXEC 
@ShieldItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 7, @RefShieldID, @DuraShield
            
IF (@ShieldItemID64 <= 0)
            
BEGIN
                
PRINT 'Problem when executing [_FN_ADD_INITIAL_EQUIP], canceling sequence and rolling back data...'
                
ROLLBACK TRANSACTION
                
RETURN -19
            END
            
PRINT '- Shield equipped.'
        
END

        
-- Make 100% and FB
        
-- Gears
        
PRINT 'Updating gear attributes to +' + CAST(@EQPlus AS VARCHAR(2)) + ' FB (Str/Int 7, Parry 60%, Durability 200%)'
        
UPDATE _Items SET OptLevel = @EQPlus, Variance = 34359738336, MagParamNum = 4, MagParam1 = 30064771144, MagParam2 = 30064771150, MagParam3 = 858993459290, MagParam4 = 257698037898, MagParam5 = NULL, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL WHERE ID64 = @HelmItemID64 OR ID64 = @MailItemID64 OR ID64 = @ShoulderItemID64 OR ID64 = @GauntletItemID64 OR ID64 = @PantsItemID64 OR ID64 = @BootsItemID64
        
PRINT '- Adding extra blue attributes to Chest: HP recovery/MP recovery 210%'
        
UPDATE _Items SET MagParamNum = 5, MagParam5 = 901943132463 WHERE ID64 = @MailItemID64
        UPDATE _Items 
        SET MagParamNum 
= 7, MagParam6= 2576980377748, MagParam7 = 2576980377760
         WHERE ID64 
= @MailItemID64 
        
--UPDATE _Items
        
--SET MagParamNum=7, MagParam5= 0, MagParam6= 2576980377748, MagParam7 = 2576980377760
        
--WHERE ID64 = @HelmItemID64 OR ID64 = @PantsItemID64
        
-- Accessories
        
PRINT 'Updating accessory attributes to +' + CAST(@EQPlus AS VARCHAR(2)) + ' FB (Str/Int 7, Freeze 20%, Electric Shock 20%, Burn 20%, Poison 20%, Zombie 20%)'
        
UPDATE _Items SET OptLevel = @EQPlus, Variance = 1073741823, MagParamNum = 7, MagParam1 = 30064771144, MagParam2 = 30064771150, MagParam3 = 85899346100, MagParam4 = 85899346094, MagParam5 = 85899346088, MagParam6 = 85899346106, MagParam7 = 85899346112, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL WHERE ID64 = @EarringItemID64 OR ID64 = @NecklaceItemID64 OR ID64 = @RingLItemID64 OR ID64 = @RingRItemID64
        
PRINT '- Adding extra blue attributes to Earring: CombustionProbability 50% Reduce, SleepProbability 50% Reduce'
        
UPDATE _Items SET MagParamNum = 9, MagParam8 = 214748365115, MagParam9 = 214748365139 WHERE ID64 = @EarringItemID64
        
PRINT '- Adding extra blue attributes to Necklace: StunProbability 50% Reduce'
        
UPDATE _Items SET MagParamNum = 8, MagParam8 = 47244640547 WHERE ID64 = @NecklaceItemID64
        
PRINT '- Adding extra blue attributes to Rings: DiseaseProbability 25% Reduce, FearProbability 25% Reduce'
        
UPDATE _Items SET MagParamNum = 9, MagParam8 = 107374182751, MagParam9 = 107374182727  WHERE ID64 = @RingLItemID64 OR ID64 = @RingRItemID64

        
-- Weapon
        
PRINT 'Updating weapon attributes to +' + CAST(@EQPlus AS VARCHAR(2)) + ' FB (Str/Int 7, Block 100, Attack Rate 60%, Durability 200%)'
        
UPDATE _Items SET OptLevel = @EQPlus, Variance = 34359738336, MagParamNum = 5, MagParam1 = 30064771144, MagParam2 = 30064771150, MagParam3 = 858993459290, MagParam4 = 429496729714, MagParam5 = 257698037862, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL WHERE ID64 = @WeaponItemID64
        
PRINT '- Adding extra blue attributes to Weapon: Critical 3'
        
UPDATE _Items SET MagParamNum = 6, MagParam6 = 12884902155 WHERE ID64 = @WeaponItemID64

        
-- Shield
        
IF (@ShieldItemID64 IS NOT NULL AND @ShieldItemID64 > 0)
        
BEGIN
            
PRINT 'Updating shield attributes to +' + CAST(@EQPlus AS VARCHAR(2)) + ' FB (Str/Int 7, Critical 100, Durability 200%)'
            
UPDATE _Items SET OptLevel = @EQPlus, Variance = 34359738336, MagParamNum = 4, MagParam1 = 30064771144, MagParam2 = 30064771150, MagParam3 = 858993459290, MagParam4 = 429496729726, MagParam5 = NULL, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL WHERE ID64 = @ShieldItemID64
        END

    COMMIT TRANSACTION
    
PRINT 'Sequence complete.'

RETURN 1
-- EOF 
جبلي كداا
اقتباس:
Msg 102, Level 15, State 1, Procedure _ADD_AUTOEQUIP_GEAR, Line 474
Incorrect syntax near '|'.


توقيع Spicoo :
حب ما تعمل حتي تعمل ما تحب