gideon25 wrote: ↑Sun Feb 09, 2020 5:26 pm
How did you find out it was a back quote key that enabled the menu? I've seen several debug menus in mono games but was unsure where to look for the key(s) that actually open the menu once I try to figure out where to enable it. Thanks!
InputManager:PlayerInput checks the console key with a instance of InputAction.KeyDown and executes the delegate to toggle the console.
you can either check it with cheat engine or other mono dissassembler:
value = ctrl_console
keyCode 96 = 0x60 = default BackQuote
//
note : every game is different, Elderborn is very easy in 2 steps:
-find the debug check
-find the debug key (look for the inputs)
sometimes you cant find any keys like in Vampire Fall Origins they use UI Buttons which are disabled at default.
then you need to search for the UI Button or write something to call the Debug-UI functions.
and games like Hades completly removes the code to call the function, so you also need to rewrite it.
as example:
viewtopic.php?f=2&t=8378&p=121562#p121562
//
edit:
btw just few tips for you (i looked at your Elderborn table)
mono_initialize()
LaunchMonoDataCollector()
you dont need both, LaunchMonoDataCollector() is enough.
and you dont need to call it for every script:
a mono-main script to initialize is enough
Unlimited Phials (open character screen before activating):
you dont need 2 injects at the same function
set_CurrentNumberOfUses(int _currentNumberOfUses):
RCX = Instance _PlayerPhialController
RDX = int _currentNumberOfUses
inject at the prologue and manipulate EDX = 1 inject same effect
if you are also inject at PlayerPhialDrawState:OnPlayerStateEnter to manipulate the test eax,eax you can do a "Ignore Phials"
complete script:
Code: Select all
define(address,Hyperstrange:PlayerPhialController:set_CurrentNumberOfUses)
define(bytes,55 48 8B EC 57)
[ENABLE]
aobscanregion(aobPhio,Hyperstrange:PlayerPhialDrawState:OnPlayerStateEnter,Hyperstrange:PlayerPhialDrawState:OnPlayerStateEnter+500,7F ** 49) // should be unique
aobPhio-2:
db 39 D8
registersymbol(aobPhio)
assert(address,bytes)
alloc(newmem,$1000,Hyperstrange:PlayerPhialController:set_CurrentNumberOfUses)
label(code)
label(return)
newmem:
code:
push rbp
mov rbp,rsp
push rdi
cmp edx,0
jg @f
xor edx,edx
@@:
jmp return
address:
jmp newmem
return:
[DISABLE]
aobPhio-2:
db 85 C0
if activ you can heal always regarless of the amount.