bartoruiz Posted September 23, 2013 Posted September 23, 2013 Lets say I wanna change the default shortcut (F4) for the pickup action when a new character is created. Is there a way to edit them? Since Skillbars are saved in the server, it should be server side stuff but I don't know here to start looking. If someone know this, please let me know :D Quote
mcbigmac Posted September 24, 2013 Posted September 24, 2013 It might be set by a non existing replyback from db on a char during CShortCut::Init.... But i don't recall seeing any sends that would indicate this. I'll take a looksy tonight - but it might be hardcoded into client somewhere. We talking GF or C4 i should investigate? Quote
mcbigmac Posted September 24, 2013 Posted September 24, 2013 (edited) HOKAI SO. Upon CharCreate Success packet return from cacheD - 2 things happens User::AddNewCharID is called along with CDB::RequestCreateInitItems in L2Server. We're interested in the RequestCreateInit. It basicly sends usersocket, class id and char id to cacheD. Fast Forward to cacheD - and specificly to CreateInitItems Packet - thats the handler for aforementioned l2server packet. In this packet\function there's this little gem: 000000000051D3B9 call CUser__RegisterInitialShortcut This function several times uses the DB::Execute(In a wrapped form) function with a string found here: off_6A5760 Which happens to be : "{Call dbo.lin_SetShortCut (?, ?, ?, ?, ?, ?)}". So - you could hook the register initial shortcut and do your ownstuff db class and just set off the shortcuts yourself (Remember to learn IDs and types and stuff). OR Change the param values on stack for the executes inside the function. FYI This is for GF - but i assume it's 99,99999999999% same for C4. Edited September 24, 2013 by mcbigmac Quote
bartoruiz Posted September 25, 2013 Author Posted September 25, 2013 You are the man. exec'ing lin_SetShortCut at the end of lin_CreateChar did the trick ;) Quote
mcbigmac Posted September 25, 2013 Posted September 25, 2013 I didn't see any shortcut @ the end of createchar? (Was i blind?). Didn't you want to remove the current ones? Quote
bartoruiz Posted September 25, 2013 Author Posted September 25, 2013 (edited) there is not any SetShorCut @ the end of CreateChar, I just added one after 'exec lin_InsertUserHistory ...' I wanted to add shorcuts, changing the Tutorial Guide shoutcut would work too, but there is plenty of space for adding. Edited September 25, 2013 by bartoruiz Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.