|
You last visited: Today at 02:39
Advertisement
Start weapon Plus
Discussion on Start weapon Plus within the SRO Private Server forum part of the Silkroad Online category.
05/18/2012, 17:43
|
#1
|
elite*gold: 0
Join Date: Aug 2009
Posts: 671
Received Thanks: 288
|
Start weapon Plus
Hello guys I want edit start weapon plus ,which procedure
Thanks
|
|
|
05/18/2012, 18:43
|
#2
|
elite*gold: 0
Join Date: Sep 2010
Posts: 783
Received Thanks: 920
|
_AddNewChar
Edit:no, _FN_ADD_INITIAL_EQUIP
Quote:
|
UPDATE _Items SET RefItemID = @RefItemID, OptLevel = 0, Variance = 0, Data = @Data WHERE ID64 = @NewItem
|
|
|
|
05/18/2012, 20:08
|
#3
|
elite*gold: 0
Join Date: Aug 2007
Posts: 337
Received Thanks: 146
|
Quote:
Originally Posted by ÑõÑ_Ŝŧóp
_AddNewChar
Edit:no, _FN_ADD_INITIAL_EQUIP
|
Possible to change the item degree aswell?
|
|
|
05/18/2012, 20:27
|
#4
|
elite*gold: 0
Join Date: Sep 2010
Posts: 783
Received Thanks: 920
|
Quote:
Originally Posted by djfisring
Possible to change the item degree aswell?
|
not database side,its gameserver.exe and sro_client.exe (but not that easy)
|
|
|
05/19/2012, 00:21
|
#5
|
elite*gold: 0
Join Date: Jul 2011
Posts: 1,058
Received Thanks: 1,118
|
You cud do it "manually" means _ADD_ITEM_EXTERN the new Degree and switch the current Degree 1 Weapons with the new added ones - @ _Inventory, Slot 0 -> 12 = Equipped stuff
0 -> Head
1 -> Suit
2 -> Shoulder
3 -> Hands
4 -> Legs
5 -> Shoes
6 -> 1st Weapon Slot
7 -> Shield/Arrows
8 -> Job Item
9 -> Earring
10 -> Necklace
11 -> Ring 1
12 -> Ring 2
|
|
|
05/19/2012, 00:38
|
#6
|
elite*gold: 0
Join Date: Apr 2011
Posts: 1,251
Received Thanks: 519
|
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
|
|
|
05/19/2012, 11:19
|
#7
|
elite*gold: 0
Join Date: Aug 2009
Posts: 671
Received Thanks: 288
|
Quote:
Originally Posted by CrazyGirL_ZSZC
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
|
Rofl I know it,it's extra start items
|
|
|
05/19/2012, 11:52
|
#8
|
elite*gold: 0
Join Date: Jul 2011
Posts: 1,189
Received Thanks: 531
|
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.
|
|
|
05/19/2012, 12:07
|
#9
|
elite*gold: 0
Join Date: Jul 2011
Posts: 1,058
Received Thanks: 1,118
|
Quote:
Originally Posted by ✗EpicSoul✗
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.
|
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
|
|
|
05/19/2012, 16:18
|
#10
|
elite*gold: 0
Join Date: Aug 2009
Posts: 671
Received Thanks: 288
|
Quote:
Originally Posted by IceAmStiel
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
|
Wow thanks for amazing query
|
|
|
All times are GMT +1. The time now is 02:44.
|
|