Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Help pls, cant setup Auto Equipped Tool from Royalblade*

Newbie Spellweaver
Joined
Nov 6, 2012
Messages
67
Reaction score
4
Hello Community, i cant setup the auto equipped system from royalblade, but it looks so easy -.-

i create the RoyalItemPoolAutoEquipment Table
i create the AutoEquipment Table,

I used this to insert my first item what i wanted to change at level 8.

INSERT INTO VSRO_SHARD.._RoyalItemPoolAutoEquipment
SELECT 1, ID, CodeName128, TypeID1, TypeID2, TypeID3, TypeID4, ReqLevel1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, CASE WHEN Country = 1 THEN 1 ELSE 0 END
FROM VSRO_SHARD.._RefObjCommon
WHERE CodeName128 = 'ITEM_CH_SWORD_02_A_RARE'

Then i level up to 8 and teleport to town, but its not worked -.-

Now i dont understand why, the code is so clean to understand. All seems fine.



USE [VSRO_SHARD]
GO
/****** Object: CREATE TABLE [dbo].[_RoyalItemPoolAutoEquipment] Script Date: 11.09.2020 00:07:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--DELETE ALL TOP, IF NOT WORK
CREATE TABLE [dbo].[_RoyalItemPoolAutoEquipment](
[service] [int] NOT NULL,
[ID] [int] NOT NULL,
[CodeName128] [varchar](129) NOT NULL,
[TypeID1] [tinyint] NOT NULL,
[TypeID2] [tinyint] NOT NULL,
[TypeID3] [tinyint] NOT NULL,
[TypeID4] [tinyint] NOT NULL,
[ReqLevel1] [tinyint] NOT NULL,
[Gender] [tinyint] NULL,
[P1] [bigint] NULL,
[P2] [bigint] NULL,
[P3] [bigint] NULL,
[P4] [bigint] NULL,
[P5] [bigint] NULL,
[P6] [bigint] NULL,
[P7] [bigint] NULL,
[P8] [bigint] NULL,
[P9] [bigint] NULL,
[MagParamNum] [tinyint] NULL,
[Va] [bigint] NULL,
[Race] [bit] NULL,
CONSTRAINT [PK__RoyalItemPoolAutoEquipment] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

USE [VSRO_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AutoEquipment] Script Date: 11.09.2020 11:26:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_AutoEquipment]
@CharID INT,
@data2 INT
AS

DECLARE @Flag INT = 0, @ID64 INT, @ReFObjID INT, @ReFItemID INT, @T1 TINYINT, @T2 TINYINT, @T3 TINYINT, @T4 TINYINT, @optLvl TINYINT, @race BIT, @Gen TINYINT;
SELECT @Gen =
CASE
WHEN RefObjID BETWEEN 1920 AND 1932
THEN 2
WHEN RefObjID <= 1919
THEN 1
WHEN RefObjID BETWEEN 14875 AND 14887
THEN 3
WHEN RefObjID BETWEEN 14888 AND 14900
THEN 4
ELSE 0
END
FROM VSRO_SHARD.._Char WITH (NOLOCK)
WHERE CharID = @CharID

SELECT @race =
CASE
WHEN @Gen IN (1,2)
THEN 0
WHEN @Gen IN (3,4)
THEN 1
ELSE NULL
END

IF @race IS NULL
RETURN;

WHILE @Flag <13
BEGIN
SELECT @ID64 = 0, @ReFItemID = 0, @ReFObjID = 0, @T1 = 0, @T2 =0, @T3 = 0, @T4 = 0
IF @Flag != 8
BEGIN
SELECT @ID64 = I.ItemID,
@ReFObjID = IT.RefItemID,
@optLvl = IT.OptLevel
FROM VSRO_SHARD.._Inventory I WITH (NOLOCK)
INNER JOIN VSRO_SHARD.._Items IT WITH (NOLOCK) ON I.ItemID = IT.ID64
WHERE I.Slot = @Flag
AND I.CharID = @CharID
AND IT.RefItemID NOT IN (62,3655, 3823, 24459, 38345, 10383, 10885,19644, 24460, 38346) -- Arrows & Bolts...

IF @ID64 != 0 AND @ReFObjID IS NOT NULL
BEGIN
SELECT @T1 = TypeID1,@T2 = TypeID2, @T3 = TypeID3, @T4 = TypeID4
FROM VSRO_SHARD.._RefObjCommon
WHERE ID = @ReFObjID

SELECT @optLvl =
CASE WHEN @optLvl >= 3
THEN @optLvl
ELSE 3
END

UPDATE VSRO_SHARD.._Items
SET RefItemID = Q.ID,
Variance = ISNULL(Q.Va, 0),
MagParam1 = Q.P1,
MagParam2 = Q.P2,
MagParam3 = Q.P3,
MagParam4 = Q.P4,
MagParam5 = Q.P5,
MagParam6 = Q.P6,
MagParam7 = Q.P7,
MagParam8 = Q.P8,
MagParam9 = Q.P9,
MagParamNum = Q.MagParamNum,
OptLevel = @optLvl
FROM (
SELECT TOP 1 ID,
P1,
P2,
P3,
P4,
P5,
P6,
P7,
P8,
P9,
Va,
CASE
WHEN P1 = 0
THEN 0
WHEN P5 = 0
THEN 4
WHEN P6 = 0
THEN 5
WHEN P7 = 0
THEN 6
WHEN P8 = 0
THEN 7
ELSE 0
END
AS MagParamNum
FROM VSRO_SHARD.._royalitempoolautoequipment P WITH (NOLOCK)
WHERE typeid1 = @T1
AND typeid2 = @T2
AND typeid3 = @T3
AND typeid4 = @T4
AND (Gender = @Gen OR Gender = 0)
AND Race = @race
AND ReqLevel1 <= @data2

ORDER BY reqlevel1 DESC
)
AS Q
WHERE ID64 = @ID64
AND ID64 != 0
AND Q.ID != 0
END
END
SET @Flag += 1
END

INSERT INTO VSRO_SHARD.._RoyalItemPoolAutoEquipment
SELECT 1, ID, CodeName128, TypeID1, TypeID2, TypeID3, TypeID4, ReqLevel1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, CASE WHEN Country = 1 THEN 1 ELSE 0 END
FROM VSRO_SHARD.._RefObjCommon
WHERE CodeName128 = 'ITEM_CH_SWORD_02_A_RARE'

Can anyone find the Mistake ?
 
Last edited:
Newbie Spellweaver
Joined
Nov 6, 2012
Messages
67
Reaction score
4
I really need help at this situation, i cant analyze the problem. The Code is written so nice, but i dont know why my weapon not updated after level 8 when i teleport back to city ...

the update function not working for me.. but all looks great, i totaly understand this code.

really someone should check it pls :))))))
 
Last edited:
Upvote 0
Back
Top