This solution checks when the user is in Stealth and disallows equipping/unequiping.
You need to be fluent in:
1. Cheat Engine
2. OllyDBG
3. Code-injection
Steps:
In ps_game.exe search for the value that changes when Stealth is activated, it is a 1-byte value.
In my case it was [Player_pointer]+0x1354 and the value to check when Stealth is activated was 0x0D.
Find the function that equips/unequips Items. In my Exe it was 0x45B690 may be different for you. Insert a JUMP (JMP) and make a code cave there where some of the new code needs to be added.
The new code:
Do a compare from the Character Pointer plus the Stealth offset and check the value. If it's the same then skip the equip/unequip function completely. If not then resume function as normal.
The code cave will end up looking like this:
Code:
New code:
CMP DWORD PTR SS:[EBP+1354],0D
JE <ps_game.fnEquipEnd>
Old code:
SUB ESP,74
MOV EAX, DWORD PTR DS:[54059C]
JMP <ps_game.fnEquipResume>
This is the complete solution and no more info needs to be added so you will have to learn how to apply this (dont be lazy many 1st Shaiya Hacker Generation learnt from nothing too). I will not assist further and will not release the modified executable either.