Hello guys I want edit start weapon plus ,which procedure
Thanks
Thanks
Quote:
UPDATE _Items SET RefItemID = @RefItemID, OptLevel = 0, Variance = 0, Data = @Data WHERE ID64 = @NewItem
Rofl I know it,it's extra start itemsQuote:
u just need to go to AddNewChar then scroll down to end , u will see the start items will be like this ITEM_EU_DARKSTAFF_11_SET_B_RARE 0 , 0
first 0 how many items u wanna add , like scrolls if u edit the first 0 to 20 they will get 20 scrolls
secound 0 is the plus of item , thats as i remember , i hope i helped u
Yup, e.g.Quote:
you could always make a if query for starting items. for example
if sword gets chosen, they will get a sword in their inventory. not spamming their inventory with items.
Declare
@BasicWCode varchar(max), @Race varchar(max), @CharName varchar(max),
@WeaponType varchar(max), @Degree varchar(max), @WeaponCodeName varchar(max),
@SOX varchar(max), @Gender varchar(max), @BasicGearCode varchar(max),
@GearType varchar(max), @SuitCodeName varchar(max), @LegsCodeName varchar(max),
@ShoesCodeName varchar(max), @ShieldYN int, @ShieldCodeName varchar(max),
@Plus int;
SET @CharName = 'Lukhach_HP16' /*Already defined @ Add_New_Char*/
SET @Degree = '01' /*1st Degree on default*/
SET @SOX = 'C' /*SUN*/
SET @Plus = 9 /*e.g.*/
SET @Gender = (
CASE
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1907) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1919))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14875) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14887))
THEN 'M'
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1920) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1932))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14888) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14900))
THEN 'W'
ELSE NULL
END
);
SET @Race = (
CASE
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1907) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1919))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1920) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1932))
THEN 'CH'
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14875) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14887))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14888) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14900))
THEN 'EU'
ELSE NULL
END
);
SET @BasicWCode =
(
SELECT TOP 1 ref.CodeName128 FROM _RefObjCommon
JOIN _Char as chart on @CharName = chart.CharName16
JOIN _Inventory as invent on chart.CharID = invent.CharID
JOIN _Items as items on invent.ItemID = items.ID64
JOIN _RefObjCommon as ref on items.RefItemID = ref.ID
WHERE invent.Slot = 6 /* = Weapon */ AND chart.CharName16 = @CharName
)
SET @WeaponType =
(
SELECT SUBSTRING(@BasicWCode,PATINDEX('%'+@Race+'%',@BasicWCode)+3,(PATINDEX('%'+@Degree+'%',@BasicWCode)-1)-(PATINDEX('%'+@Race+'%',@BasicWCode)+3))
);
SET @WeaponCodeName = 'ITEM_'+@Race+'_'+@WeaponType+'_'+@Degree+'_'+@SOX+'_'+'RARE'
SET @ShieldYN = 0
IF (@WeaponType = 'SWORD' OR @WeaponType = 'BLADE' OR @WeaponType = 'STAFF' OR @WeaponType = 'DARKSTAFF')
begin
SET @ShieldCodeName = 'ITEM_'+@Race+'_SHIELD_'+@Degree+'_'+@SOX+'_RARE'
SET @ShieldYN = 1
exec _ADD_ITEM_EXTERN @CharName,@ShieldCodeName,1,@Plus
end
SET @BasicGearCode =
(
SELECT TOP 1 ref.CodeName128 FROM _RefObjCommon
JOIN _Char as chart on @CharName = chart.CharName16
JOIN _Inventory as invent on chart.CharID = invent.CharID
JOIN _Items as items on invent.ItemID = items.ID64
JOIN _RefObjCommon as ref on items.RefItemID = ref.ID
WHERE invent.Slot = 1 /* = Suit */ AND chart.CharName16 = @CharName
);
SET @GearType =
(
SELECT SUBSTRING(@BasicGearCode,PATINDEX('%'+@Gender+'%',@BasicGearCode)+2,(PATINDEX('%'+@Degree+'%',@BasicGearCode)-1)-(PATINDEX('%'+@Gender+'%',@BasicGearCode)+2))
);
SET @SuitCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_BA_'+@SOX+'_'+'RARE'
SET @LegsCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_LA_'+@SOX+'_'+'RARE'
SET @ShoesCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_FA_'+@SOX+'_'+'RARE'
exec _ADD_ITEM_EXTERN @CharName,@WeaponCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@SuitCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@LegsCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@ShoesCodeName,1,@Plus
Wow thanks for amazing queryQuote:
Yup, e.g.
PHP Code:Declare
@BasicWCode varchar(max), @Race varchar(max), @CharName varchar(max),
@WeaponType varchar(max), @Degree varchar(max), @WeaponCodeName varchar(max),
@SOX varchar(max), @Gender varchar(max), @BasicGearCode varchar(max),
@GearType varchar(max), @SuitCodeName varchar(max), @LegsCodeName varchar(max),
@ShoesCodeName varchar(max), @ShieldYN int, @ShieldCodeName varchar(max),
@Plus int;
SET @CharName = 'Lukhach_HP16' /*Already defined @ Add_New_Char*/
SET @Degree = '01' /*1st Degree on default*/
SET @SOX = 'C' /*SUN*/
SET @Plus = 9 /*e.g.*/
SET @Gender = (
CASE
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1907) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1919))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14875) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14887))
THEN 'M'
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1920) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1932))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14888) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14900))
THEN 'W'
ELSE NULL
END
);
SET @Race = (
CASE
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1907) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1919))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 1920) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 1932))
THEN 'CH'
WHEN (((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14875) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14887))
OR
(((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) >= 14888) AND ((SELECT RefObjID FROM _Char WHERE CharName16 like @CharName) <= 14900))
THEN 'EU'
ELSE NULL
END
);
SET @BasicWCode =
(
SELECT TOP 1 ref.CodeName128 FROM _RefObjCommon
JOIN _Char as chart on @CharName = chart.CharName16
JOIN _Inventory as invent on chart.CharID = invent.CharID
JOIN _Items as items on invent.ItemID = items.ID64
JOIN _RefObjCommon as ref on items.RefItemID = ref.ID
WHERE invent.Slot = 6 /* = Weapon */ AND chart.CharName16 = @CharName
)
SET @WeaponType =
(
SELECT SUBSTRING(@BasicWCode,PATINDEX('%'+@Race+'%',@BasicWCode)+3,(PATINDEX('%'+@Degree+'%',@BasicWCode)-1)-(PATINDEX('%'+@Race+'%',@BasicWCode)+3))
);
SET @WeaponCodeName = 'ITEM_'+@Race+'_'+@WeaponType+'_'+@Degree+'_'+@SOX+'_'+'RARE'
SET @ShieldYN = 0
IF (@WeaponType = 'SWORD' OR @WeaponType = 'BLADE' OR @WeaponType = 'STAFF' OR @WeaponType = 'DARKSTAFF')
begin
SET @ShieldCodeName = 'ITEM_'+@Race+'_SHIELD_'+@Degree+'_'+@SOX+'_RARE'
SET @ShieldYN = 1
exec _ADD_ITEM_EXTERN @CharName,@ShieldCodeName,1,@Plus
end
SET @BasicGearCode =
(
SELECT TOP 1 ref.CodeName128 FROM _RefObjCommon
JOIN _Char as chart on @CharName = chart.CharName16
JOIN _Inventory as invent on chart.CharID = invent.CharID
JOIN _Items as items on invent.ItemID = items.ID64
JOIN _RefObjCommon as ref on items.RefItemID = ref.ID
WHERE invent.Slot = 1 /* = Suit */ AND chart.CharName16 = @CharName
);
SET @GearType =
(
SELECT SUBSTRING(@BasicGearCode,PATINDEX('%'+@Gender+'%',@BasicGearCode)+2,(PATINDEX('%'+@Degree+'%',@BasicGearCode)-1)-(PATINDEX('%'+@Gender+'%',@BasicGearCode)+2))
);
SET @SuitCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_BA_'+@SOX+'_'+'RARE'
SET @LegsCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_LA_'+@SOX+'_'+'RARE'
SET @ShoesCodeName = 'ITEM_'+@Race+'_'+@Gender+'_'+@GearType+'_'+@Degree+'_FA_'+@SOX+'_'+'RARE'
exec _ADD_ITEM_EXTERN @CharName,@WeaponCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@SuitCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@LegsCodeName,1,@Plus
exec _ADD_ITEM_EXTERN @CharName,@ShoesCodeName,1,@Plus