ط§ظ„ط¨ظ‚ط§ط، ظ…ط³ط¬ظ„ ط¯ط§ط¦ظ…ط¢
ط§ظ„ط¥ط¹ظ„ط§ظ†ط§طھ
قديم 01-05-2015, 04:54 PM   #1

merazz012
عضو لامع



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


• الانـتـسـاب » Jun 2008
• رقـم العـضـويـة » 23523
• المشـــاركـات » 1,200
• الـدولـة »
• الـهـوايـة » Dev>DataBase>PK2
• اسـم الـسـيـرفـر » Pavo
• الـجـنـس » Male
• نقـاط التقييم » 15
merazz012 صـاعـد

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



افتراضي Auto Equipment



any idea ? about this system ?!

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

there is dead links ?!


توقيع merazz012 :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]


إعلانات google

قديم 03-05-2015, 01:28 AM   #2

merazz012
عضو لامع



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


• الانـتـسـاب » Jun 2008
• رقـم العـضـويـة » 23523
• المشـــاركـات » 1,200
• الـدولـة »
• الـهـوايـة » Dev>DataBase>PK2
• اسـم الـسـيـرفـر » Pavo
• الـجـنـس » Male
• نقـاط التقييم » 15
merazz012 صـاعـد

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



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



الموضوع لو قعد 60 سنه محدش هيرد

بسم الله مشاء الله علي المشرفين :D

##


توقيع merazz012 :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]


قديم 04-05-2015, 05:45 AM   #3

awful1337
عضو مميز



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


• الانـتـسـاب » Feb 2013
• رقـم العـضـويـة » 109928
• المشـــاركـات » 666
• الـدولـة » Masr_El_Dor_Tane
• الـهـوايـة » Dev
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 17
awful1337 صـاعـد

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


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

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



كود:
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
جرب ده شغاله 1-9 d
sun +7 stats 100%


توقيع awful1337 :
هناك أشياء لا نريد أن يحدث ولكن يجب أن تقبل، الأشياء التي لا تريد أن تعرف ولكن يجب أن نتعلم، ونحن شعب لا يمكن ان يعيش بدون .. ولكن يجب أن ندعها تفلت من أيدينا ..


قديم 04-05-2015, 05:45 AM   #4

awful1337
عضو مميز



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


• الانـتـسـاب » Feb 2013
• رقـم العـضـويـة » 109928
• المشـــاركـات » 666
• الـدولـة » Masr_El_Dor_Tane
• الـهـوايـة » Dev
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 17
awful1337 صـاعـد

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


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

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



كود:
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
جرب ده شغاله 1-9 d
sun +7 stats 100%
علي فكره ده chin+eur مش chin بس
ل ايتم شغاله chin و eur


توقيع awful1337 :
هناك أشياء لا نريد أن يحدث ولكن يجب أن تقبل، الأشياء التي لا تريد أن تعرف ولكن يجب أن نتعلم، ونحن شعب لا يمكن ان يعيش بدون .. ولكن يجب أن ندعها تفلت من أيدينا ..


قديم 04-05-2015, 12:37 PM   #5

Hamza FiGo



الصورة الرمزية Hamza FiGo

مـديـر عـام

• الانـتـسـاب » Dec 2007
• رقـم العـضـويـة » 6993
• المشـــاركـات » 7,032
• الـدولـة » Cairo
• الـهـوايـة » Helping ppl
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 92
Hamza FiGo جـيـد

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


إرسال رسالة عبر Yahoo إلى Hamza FiGo

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



اقتباس:
المشاركة الأصلية كتبت بواسطة merazz012 عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
الموضوع لو قعد 60 سنه محدش هيرد

بسم الله مشاء الله علي المشرفين :D

##
احنا بشر يعني ولينا حياتنا الشخصية بردة

##


توقيع Hamza FiGo :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] || عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] || عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]


موضوع مغلق


يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر)
 

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
Auto Equipment: NEW Hamza FiGo قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة 12 28-07-2023 01:54 AM
auto equipment loaymoataz123 قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 4 15-04-2017 10:21 PM
Auto Equipment loverslove قسم المواضيع المكررة و المخالفة 16 29-04-2016 10:40 PM
auto equipment loverslove قسم المواضيع المكررة و المخالفة 12 03-04-2016 07:27 PM
Auto Equipment ! ™XerK™ قسم المواضيع المكررة و المخالفة 20 09-07-2014 09:39 AM


الساعة الآن 01:30 PM.