Register for your free account! | Forgot your password?

You last visited: Today at 08:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Skill Point Scroll not working

Discussion on Skill Point Scroll not working within the SRO PServer Questions & Answers forum part of the SRO Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2021
Posts: 6
Received Thanks: 1
Skill Point Scroll not working

Hi all!

Does anyone know how I can fix Skill point scroll? When trying to use the item it says the item is unusable. However CanUse is set to 1 in _RefObjCommon



I am willing to pay for a working solution. I am only interested in making the original item work as it should. No custom items that also teleport the player and use procedures to update the SP.

Thanks in advance and have a good day
berzerkfun is offline  
Old 08/26/2021, 13:07   #2
 
Judgelemental's Avatar
 
elite*gold: 0
Join Date: Aug 2013
Posts: 1,541
Received Thanks: 842
Quote:
Originally Posted by berzerkfun View Post
Hi all!

Does anyone know how I can fix Skill point scroll? When trying to use the item it says the item is unusable. However CanUse is set to 1 in _RefObjCommon



I am willing to pay for a working solution. I am only interested in making the original item work as it should. No custom items that also teleport the player and use procedures to update the SP.

Thanks in advance and have a good day
Use DB2PK2 tool then import the files into the client.
This usually happens when the refobjcommon ID doesn't match the itemdata one.
Judgelemental is offline  
Thanks
1 User
Old 08/26/2021, 13:45   #3

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,780
I checked into this for fun tonight, and it doesn't look possible. VSRO 188 doesn't seem to contain the logic handler to use that item, so that's why you get "The selected item is unusable" error. I believe the "CanUse" field just means can you right click to use it, which is why you can right click to use it, but the game server is failing to actually use it, as opposed to you just not being able to right click it (with like arrows, for example)

GameServer
Code:
0049BA65 | 0FB700                  | movzx eax, word ptr [eax] | 0x61EC for ITEM_EVENT_RENT_SKILLPOINT_SCROLL  
0049BA68 | C1E8 0B                 | shr eax, 0xB | eax => TypeID4 [12 for ITEM_EVENT_RENT_SKILLPOINT_SCROLL]  
0049BA6B | 83C0 FF                 | add eax, 0xFFFFFFFF | 0 based switch table, so subtract 1  
0049BA6E | 83F8 0A                 | cmp eax, 0xA | highest value handled is really TypeID4 <= 11  
0049BA71 | 0F87 CB070000           | ja 0x49C242 | item unusable error handler
0049BA77 | FF2485 68C24900         | jmp dword ptr [eax*4+0x49C268]
I tracked down the problem to be that logic handler for item use. TypeID4 is being checked to select which logic handler to run. However, a handler for any TypeID4 above 11 is not implemented, so it doesn't know how to use the item. If you change the JA to JMP, any item that is used from this section of the code becomes unusable, so it was pretty easy to put things together.

If you run the query
Code:
SELECT 
	Service, Id, CodeName128, DescStrID128, CashItem, TypeID1, TypeID2, TypeID3, TypeID4
FROM _RefObjCommon
where 
	TypeID1 = 3 and
	TypeID2 = 3 and
	TypeID3 = 3 
order by TypeID4
You'll end up with the following list of items to verify the logic handlers for:
Code:
Service	Id	CodeName128	DescStrID128	CashItem	TypeID1	TypeID2	TypeID3	TypeID4
1	61	ITEM_ETC_SCROLL_RETURN_01	SN_ITEM_ETC_SCROLL_RETURN_01_TT_DESC	0	3	3	3	1
1	2128	ITEM_ETC_SCROLL_RETURN_THIEFDEN_01	SN_ITEM_ETC_SCROLL_RETURN_THIEFDEN_01_TT_DESC	0	3	3	3	1
1	2198	ITEM_ETC_SCROLL_RETURN_02	SN_ITEM_ETC_SCROLL_RETURN_02_TT_DESC	0	3	3	3	1
1	2199	ITEM_ETC_SCROLL_RETURN_03	SN_ITEM_ETC_SCROLL_RETURN_03_TT_DESC	0	3	3	3	1
1	3661	ITEM_ETC_E041225_SANTA_WINGS	SN_ITEM_ETC_E041225_SANTA_WINGS_TT_DESC	0	3	3	3	1
1	3769	ITEM_MALL_RETURN_SCROLL_HIGH_SPEED	SN_ITEM_MALL_RETURN_SCROLL_HIGH_SPEED_TT_DESC	1	3	3	3	1
1	10505	ITEM_QNO_CA_POTION_1_01	SN_ITEM_QNO_CA_POTION_1_01_TT_DESC	0	3	3	3	1
1	24448	ITEM_EVENT_RETURN_SCROLL_HIGH_SPEED	SN_ITEM_MALL_RETURN_SCROLL_HIGH_SPEED_TT_DESC	0	3	3	3	1
0	24545	ITEM_ETC_SCROLL_RETURN_03_BASIC	SN_ITEM_ETC_SCROLL_RETURN_03_BASIC_TT_DESC	0	3	3	3	1
1	9233	ITEM_QNO_WC_SMITH_3_02	SN_ITEM_QNO_WC_SMITH_3_02_TT_DESC	0	3	3	3	1
1	10382	ITEM_ETC_SCROLL_RETURN_NEWBIE_01	SN_ITEM_ETC_SCROLL_RETURN_NEWBIE_01_TT_DESC	0	3	3	3	1
0	38302	ITEM_PRE_MALL_RETURN_SCROLL_HIGH_SPEED	SN_ITEM_MALL_RETURN_SCROLL_HIGH_SPEED_TT_DESC	1	3	3	3	1
0	38668	ITEM_PRE_COS_C_OSTRICH_SCROLL	SN_ITEM_COS_C_OSTRICH_SCROLL_TT_DESC	1	3	3	3	2
0	38669	ITEM_PRE_COS_C_PEGASUS_SCROLL	SN_ITEM_COS_C_PEGASUS_SCROLL_TT_DESC	1	3	3	3	2
0	38670	ITEM_PRE_COS_C_TIGER_SCROLL	SN_ITEM_COS_C_TIGER_SCROLL_TT_DESC	1	3	3	3	2
0	38671	ITEM_PRE_COS_C_WILDPIG_SCROLL	SN_ITEM_COS_C_WILDPIG_SCROLL_TT_DESC	1	3	3	3	2
0	38672	ITEM_PRE_COS_C_SCARABAEUS_SCROLL	SN_ITEM_COS_C_SCARABAEUS_SCROLL_TT_DESC	1	3	3	3	2
0	38673	ITEM_PRE_COS_C_DRACO_SCROLL	SN_ITEM_COS_C_DRACO_SCROLL_TT_DESC	1	3	3	3	2
0	38674	ITEM_PRE_COS_C_SEAHORSE_SCROLL	SN_ITEM_COS_C_SEAHORSE_SCROLL_TT_DESC	1	3	3	3	2
0	38675	ITEM_PRE_COS_T_WHITEELEPHANT_SCROLL	SN_ITEM_COS_T_WHITEELEPHANT_SCROLL_TT_DESC	1	3	3	3	2
0	38676	ITEM_PRE_COS_T_RHINOCEROS_SCROLL	SN_ITEM_COS_T_RHINOCEROS_SCROLL_TT_DESC	1	3	3	3	2
0	38677	ITEM_PRE_COS_T_BUFFALO_SCROLL	SN_ITEM_COS_T_BUFFALO_SCROLL_TT_DESC	1	3	3	3	2
0	38678	ITEM_PRE_COS_T_SCORPION_SCROLL	SN_ITEM_COS_T_SCORPION_SCROLL_TT_DESC	1	3	3	3	2
1	38817	ITEM_EVENT_COS_C_SCARABAEUS_SCROLL	SN_ITEM_COS_C_SCARABAEUS_SCROLL_TT_DESC	0	3	3	3	2
1	38818	ITEM_EVENT_COS_C_WILDPIG_SCROLL	SN_ITEM_COS_C_WILDPIG_SCROLL_TT_DESC	0	3	3	3	2
1	38819	ITEM_EVENT_COS_C_OSTRICH_SCROLL	SN_ITEM_COS_C_OSTRICH_SCROLL_TT_DESC	0	3	3	3	2
1	38820	ITEM_EVENT_COS_C_PEGASUS_SCROLL	SN_ITEM_COS_C_PEGASUS_SCROLL_TT_DESC	0	3	3	3	2
1	38821	ITEM_EVENT_COS_C_RUDOLPH	SN_ITEM_COS_C_RUDOLPH_TT_DESC	0	3	3	3	2
1	38822	ITEM_EVENT_COS_C_UNICORN	SN_ITEM_COS_C_UNICORN_TT_DESC	0	3	3	3	2
0	36765	ITEM_COS_P_FORTRESS_CATAPULT	SN_ITEM_COS_P_FORTRESS_CATAPULT_TT_DESC	0	3	3	3	2
0	36766	ITEM_COS_P_FORTRESS_BATTERING	SN_ITEM_COS_P_FORTRESS_BATTERING_TT_DESC	0	3	3	3	2
0	10384	ITEM_COS_T_TEMP1	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	24994	ITEM_EVENT_COS_T_WHITEELEPHANT_SCROLL	SN_ITEM_COS_T_WHITEELEPHANT_SCROLL_TT_DESC	0	3	3	3	2
1	24338	ITEM_COS_C_DRACO	SN_ITEM_COS_C_DRACO_TT_DESC	0	3	3	3	2
1	3664	ITEM_ETC_AUTOMOB	SN_ITEM_ETC_AUTOMOB_TT_DESC	0	3	3	3	2
1	3903	ITEM_COS_T_DHORSE1	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3904	ITEM_COS_T_DHORSE2	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3905	ITEM_COS_T_DHORSE3	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3906	ITEM_COS_T_COW1	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3907	ITEM_COS_T_COW2	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3908	ITEM_COS_T_COW3	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	3909	ITEM_COS_C_DHORSE1	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	3910	ITEM_COS_C_DHORSE2	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	3911	ITEM_COS_C_DHORSE3	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2129	ITEM_COS_T_DONKEY	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2130	ITEM_COS_T_HORSE1	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2131	ITEM_COS_T_HORSE2	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2132	ITEM_COS_T_HORSE3	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2133	ITEM_COS_T_CAMEL1	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2134	ITEM_COS_T_CAMEL2	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2135	ITEM_COS_T_CAMEL3	SN_ITEM_COS_T_TT_DESC	0	3	3	3	2
1	2136	ITEM_COS_C_DONKEY	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2137	ITEM_COS_C_HORSE1	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2138	ITEM_COS_C_HORSE2	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2139	ITEM_COS_C_HORSE3	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2140	ITEM_COS_C_CAMEL1	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2141	ITEM_COS_C_CAMEL2	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	2142	ITEM_COS_C_CAMEL3	SN_ITEM_COS_C_TT_DESC	0	3	3	3	2
1	19559	ITEM_COS_C_RUDOLPH	SN_ITEM_COS_C_RUDOLPH_TT_DESC	0	3	3	3	2
1	19646	ITEM_COS_T_LIZARD	SN_ITEM_COS_T_FORT_TT_DESC	0	3	3	3	2
1	19647	ITEM_COS_T_BEHEMOTH	SN_ITEM_COS_T_FORT_TT_DESC	0	3	3	3	2
1	22720	ITEM_COS_C_UNICORN	SN_ITEM_COS_C_UNICORN_TT_DESC	0	3	3	3	2
1	22932	ITEM_COS_C_OSTRICH_SCROLL	SN_ITEM_COS_C_OSTRICH_SCROLL_TT_DESC	1	3	3	3	2
1	22933	ITEM_COS_C_PEGASUS_SCROLL	SN_ITEM_COS_C_PEGASUS_SCROLL_TT_DESC	1	3	3	3	2
1	22934	ITEM_COS_T_WHITEELEPHANT_SCROLL	SN_ITEM_COS_T_WHITEELEPHANT_SCROLL_TT_DESC	1	3	3	3	2
1	22935	ITEM_COS_T_RHINOCEROS_SCROLL	SN_ITEM_COS_T_RHINOCEROS_SCROLL_TT_DESC	1	3	3	3	2
1	23277	ITEM_COS_C_TIGER_SCROLL	SN_ITEM_COS_C_TIGER_SCROLL_TT_DESC	1	3	3	3	2
1	23338	ITEM_COS_C_WILDPIG_SCROLL	SN_ITEM_COS_C_WILDPIG_SCROLL_TT_DESC	1	3	3	3	2
1	23339	ITEM_COS_C_SCARABAEUS_SCROLL	SN_ITEM_COS_C_SCARABAEUS_SCROLL_TT_DESC	1	3	3	3	2
0	23340	ITEM_COS_C_DRACO_SCROLL	SN_ITEM_COS_C_DRACO_SCROLL_TT_DESC	1	3	3	3	2
0	23341	ITEM_COS_C_SEAHORSE_SCROLL	SN_ITEM_COS_C_SEAHORSE_SCROLL_TT_DESC	1	3	3	3	2
1	23342	ITEM_COS_T_BUFFALO_SCROLL	SN_ITEM_COS_T_BUFFALO_SCROLL_TT_DESC	1	3	3	3	2
0	23343	ITEM_COS_T_SCORPION_SCROLL	SN_ITEM_COS_T_SCORPION_SCROLL_TT_DESC	1	3	3	3	2
1	9230	ITEM_QNO_WC_FERRY2_1_01	SN_ITEM_QNO_WC_FERRY2_1_01_TT_DESC	0	3	3	3	3
1	3795	ITEM_MALL_REVERSE_RETURN_SCROLL	SN_ITEM_MALL_REVERSE_RETURN_SCROLL_TT_DESC	1	3	3	3	3
1	24449	ITEM_EVENT_REVERSE_RETURN_SCROLL	SN_ITEM_MALL_REVERSE_RETURN_SCROLL_TT_DESC	0	3	3	3	3
1	36772	ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL	SN_ITEM_MALL_REVERSE_RETURN_SCROLL_TT_DESC	0	3	3	3	3
0	38303	ITEM_PRE_MALL_REVERSE_RETURN_SCROLL	SN_ITEM_MALL_REVERSE_RETURN_SCROLL_TT_DESC	1	3	3	3	3
0	38563	ITEM_PRE_MALL_BOOTH_MOB_MANGYANG	SN_ITEM_MALL_BOOTH_MOB_MANGYANG_TT_DESC	1	3	3	3	4
0	38564	ITEM_PRE_MALL_BOOTH_MOB_BIGEYEGHOST	SN_ITEM_MALL_BOOTH_MOB_BIGEYEGHOST_TT_DESC	1	3	3	3	4
0	38565	ITEM_PRE_MALL_BOOTH_MOB_EARTHGHOST	SN_ITEM_MALL_BOOTH_MOB_EARTHGHOST_TT_DESC	1	3	3	3	4
0	38566	ITEM_PRE_MALL_BOOTH_SPECIAL_MONSTER_01	SN_ITEM_MALL_BOOTH_SPECIAL_MONSTER_01_TT_DESC	1	3	3	3	4
1	3847	ITEM_MALL_BOOTH_MOB_MANGYANG	SN_ITEM_MALL_BOOTH_MOB_MANGYANG_TT_DESC	1	3	3	3	4
1	3848	ITEM_MALL_BOOTH_MOB_BIGEYEGHOST	SN_ITEM_MALL_BOOTH_MOB_BIGEYEGHOST_TT_DESC	1	3	3	3	4
1	3849	ITEM_MALL_BOOTH_MOB_EARTHGHOST	SN_ITEM_MALL_BOOTH_MOB_EARTHGHOST_TT_DESC	1	3	3	3	4
1	3850	ITEM_MALL_BOOTH_SPECIAL_MONSTER_01	SN_ITEM_MALL_BOOTH_SPECIAL_MONSTER_01_TT_DESC	1	3	3	3	4
1	3851	ITEM_MALL_GLOBAL_CHATTING	SN_ITEM_MALL_GLOBAL_CHATTING_TT_DESC	1	3	3	3	5
0	38591	ITEM_PRE_MALL_GLOBAL_CHATTING	SN_ITEM_MALL_GLOBAL_CHATTING_TT_DESC	1	3	3	3	5
1	33887	ITEM_EVENT_RENT_GLOBAL_CHATTING	SN_ITEM_MALL_GLOBAL_CHATTING_TT_DESC	0	3	3	3	5
1	35592	ITEM_EVENT_GLOBAL_CHATTING	SN_ITEM_MALL_GLOBAL_CHATTING_TT_DESC	0	3	3	3	5
0	24544	ITEM_ETC_GLOBAL_CHATTING_BASIC	SN_ITEM_ETC_GLOBAL_CHATTING_BASIC_TT_DESC	0	3	3	3	5
1	10588	ITEM_FORT_TABLET_HANGA_GOLD	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19661	ITEM_FORT_TABLET_WHITETIGER_SILVER	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19662	ITEM_FORT_TABLET_HYEONGCHEON_SILVER	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19663	ITEM_FORT_TABLET_MUJIGI_SILVER	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19664	ITEM_FORT_TABLET_KYKLOPES_SILVER	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19665	ITEM_FORT_TABLET_BATTLEGOLEM_SILVER	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19666	ITEM_FORT_TABLET_TAESE_GOLD	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19667	ITEM_FORT_TABLET_BIGSPIDER_GOLD	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19668	ITEM_FORT_TABLET_HAGIAZO_GOLD	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19669	ITEM_FORT_TABLET_DARKEAGLE_GOLD	SN_ITEM_FORT_TABLET_MONSTER_TT_DESC	0	3	3	3	6
1	19670	ITEM_COS_GUARD_CH_BOW_01	SN_ITEM_COS_GUARD_CH_BOW_01_TT_DESC	0	3	3	3	7
1	19671	ITEM_COS_GUARD_CH_SPEAR_02	SN_ITEM_COS_GUARD_CH_SPEAR_02_TT_DESC	0	3	3	3	7
1	19672	ITEM_COS_GUARD_CH_BOW_02	SN_ITEM_COS_GUARD_CH_BOW_02_TT_DESC	0	3	3	3	7
1	19673	ITEM_COS_GUARD_IS_DAGGER_01	SN_ITEM_COS_GUARD_IS_DAGGER_01_TT_DESC	0	3	3	3	7
1	19674	ITEM_COS_GUARD_IS_CAKRAM_01	SN_ITEM_COS_GUARD_IS_CAKRAM_01_TT_DESC	0	3	3	3	7
1	19675	ITEM_COS_GUARD_IS_DAGGER_02	SN_ITEM_COS_GUARD_IS_DAGGER_02_TT_DESC	0	3	3	3	7
1	19676	ITEM_COS_GUARD_IS_CAKRAM_02	SN_ITEM_COS_GUARD_IS_CAKRAM_02_TT_DESC	0	3	3	3	7
1	19677	ITEM_COS_GUARD_EU_SPEAR_01	SN_ITEM_COS_GUARD_EU_SPEAR_01_TT_DESC	0	3	3	3	7
1	19678	ITEM_COS_GUARD_EU_BOW_01	SN_ITEM_COS_GUARD_EU_BOW_01_TT_DESC	0	3	3	3	7
1	19679	ITEM_COS_GUARD_EU_SPEAR_02	SN_ITEM_COS_GUARD_EU_SPEAR_02_TT_DESC	0	3	3	3	7
1	19680	ITEM_COS_GUARD_EU_BOW_02	SN_ITEM_COS_GUARD_EU_BOW_02_TT_DESC	0	3	3	3	7
1	10589	ITEM_COS_GUARD_CH_SPEAR_01	SN_ITEM_COS_GUARD_CH_SPEAR_01_TT_DESC	0	3	3	3	7
1	10590	ITEM_FORT_MANUAL_BATTLECAMP	SN_ITEM_FORT_MANUAL_BATTLECAMP_TT_DESC	0	3	3	3	8
1	10591	ITEM_FORT_MANUAL_BARRICADE	SN_ITEM_FORT_MANUAL_BARRICADE_TT_DESC	0	3	3	3	8
1	10592	ITEM_FORT_AGGRESSIVE_FLAG	SN_ITEM_FORT_AGGRESSIVE_FLAG_TT_DESC	0	3	3	3	9
1	39323	ITEM_FORT_AGGRESSIVE_FLAG_UP	SN_ITEM_FORT_AGGRESSIVE_FLAG_UP_TT_DESC	0	3	3	3	9
1	39324	ITEM_FORT_DEFENSIVE_FLAG_UP	SN_ITEM_FORT_DEFENSIVE_FLAG_UP_TT_DESC	0	3	3	3	9
1	19681	ITEM_FORT_DEFENSIVE_FLAG	SN_ITEM_FORT_DEFENSIVE_FLAG_TT_DESC	0	3	3	3	9
1	19682	ITEM_FORT_HEALING_FLAG	SN_ITEM_FORT_HEALING_FLAG_TT_DESC	0	3	3	3	9
0	19683	ITEM_FORT_PANIC_FLAG	SN_ITEM_FORT_PANIC_FLAG_TT_DESC	0	3	3	3	9
0	19684	ITEM_FORT_BLUNTING_FLAG	SN_ITEM_FORT_BLUNTING_FLAG_TT_DESC	0	3	3	3	9
1	23938	ITEM_ETC_INCREASE_HWAN_TIME_01	SN_ITEM_ETC_INCREASE_HWAN_TIME_01_TT_DESC	0	3	3	3	10
1	23939	ITEM_ETC_INCREASE_HWAN_TIME_02	SN_ITEM_ETC_INCREASE_HWAN_TIME_02_TT_DESC	0	3	3	3	10
1	23940	ITEM_ETC_INCREASE_HWAN_TIME_03	SN_ITEM_ETC_INCREASE_HWAN_TIME_03_TT_DESC	0	3	3	3	10
1	23941	ITEM_ETC_INCREASE_HWAN_TIME_04	SN_ITEM_ETC_INCREASE_HWAN_TIME_04_TT_DESC	0	3	3	3	10
0	23942	ITEM_ETC_INCREASE_HWAN_TIME_05	SN_ITEM_ETC_INCREASE_HWAN_TIME_05_TT_DESC	0	3	3	3	10
0	23943	ITEM_ETC_INCREASE_HWAN_TIME_06	SN_ITEM_ETC_INCREASE_HWAN_TIME_06_TT_DESC	0	3	3	3	10
1	24169	ITEM_ETC_INTERNAL_100EXP_SCROLL	SN_ITEM_ETC_INTERNAL_100EXP_SCROLL_TT_DESC	0	3	3	3	10
1	24170	ITEM_ETC_INTERNAL_150EXP_SCROLL	SN_ITEM_ETC_INTERNAL_150EXP_SCROLL_TT_DESC	0	3	3	3	10
1	24171	ITEM_ETC_INTERNAL_100SP_SCROLL	SN_ITEM_ETC_INTERNAL_100SP_SCROLL_TT_DESC	0	3	3	3	10
1	24172	ITEM_ETC_INTERNAL_150SP_SCROLL	SN_ITEM_ETC_INTERNAL_150SP_SCROLL_TT_DESC	0	3	3	3	10
1	24332	ITEM_ETC_E080723_SKILL_EXP_20	SN_ITEM_ETC_E080723_SKILL_EXP_20_TT_DESC	0	3	3	3	10
1	24333	ITEM_ETC_E080723_SKILL_EXP_15	SN_ITEM_ETC_E080723_SKILL_EXP_15_TT_DESC	0	3	3	3	10
1	24334	ITEM_ETC_E080723_SKILL_EXP_10	SN_ITEM_ETC_E080723_SKILL_EXP_10_TT_DESC	0	3	3	3	10
1	24335	ITEM_ETC_E080723_SKILL_EXP_5	SN_ITEM_ETC_E080723_SKILL_EXP_5_TT_DESC	0	3	3	3	10
1	24434	ITEM_ETC_EVENT_30EXP_090121	SN_ITEM_ETC_EVENT_30EXP_090121_TT_DESC	0	3	3	3	10
1	24435	ITEM_ETC_EVENT_20EXP_090121	SN_ITEM_ETC_EVENT_20EXP_090121_TT_DESC	0	3	3	3	10
1	24436	ITEM_ETC_EVENT_10EXP_090121	SN_ITEM_ETC_EVENT_10EXP_090121_TT_DESC	0	3	3	3	10
1	24437	ITEM_ETC_EVENT_30SP_090121	SN_ITEM_ETC_EVENT_30SP_090121_TT_DESC	0	3	3	3	10
1	24438	ITEM_ETC_EVENT_20SP_090121	SN_ITEM_ETC_EVENT_20SP_090121_TT_DESC	0	3	3	3	10
1	24439	ITEM_ETC_EVENT_10SP_090121	SN_ITEM_ETC_EVENT_10SP_090121_TT_DESC	0	3	3	3	10
1	24488	ITEM_EVENT_30EXP	SN_ITEM_EVENT_30EXP_TT_DESC	0	3	3	3	10
1	24489	ITEM_EVENT_30SP	SN_ITEM_EVENT_30SP_TT_DESC	0	3	3	3	10
0	24546	ITEM_ETC_E080723_SKILL_EXP_10_BASIC	SN_ITEM_ETC_E080723_SKILL_EXP_10_BASIC_TT_DESC	0	3	3	3	10
1	24696	ITEM_ETC_INTERNAL_50EXP_SCROLL	SN_ITEM_ETC_INTERNAL_50EXP_SCROLL_TT_DESC	0	3	3	3	10
1	24697	ITEM_ETC_INTERNAL_50SP_SCROLL	SN_ITEM_ETC_INTERNAL_50SP_SCROLL_TT_DESC	0	3	3	3	10
1	35739	ITEM_EVENT_20EXP	SN_ITEM_EVENT_20EXP_TT_DESC	0	3	3	3	10
1	25871	ITEM_ETC_E090825_LAMP_10EXP	SN_ITEM_ETC_E090825_LAMP_TT_DESC	0	3	3	3	10
1	25872	ITEM_ETC_E090825_LAMP_10SP	SN_ITEM_ETC_E090825_LAMP_TT_DESC	0	3	3	3	10
1	24995	ITEM_FORT_SCROLL_TAESE	SN_ITEM_FORT_SCROLL_TT_DESC	0	3	3	3	11
1	24996	ITEM_FORT_SCROLL_BATTLEGOLEM	SN_ITEM_FORT_SCROLL_TT_DESC	0	3	3	3	11
1	24997	ITEM_FORT_SCROLL_HYEONGCHEON	SN_ITEM_FORT_SCROLL_TT_DESC	0	3	3	3	11
1	24998	ITEM_FORT_SCROLL_MUJIGI	SN_ITEM_FORT_SCROLL_TT_DESC	0	3	3	3	11
1	29418	ITEM_MALL_SKILLPOINT_SCROLL	SN_ITEM_MALL_SKILLPOINT_SCROLL_TT_DESC	1	3	3	3	12
0	35779	ITEM_EVENT_SKILLPOINT_SCROLL	SN_ITEM_MALL_SKILLPOINT_SCROLL_TT_DESC	0	3	3	3	12
1	36771	ITEM_EVENT_RENT_SKILLPOINT_SCROLL	SN_ITEM_MALL_SKILLPOINT_SCROLL_TT_DESC	0	3	3	3	12
0	38734	ITEM_PRE_MALL_SKILLPOINT_SCROLL	SN_ITEM_MALL_SKILLPOINT_SCROLL_TT_DESC	1	3	3	3	12
0	39285	ITEM_MALL_SERVER_CHANGE_SCROLL	SN_ITEM_MALL_SERVER_CHANGE_SCROLL_TT_DESC	1	3	3	3	13
0	39304	ITEM_PRE_MALL_SERVER_CHANGE_SCROLL	SN_ITEM_MALL_SERVER_CHANGE_SCROLL_TT_DESC	1	3	3	3	13
0	38296	ITEM_PRE_MALL_OPTLEVEL_UPGRADE_SCROLL_1	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_1_TT_DESC	1	3	3	3	14
0	38297	ITEM_PRE_MALL_OPTLEVEL_UPGRADE_SCROLL_2	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_2_TT_DESC	1	3	3	3	14
0	38298	ITEM_PRE_MALL_OPTLEVEL_UPGRADE_SCROLL_3	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_3_TT_DESC	1	3	3	3	14
1	39364	ITEM_EVENT_OPTLEVEL_UPGRADE_SCROLL_1	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_1_TT_DESC	0	3	3	3	14
1	39365	ITEM_EVENT_OPTLEVEL_UPGRADE_SCROLL_2	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_2_TT_DESC	0	3	3	3	14
1	39366	ITEM_EVENT_OPTLEVEL_UPGRADE_SCROLL_3	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_3_TT_DESC	0	3	3	3	14
0	36782	ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_1	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_1_TT_DESC	1	3	3	3	14
0	36783	ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_2	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_2_TT_DESC	1	3	3	3	14
0	36784	ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_3	SN_ITEM_MALL_OPTLEVEL_UPGRADE_SCROLL_3_TT_DESC	1	3	3	3	14
0	36935	ITEM_MALL_PREMIUM_QUEST_TICKET	SN_ITEM_MALL_PREMIUM_QUEST_TICKET_TT_DESC	1	3	3	3	15
0	38623	ITEM_PRE_MALL_PREMIUM_QUEST_TICKET	SN_ITEM_MALL_PREMIUM_QUEST_TICKET_TT_DESC	1	3	3	3	15
So for example, ITEM_MALL_GLOBAL_CHATTING has a TypeID4 of 5. If you were to breakpoint in the GameServer at 0x49BA6E when using a global chat item, EAX would be set to 4 (since the code subtracts 1 to do the handler lookup) which is something I've confirmed along with a few other types.

Likewise, ITEM_ETC_E090825_LAMP_10SP has a TypeID4 of 10. It too works without issue and is easily testable.

Obviously, I'm using ITEM_EVENT_RENT_SKILLPOINT_SCROLL because that's what the VSRO itemdata contains, and not the other 3, but their TypeID's are all the same anyways, so it wouldn't matter anyways. However, since their TypeID4 is 12, there's no code in GameServer to handle it.

To do one last confirmation, give yourself an ITEM_EVENT_OPTLEVEL_UPGRADE_SCROLL_1 and try to use it. With a TypeID4 of 14 and it being in service by default, it shouldn't be usable (and it's not).

My conclusion is that VSRO just doesn't have the original code to handle that item, which makes sense, because there's quite a few items in the PK2s that didn't exist for certain versions, but the data in the PK2s was always there. That, and the fact the service was probably set to 0 for a reason. The reason I grouped the sql by TypeID4, is if you consider the items in each group, the handlers would all handle the same type of logic for each item.

For example, 1 = Teleport Scrolls, 2 = COS, 3 = Reverse Return (which have options for the player to choose from), 4 = Booth Decoration, and so on. 10 is related to scrolls, but if you change TypeID4 to 10 instead of 12, the GameServer still doesn't handle it correctly, so that pretty much confirms it's not a matter of the wrong TypeID4 being set for it.

Basically, you'll either have to find another SRO version that has the code to handle this item and port the code over, or implement custom logic yourself.
pushedx is offline  
Thanks
3 Users
Old 08/26/2021, 13:58   #4
 
elite*gold: 0
Join Date: Feb 2021
Posts: 6
Received Thanks: 1

Thank you, that makes perfect sense. Although I am not even close to the level as you are to prove it by disassembling but I was just looking at all the items that are not working and started to wonder if it was based on TypeID4 as all those had pretty high TypeID4 values. Your explanation proves that and again, thank you for sharing it

What would be the best way to implement such a scroll(or any scroll) that updates values in the DB without teleport/relog in your opinion?
berzerkfun is offline  
Old 08/26/2021, 14:26   #5

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,780
Quote:
Originally Posted by berzerkfun View Post
What would be the best way to implement such a scroll(or any scroll) that updates values in the DB without teleport/relog in your opinion?
I think it depends on what data is changing.

For example, for SP changes, there's the 0x304E packet that can be sent to update the player's SP without teleporting.
Code:
[t051][1335248][7:10:28 AM][Agent->Client][P->L][304E][6 bytes]
0000000000   02 54 92 27 00 01                                 .T.'............
The middle 4 bytes is the new SP, so you could just make your code/proxy send that packet to the client to update their SP value with whatever you just updated in the DB.

I'd just approach the problem that way, try to find whatever game update packet exists for the data you want to change, and then just send that update packet with the new data. For some more complicated things, a teleport in place might be needed, as the only other way to update things in the client that it doesn't have handlers for, is by just coding custom logic in the client and handling a custom packet that updates using the new data.
pushedx is offline  
Thanks
1 User
Old 08/26/2021, 17:36   #6
 
elite*gold: 0
Join Date: Jul 2020
Posts: 234
Received Thanks: 230
You could also create a SoOk event (see jewel boxes), ask for the specific item and trade it for sp with "LuaSetAchievedSkillPont(XYZ)".
It will be an easy workaround to include items like fades beads into older sro files.
OKeks is offline  
Old 08/27/2021, 12:54   #7
 
Over56's Avatar
 
elite*gold: 0
Join Date: Sep 2016
Posts: 248
Received Thanks: 82
Quote:
Originally Posted by OKeks View Post
You could also create a SoOk event (see jewel boxes), ask for the specific item and trade it for sp with "LuaSetAchievedSkillPont(XYZ)".
It will be an easy workaround to include items like fades beads into older sro files.
but this part about filling new sp/item can be done through game server only
Over56 is offline  
Old 08/27/2021, 17:44   #8
 
elite*gold: 0
Join Date: Jul 2020
Posts: 234
Received Thanks: 230
See attached example to give SP EXP for specific items, using LUA scripts. You do not have to edit the gameserver to use it.
Ofc. you can also edit your gameserver if you want, but you could also use an existing function, instead of reversing a "new function".
I am quite sure you could also use that function to receive a packet structure, which will be needed to add sp to the client.

Code:
function SRO_019_GiveEventRewardItem(EventID, items_required, consumed_item)
  SYSOP_REASON_Event = 0
  items = LuaEventInQuireSameItem(0, consumed_item, INQUIRE_SAMEITEM_OP_COUNT_ALL_SAMEITEM, 0)
    if items > 0 then
		for i = 1 , items do
			SRO_001_ItemDel(items_required, consumed_item)
			sp_exp = SRO_001_Random_2_Dice_SP()
			LuaGiveEventPoint_EXP_Gold(0, sp_exp, 0)
		end
    end
end
With sp_exp being:
Code:
function SRO_001_Random_2_Dice_SP()
	return_result = 400
	result = LuaRaSROd_rand_n(1, 1000)
	if result <= 27 then
		return_result = 4000
	elseif result <= 83 then
		return_result = 10000
	elseif result <= 166 then
		return_result = 20000
	elseif result <= 277 then
		return_result = 30000
	elseif result <= 416 then
		return_result = 40000
	elseif result <= 583 then
		return_result = 100000
	elseif result <= 722 then
		return_result = 200000
	elseif result <= 833 then
		return_result = 300000
	elseif result <= 916 then
		return_result = 400000
	elseif result <= 972 then
		return_result = 600000
	elseif result <= 1000 then
		return_result = 800000
	else
		return_result = 400
	end
	return return_result
end
Lua functions:
Attached Files
File Type: txt @SN_QEV_SRO_019.txt (3.9 KB, 16 views)
OKeks is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Skill added but not visible in skill tab, and cant add to skill bar.
02/16/2024 - SRO PServer Questions & Answers - 4 Replies
Hi guys, i'm trying to modify cleric skill but i end up with a visual bug. As you can see in the picture, skill not display level, as long as i add skill points reduced, but i cant pick skill and put it to skill bar. I kinda sure server side is good, just the media side, it will be nice if someone can have solution for this bug. Thank in advance !
Vsro silk scroll and gift scroll doesn't work
10/17/2015 - SRO Private Server - 1 Replies
solved topic can delete
(ALB) WTS Effect Scroll - Megadolon Drop Scroll
01/09/2012 - Trading - 1 Replies
Im looking for plats just serious offers please
WTT 3X Scroll for Shuta( Come with ur Scroll)(Evengarda)
06/16/2010 - Archlord Trading - 1 Replies
İ want to change 4x Scroll for shuta ... u need to come with ur scroll



All times are GMT +1. The time now is 09:00.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.