Query To ADD GM Gear && Donate Edition Too
العنوان من موضوعه اسف ان معظم كلامى بالانجليزى بس عشان انا متعود عليه و بستخدمه كل يوم فى الفيس المدرسة و الشغل الخ الخ الخ المهم ان العربى بتاعى عقيم شواية بس خالينا فى الموضوع
و انا بقلب فى الداتا لقيت Producer اسمها
ADDGMGEAR
انا بصراحة كنت شفتها اقبل كده بس الاسم المرادى شدنى و قررت ادخل اترجمها كلها و فهمت فعلا منها كتير او فهمتها كلها و ازاى شغالة
بس هى اهم حاجة فيها تشتغل انها تتاكد انك GM
انا بقا هافك الحماية ديه و اديلك Producer نضيفة تستعملها لما تحب تخالى واحد فى السيرفير دوانتور
هينزل نسختين واحد ل Dg11 و التانية لاى Dg تانى
و كمان هانزل ازاى تعدل عليها عشان الى هيستخدمها فى الدوانتى يبقى عارف هو بيدى الشخصيات ايه
بسم الله الرحمن الرحيم الكويرى من غير تعديلات خالص هاتلاقيها عندك و عشان تشغلها للGM بس تعمل ديه
كود:
EXEC [_ADD_GM_GEAR] 'CharName', 'CharWeapon', 'CharSetType', 'Dg', '++'
تمام ندخل فى التعديلات بقا
ديه نسخة الاى Dg غير Dg11
كود:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_ADD_GM_GEAR] Script Date: 6/8/2015 8:13:54 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[_Donate_27md]
@CharName AS VARCHAR(64),
@WPClass AS VARCHAR(16),
@EQClass AS VARCHAR(16),
@EQDegree AS VARCHAR(2),
@EQPlus AS tinyINT
AS
-- Check if character exist
DECLARE @isCharExist tinyINT
EXEC @isCharExist = [_IsExistingCharName] @CharNameToCheck = @CharName
if (@isCharExist = 0)
BEGIN
RAISERROR('Character does not exist: %s', 1, 16, @CharName)
RETURN -1
END
-- Check character and account related information (In relation with SRO_VT_ACCOUNT)
DECLARE @CharID INT
DECLARE @RefCharID INT
DECLARE @UserJID INT
DECLARE @GMLevel INT
DECLARE @AccountName VARCHAR(32)
-- Check if character assigned to 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, character is not assigned to any user accounts: %s', 1, 16, @CharName)
RETURN -2
END
-- Check character gender and race
DECLARE @CharGender VARCHAR(1)
DECLARE @CharRace VARCHAR(2)
IF (@RefCharID <= 14887 AND @RefCharID >= 14875) -- European Male
BEGIN
SET @CharGender = 'M'
SET @CharRace = 'EU'
END
IF (@RefCharID <= 14900 AND @RefCharID >= 14888) -- European Female
BEGIN
SET @CharGender = 'W'
SET @CharRace = 'EU'
END
IF (@RefCharID <= 1919 AND @RefCharID >= 1907) -- Chinesse Male
BEGIN
SET @CharGender = 'M'
SET @CharRace = 'CH'
END
IF (@RefCharID <= 1932 AND @RefCharID >= 1920) -- Chinesse Female
BEGIN
SET @CharGender = 'W'
SET @CharRace = 'CH'
END
-- Setting up equipment
-- Gears
DECLARE @CodeNameHelm VARCHAR(256)
DECLARE @CodeNameMail VARCHAR(256)
DECLARE @CodeNameShoulder VARCHAR(256)
DECLARE @CodeNameGauntlet VARCHAR(256)
DECLARE @CodeNamePants VARCHAR(256)
DECLARE @CodeNameBoots VARCHAR(256)
DECLARE @RefHelmID INT
DECLARE @RefMailID INT
DECLARE @RefShoulderID INT
DECLARE @RefGauntletID INT
DECLARE @RefPantsID INT
DECLARE @RefBootsID INT
DECLARE @RefHelmLinkID INT
DECLARE @RefMailLinkID INT
DECLARE @RefShoulderLinkID INT
DECLARE @RefGauntletLinkID INT
DECLARE @RefPantsLinkID INT
DECLARE @RefBootsLinkID INT
DECLARE @DuraHelm INT
DECLARE @DuraMail INT
DECLARE @DuraShoulder INT
DECLARE @DuraGauntlet INT
DECLARE @DuraPants INT
DECLARE @DuraBoots INT
-- Accessories
DECLARE @CodeNameEarring VARCHAR(256)
DECLARE @CodeNameNecklace VARCHAR(256)
DECLARE @CodeNameRing VARCHAR(256)
DECLARE @RefEarringID INT
DECLARE @RefNecklaceID INT
DECLARE @RefRingID INT
DECLARE @RefEarringLinkID INT
DECLARE @RefNecklaceLinkID INT
DECLARE @RefRingLinkID INT
-- Weapon and Shield
DECLARE @CodeNameWeapon VARCHAR(256)
DECLARE @CodeNameShield VARCHAR(256)
DECLARE @RefWeaponID INT
DECLARE @RefShieldID INT
DECLARE @RefWeaponLinkID INT
DECLARE @RefShieldLinkID INT
-- Item codes (FEEL FREE TO CHANGE THESE)
-- Gears
SET @CodeNameHelm = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_HA_B_RARE'
SET @CodeNameMail = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_BA_B_RARE'
SET @CodeNameShoulder = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SA_B_RARE'
SET @CodeNameGauntlet = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_AA_B_RARE'
SET @CodeNamePants = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_LA_B_RARE'
SET @CodeNameBoots = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_FA_B_RARE'
-- Accessories
SET @CodeNameEarring = 'ITEM_' + @CharRace + '_EARRING_' + @EQDegree + '_B_RARE'
SET @CodeNameNecklace = 'ITEM_' + @CharRace + '_NECKLACE_' + @EQDegree + '_B_RARE'
SET @CodeNameRing = 'ITEM_' + @CharRace + '_RING_' + @EQDegree + '_B_RARE'
-- Weapon and Shield
SET @CodeNameWeapon = 'ITEM_' + @CharRace + '_' + @WPClass + '_' + @EQDegree + '_B_RARE'
SET @CodeNameShield = 'ITEM_' + @CharRace + '_SHIELD_' + @EQDegree + '_B_RARE'
-- Get Reference ID and Link ID
-- Gears
SELECT @RefHelmID = ID, @RefHelmLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameHelm
SELECT @RefMailID = ID, @RefMailLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameMail
SELECT @RefShoulderID = ID, @RefShoulderLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameShoulder
SELECT @RefGauntletID = ID, @RefGauntletLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameGauntlet
SELECT @RefPantsID = ID, @RefPantsLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNamePants
SELECT @RefBootsID = ID, @RefBootsLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameBoots
-- Accessories
SELECT @RefEarringID = ID, @RefEarringLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameEarring
SELECT @RefNecklaceID = ID, @RefNecklaceLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameNecklace
SELECT @RefRingID = ID, @RefRingLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameRing
-- Weapon and Shield
SELECT @RefWeaponID = ID, @RefWeaponLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameWeapon
SELECT @RefShieldID = ID, @RefShieldLinkID = link FROM [_RefObjCommon] WHERE 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.', 1, 16)
RETURN -4
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.', 1, 16)
RETURN -5
END
-- Get durability for 'Data'
SELECT @DuraHelm = Dur_L from [_RefObjItem] WHERE ID = @RefHelmLinkID
SELECT @DuraMail = Dur_L from [_RefObjItem] WHERE ID = @RefMailLinkID
SELECT @DuraShoulder = Dur_L from [_RefObjItem] WHERE ID = @RefShoulderLinkID
SELECT @DuraGauntlet = Dur_L from [_RefObjItem] WHERE ID = @RefGauntletLinkID
SELECT @DuraPants = Dur_L from [_RefObjItem] WHERE ID = @RefPantsLinkID
SELECT @DuraBoots = Dur_L from [_RefObjItem] WHERE ID = @RefBootsLinkID
-- Clear inventory (Just equipped items) ;)
-- Update: will only clear equipped items only, so you don't have to take them off
-- New weapon and shield will be added to inventory, not replacing old ones
DECLARE @TSlots INT
DECLARE @CharSlot INT
SET @CharSlot = 0
SELECT @TSlots = COUNT(Slot) from _Inventory WHERE CharID = @CharID
WHILE @CharSlot <= @TSlots
BEGIN
IF (@CharSlot < 6 OR (@CharSlot > 7 AND @CharSlot < 13))
BEGIN
EXEC [_STRG_DEL_ITEM_NoTX] 1, @CharID, @CharSlot
END
SET @CharSlot = @CharSlot + 1
END
-- Start adding items to equipment slots
BEGIN TRANSACTION
-- Add other stuff (make sure they're exist in database and Media)
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_REVERSE_RETURN_SCROLL', 10, 0
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_RETURN_SCROLL_HIGH_SPEED', 10, 0
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_CHAR_SKIN_CHANGE_SCROLL', 1, 0
DECLARE @HelmItemID64 BIGINT
DECLARE @MailItemID64 BIGINT
DECLARE @ShoulderItemID64 BIGINT
DECLARE @GauntletItemID64 BIGINT
DECLARE @PantsItemID64 BIGINT
DECLARE @BootsItemID64 BIGINT
DECLARE @EarringItemID64 BIGINT
DECLARE @NecklaceItemID64 BIGINT
DECLARE @RingLItemID64 BIGINT
DECLARE @RingRItemID64 BIGINT
DECLARE @WeaponItemID64 BIGINT
DECLARE @ShieldItemID64 BIGINT
SET @HelmItemID64 = 0
SET @MailItemID64 = 0
SET @ShoulderItemID64 = 0
SET @GauntletItemID64 = 0
SET @PantsItemID64 = 0
SET @BootsItemID64 = 0
SET @EarringItemID64 = 0
SET @NecklaceItemID64 = 0
SET @RingLItemID64 = 0
SET @RingRItemID64 = 0
SET @WeaponItemID64 = 0
SET @ShieldItemID64 = 0
EXEC @HelmItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 0, @RefHelmID, @DuraHelm
IF (@HelmItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END
EXEC @MailItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 1, @RefMailID, @DuraMail
IF (@MailItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -5
END
EXEC @ShoulderItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 2, @RefShoulderID, @DuraShoulder
IF (@ShoulderItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -6
END
EXEC @GauntletItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 3, @RefGauntletID, @DuraGauntlet
IF (@GauntletItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -7
END
EXEC @PantsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 4, @RefPantsID, @DuraPants
IF (@PantsItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
EXEC @BootsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 5, @RefBootsID, @DuraBoots
IF (@BootsItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
EXEC @EarringItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 9, @RefEarringID, 0
IF (@EarringItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
EXEC @NecklaceItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 10, @RefNecklaceID, 0
IF (@NecklaceItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
EXEC @RingLItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 11, @RefRingID, 0
IF (@RingLItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
EXEC @RingRItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 12, @RefRingID, 0
IF (@RingRItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
EXEC @WeaponItemID64 = [_ADD_ITEM_EXTERN] @CharName, @CodeNameWeapon, 1, 0
IF (@WeaponItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -14
END
EXEC @ShieldItemID64 = [_ADD_ITEM_EXTERN] @CharName, @CodeNameShield, 1, 0
IF (@ShieldItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
-- Make 100% and FB
-- Gears
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
-- Accessories
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
-- Weapon
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
-- Shield
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
-- Set other attributes
UPDATE _Char SET RemainGold = 1000000000, RemainSkillPoint = 10000000, InventorySize = 109 WHERE _Char.CharID = @CharID
COMMIT TRANSACTION
RETURN 1
-- EOF
و ديه ل Dg11
كود:
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_ADD_GM_GEAR] Script Date: 6/8/2015 8:13:54 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[_Donate_27md]
@CharName AS VARCHAR(64),
@WPClass AS VARCHAR(16),
@EQClass AS VARCHAR(16),
@EQPlus AS tinyINT
AS
-- Check if character exist
DECLARE @isCharExist tinyINT
EXEC @isCharExist = [_IsExistingCharName] @CharNameToCheck = @CharName
if (@isCharExist = 0)
BEGIN
RAISERROR('Character does not exist: %s', 1, 16, @CharName)
RETURN -1
END
-- Check character and account related information (In relation with SRO_VT_ACCOUNT)
DECLARE @CharID INT
DECLARE @RefCharID INT
DECLARE @UserJID INT
DECLARE @GMLevel INT
DECLARE @AccountName VARCHAR(32)
DECLARE @EQDegree VARCHAR(2) SET @EQDegree = '11'
-- Check if character assigned to 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, character is not assigned to any user accounts: %s', 1, 16, @CharName)
RETURN -2
END
-- Check character gender and race
DECLARE @CharGender VARCHAR(1)
DECLARE @CharRace VARCHAR(2)
IF (@RefCharID <= 14887 AND @RefCharID >= 14875) -- European Male
BEGIN
SET @CharGender = 'M'
SET @CharRace = 'EU'
END
IF (@RefCharID <= 14900 AND @RefCharID >= 14888) -- European Female
BEGIN
SET @CharGender = 'W'
SET @CharRace = 'EU'
END
IF (@RefCharID <= 1919 AND @RefCharID >= 1907) -- Chinesse Male
BEGIN
SET @CharGender = 'M'
SET @CharRace = 'CH'
END
IF (@RefCharID <= 1932 AND @RefCharID >= 1920) -- Chinesse Female
BEGIN
SET @CharGender = 'W'
SET @CharRace = 'CH'
END
-- Setting up equipment
-- Gears
DECLARE @CodeNameHelm VARCHAR(256)
DECLARE @CodeNameMail VARCHAR(256)
DECLARE @CodeNameShoulder VARCHAR(256)
DECLARE @CodeNameGauntlet VARCHAR(256)
DECLARE @CodeNamePants VARCHAR(256)
DECLARE @CodeNameBoots VARCHAR(256)
DECLARE @RefHelmID INT
DECLARE @RefMailID INT
DECLARE @RefShoulderID INT
DECLARE @RefGauntletID INT
DECLARE @RefPantsID INT
DECLARE @RefBootsID INT
DECLARE @RefHelmLinkID INT
DECLARE @RefMailLinkID INT
DECLARE @RefShoulderLinkID INT
DECLARE @RefGauntletLinkID INT
DECLARE @RefPantsLinkID INT
DECLARE @RefBootsLinkID INT
DECLARE @DuraHelm INT
DECLARE @DuraMail INT
DECLARE @DuraShoulder INT
DECLARE @DuraGauntlet INT
DECLARE @DuraPants INT
DECLARE @DuraBoots INT
-- Accessories
DECLARE @CodeNameEarring VARCHAR(256)
DECLARE @CodeNameNecklace VARCHAR(256)
DECLARE @CodeNameRing VARCHAR(256)
DECLARE @RefEarringID INT
DECLARE @RefNecklaceID INT
DECLARE @RefRingID INT
DECLARE @RefEarringLinkID INT
DECLARE @RefNecklaceLinkID INT
DECLARE @RefRingLinkID INT
-- Weapon and Shield
DECLARE @CodeNameWeapon VARCHAR(256)
DECLARE @CodeNameShield VARCHAR(256)
DECLARE @RefWeaponID INT
DECLARE @RefShieldID INT
DECLARE @RefWeaponLinkID INT
DECLARE @RefShieldLinkID INT
-- Item codes (FEEL FREE TO CHANGE THESE)
-- Gears
SET @CodeNameHelm = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_HA_B_RARE'
SET @CodeNameMail = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_BA_B_RARE'
SET @CodeNameShoulder = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_SA_B_RARE'
SET @CodeNameGauntlet = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_AA_B_RARE'
SET @CodeNamePants = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_LA_B_RARE'
SET @CodeNameBoots = 'ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '_SET_FA_B_RARE'
-- Accessories
SET @CodeNameEarring = 'ITEM_' + @CharRace + '_EARRING_' + @EQDegree + '_SET_B_RARE'
SET @CodeNameNecklace = 'ITEM_' + @CharRace + '_NECKLACE_' + @EQDegree + '_SET_B_RARE'
SET @CodeNameRing = 'ITEM_' + @CharRace + '_RING_' + @EQDegree + '_SET_B_RARE'
-- Weapon and Shield
SET @CodeNameWeapon = 'ITEM_' + @CharRace + '_' + @WPClass + '_' + @EQDegree + '_SET_B_RARE'
SET @CodeNameShield = 'ITEM_' + @CharRace + '_SHIELD_' + @EQDegree + '_SET_B_RARE'
-- Get Reference ID and Link ID
-- Gears
SELECT @RefHelmID = ID, @RefHelmLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameHelm
SELECT @RefMailID = ID, @RefMailLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameMail
SELECT @RefShoulderID = ID, @RefShoulderLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameShoulder
SELECT @RefGauntletID = ID, @RefGauntletLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameGauntlet
SELECT @RefPantsID = ID, @RefPantsLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNamePants
SELECT @RefBootsID = ID, @RefBootsLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameBoots
-- Accessories
SELECT @RefEarringID = ID, @RefEarringLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameEarring
SELECT @RefNecklaceID = ID, @RefNecklaceLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameNecklace
SELECT @RefRingID = ID, @RefRingLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameRing
-- Weapon and Shield
SELECT @RefWeaponID = ID, @RefWeaponLinkID = link FROM [_RefObjCommon] WHERE CodeName128 = @CodeNameWeapon
SELECT @RefShieldID = ID, @RefShieldLinkID = link FROM [_RefObjCommon] WHERE 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.', 1, 16)
RETURN -4
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.', 1, 16)
RETURN -5
END
-- Get durability for 'Data'
SELECT @DuraHelm = Dur_L from [_RefObjItem] WHERE ID = @RefHelmLinkID
SELECT @DuraMail = Dur_L from [_RefObjItem] WHERE ID = @RefMailLinkID
SELECT @DuraShoulder = Dur_L from [_RefObjItem] WHERE ID = @RefShoulderLinkID
SELECT @DuraGauntlet = Dur_L from [_RefObjItem] WHERE ID = @RefGauntletLinkID
SELECT @DuraPants = Dur_L from [_RefObjItem] WHERE ID = @RefPantsLinkID
SELECT @DuraBoots = Dur_L from [_RefObjItem] WHERE ID = @RefBootsLinkID
-- Clear inventory (Just equipped items) ;)
-- Update: will only clear equipped items only, so you don't have to take them off
-- New weapon and shield will be added to inventory, not replacing old ones
DECLARE @TSlots INT
DECLARE @CharSlot INT
SET @CharSlot = 0
SELECT @TSlots = COUNT(Slot) from _Inventory WHERE CharID = @CharID
WHILE @CharSlot <= @TSlots
BEGIN
IF (@CharSlot < 6 OR (@CharSlot > 7 AND @CharSlot < 13))
BEGIN
EXEC [_STRG_DEL_ITEM_NoTX] 1, @CharID, @CharSlot
END
SET @CharSlot = @CharSlot + 1
END
-- Start adding items to equipment slots
BEGIN TRANSACTION
-- Add other stuff (make sure they're exist in database and Media)
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_REVERSE_RETURN_SCROLL', 10, 0
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_RETURN_SCROLL_HIGH_SPEED', 10, 0
EXEC [_ADD_ITEM_EXTERN] @CharName, 'ITEM_MALL_CHAR_SKIN_CHANGE_SCROLL', 1, 0
DECLARE @HelmItemID64 BIGINT
DECLARE @MailItemID64 BIGINT
DECLARE @ShoulderItemID64 BIGINT
DECLARE @GauntletItemID64 BIGINT
DECLARE @PantsItemID64 BIGINT
DECLARE @BootsItemID64 BIGINT
DECLARE @EarringItemID64 BIGINT
DECLARE @NecklaceItemID64 BIGINT
DECLARE @RingLItemID64 BIGINT
DECLARE @RingRItemID64 BIGINT
DECLARE @WeaponItemID64 BIGINT
DECLARE @ShieldItemID64 BIGINT
SET @HelmItemID64 = 0
SET @MailItemID64 = 0
SET @ShoulderItemID64 = 0
SET @GauntletItemID64 = 0
SET @PantsItemID64 = 0
SET @BootsItemID64 = 0
SET @EarringItemID64 = 0
SET @NecklaceItemID64 = 0
SET @RingLItemID64 = 0
SET @RingRItemID64 = 0
SET @WeaponItemID64 = 0
SET @ShieldItemID64 = 0
EXEC @HelmItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 0, @RefHelmID, @DuraHelm
IF (@HelmItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END
EXEC @MailItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 1, @RefMailID, @DuraMail
IF (@MailItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -5
END
EXEC @ShoulderItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 2, @RefShoulderID, @DuraShoulder
IF (@ShoulderItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -6
END
EXEC @GauntletItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 3, @RefGauntletID, @DuraGauntlet
IF (@GauntletItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -7
END
EXEC @PantsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 4, @RefPantsID, @DuraPants
IF (@PantsItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
EXEC @BootsItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 5, @RefBootsID, @DuraBoots
IF (@BootsItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
EXEC @EarringItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 9, @RefEarringID, 0
IF (@EarringItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
EXEC @NecklaceItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 10, @RefNecklaceID, 0
IF (@NecklaceItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
EXEC @RingLItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 11, @RefRingID, 0
IF (@RingLItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
EXEC @RingRItemID64 = [_FN_ADD_INITIAL_EQUIP] @CharID, 12, @RefRingID, 0
IF (@RingRItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
EXEC @WeaponItemID64 = [_ADD_ITEM_EXTERN] @CharName, @CodeNameWeapon, 1, 0
IF (@WeaponItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -14
END
EXEC @ShieldItemID64 = [_ADD_ITEM_EXTERN] @CharName, @CodeNameShield, 1, 0
IF (@ShieldItemID64 <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
-- Make 100% and FB
-- Gears
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
-- Accessories
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
-- Weapon
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
-- Shield
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
-- Set other attributes
UPDATE _Char SET RemainGold = 1000000000, RemainSkillPoint = 10000000, InventorySize = 109 WHERE _Char.CharID = @CharID
COMMIT TRANSACTION
RETURN 1
-- EOF
المهم هاتشغل بتاعت اى Dg ب ديه
كود:
EXEC [_Donate_27md] 'CharName', 'CharWeapon', 'CharSetType', 'Dg', '++'
و بتاعت Dg11 ب ديه
كود:
EXEC [_Donate_27md] 'CharName', 'CharWeapon', 'CharSetType', '++'
طيب تمام بص شايف الكود ده
كود:
ITEM_' + @CharRace + '_' + @CharGender + '_' + @EQClass + '_' + @EQDegree + '
اعمل عليه سيرش فى الProducer بتاعتك
هاتلاقى الاكواد بتاعت الايتمز مرصوصة اقدامك لو انت ليك تعديل او كده ضيفه يعنى مثلا الدوانتر فى Layers بياخد Legend وفى Layers الLegend كوده B_RARE_LAYER
انت بقا تظبط مع حاجات السيرفير بتاعك
و دور على ديه
كود:
ITEM_MALL_CHAR_SKIN_CHANGE_SCROLL
هاتلاقيه بيدى ايتمز زيادة شوف هاتنفعك ولا لا لو لا شيل ال3 اسطر الى فيهم الحاجات ديه
و اخيرا هو بيدى FB و بيدى جولد و حاجات
لو عايز تحدد الحاجات ديه
كود:
-- Set other attributes
دور عليها و عدل الحاجات ديه و الى فوقيها ده الFB لو عايز تشيله شيله بس اكيد مفيش دوانتى فى سيرفير من غير FB :mf_bond:
كده اكون خلصت دورى فى ازاى تعدلها و كده Enjoy
|