|
You last visited: Today at 12:29
Advertisement
Auto-Equipment and Servertime on Homepage ?
Discussion on Auto-Equipment and Servertime on Homepage ? within the SRO Private Server forum part of the Silkroad Online category.
01/02/2016, 03:24
|
#1
|
elite*gold: 329
Join Date: Feb 2014
Posts: 196
Received Thanks: 15
|
Auto-Equipment and Servertime on Homepage ?
Hey guys,
as the title already say's im looking for a working Auto-Equipment System from D1-D9 (Seal of Star, Max Blue, +5)
Also im looking for a php code to add the servertime to a homepage.
I will pay for it.
kind regards,
-dope
|
|
|
01/02/2016, 04:04
|
#2
|
elite*gold: 0
Join Date: Jun 2012
Posts: 239
Received Thanks: 26
|
GOOGLE IT
copy paste the code after pressing generate
as for auto equip i have no idea can't help :c
|
|
|
01/02/2016, 19:42
|
#3
|
elite*gold: 135
Join Date: Mar 2012
Posts: 182
Received Thanks: 80
|
Code:
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
Please note that i copied it so its better to check it before using it on your server.
|
|
|
02/03/2017, 12:46
|
#4
|
elite*gold: 0
Join Date: Jul 2013
Posts: 475
Received Thanks: 308
|
Msg 208, Level 16, State 6, Procedure _ADD_AUTOEQUIP_GEAR, Line 465
Invalid object name 'dbo._ADD_AUTOEQUIP_GEAR'.
Quote:
Originally Posted by DesperadoM
Code:
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
Please note that i copied it so its better to check it before using it on your server.
|
error
Msg 208, Level 16, State 6, Procedure _ADD_AUTOEQUIP_GEAR, Line 465
Invalid object name 'dbo._ADD_AUTOEQUIP_GEAR'.
|
|
|
02/03/2017, 21:59
|
#5
|
elite*gold: 0
Join Date: Sep 2016
Posts: 30
Received Thanks: 13
|
Hello therock2007e,
This error is just pure english, if you went to that row number, you will find "ALTER PROCEDURE", instead, just change ALTER to CREATE and you will be fine.
note: if there are any similar errors, it will be related to database names, you should append them as well (if there are any).
Edit: @ , for the server time, here is a simple example using Javascript + php
in index.php, include jquery.min as:
HTML Code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
on top of page
then:
HTML Code:
<span id="clock"></span>
<script>
loadclock();
function loadclock() {
$('#clock').load('clock.php'); }
window.setInterval(function(){
loadclock();
}, 1000);
</script>
the clock.php will include:
PHP Code:
<?php $date = date('H:i:s', time()); echo '<span class="clock">  '. $date .'</span>';
?>
Best,
Abner.
|
|
|
02/17/2017, 01:46
|
#6
|
elite*gold: 0
Join Date: Feb 2017
Posts: 8
Received Thanks: 3
|
Quote:
Originally Posted by "Abner"
Hello therock2007e,
This error is just pure english, if you went to that row number, you will find "ALTER PROCEDURE", instead, just change ALTER to CREATE and you will be fine.
note: if there are any similar errors, it will be related to database names, you should append them as well (if there are any).
Edit: @ , for the server time, here is a simple example using Javascript + php
in index.php, include jquery.min as:
HTML Code:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
on top of page
then:
HTML Code:
<span id="clock"></span>
<script>
loadclock();
function loadclock() {
$('#clock').load('clock.php'); }
window.setInterval(function(){
loadclock();
}, 1000);
</script>
the clock.php will include:
PHP Code:
<?php $date = date('H:i:s', time()); echo '<span class="clock">  '. $date .'</span>'; ?>
Best,
Abner.
|
Oh dude, using ajax that way is a bad idea ( although it's just time printing, because it's not about it it's about the requests ).
You could type a bit longer script - but more efficient.
You can even do that with no ajax usage, like that:
PHP Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> var serverTime = ''; var seconds = 0; // updates the server time function updateServerTime() { function updateProcess() { function addZero(timeType) { if(timeType < 10) { timeType = '0' + timeType; } return timeType; } //$('#servertime').load('updateTime.php'); if(serverTime == '') { var data = $('#servertime').html(); serverTime = data; serverTime = serverTime.replace('-', ':'); serverTime = serverTime.replace('-', ':'); serverTime = serverTime.replace(' ', ':'); serverTimeArr = serverTime.split(':'); seconds = serverTimeArr[5]; } else { var serverTimeObject = new Date(); serverTimeObject.setFullYear(serverTimeArr[0]); serverTimeObject.setMonth(serverTimeArr[1] - 1); serverTimeObject.setDate(serverTimeArr[2]); serverTimeObject.setHours(serverTimeArr[3]); serverTimeObject.setMinutes(serverTimeArr[4]); seconds++; serverTimeObject.setSeconds(seconds); var serverYear = serverTimeObject.getFullYear(); var serverYear = addZero(serverYear); var serverMonth = 1 + serverTimeObject.getMonth(); var serverMonth = addZero(serverMonth); var serverDay = serverTimeObject.getDate(); var serverDay = addZero(serverDay); var serverHours = serverTimeObject.getHours(); var serverHours = addZero(serverHours); var serverMinutes = serverTimeObject.getMinutes(); var serverMinutes = addZero(serverMinutes); var serverSeconds = serverTimeObject.getSeconds(); var serverSeconds = addZero(serverSeconds); serverTime = serverYear +'-'+ serverMonth +'-'+ serverDay +' '+ serverHours +':'+ serverMinutes +':'+ serverSeconds; $('#servertime').html(serverTime); } } var timeinit = setInterval(function(){ updateProcess(); },1001); } $( document ).ready(function() { updateServerTime(); }); </script> <span id="servertime"><?php echo date("Y-m-d H:i:s"); ?></span>
|
|
|
Similar Threads
|
Maul-Online D11 / Auto System / Auto Equipment / Uniuqe Rank / Auto Event Fun
01/26/2015 - SRO PServer Advertising - 5 Replies
Welcome to Maul-Online official thread!
I'm proud to finally present to you the server we spent long time
working hard on just to keep it well-established
Maul-Online online is based on Vsro files
Server Will lunched 22/01/2015
Server : Online
We Are Here To Represent To You A Server Which Is The Best Old School Server
With The Old iSro Features .
|
Maul-Online D11 / Auto System / Auto Equipment / Uniuqe Rank / Auto Event Fun
01/25/2015 - SRO PServer Advertising - 51 Replies
http://i.epvpimg.com/pcfKe.jpg
Welcome to Maul-Online official
I'm proud to finally present to you the server we spent long time thread!
working hard on just to keep it well-established
Online-Online online is based on Vsro files
Server is lunched 22/01/2015
Server time : Online
http://i.epvpimg.com/V53Ge.png
|
All times are GMT +1. The time now is 12:29.
|
|