Akira, your table works great for me. I very much appreciate all the work you put into it, along with all the contributors. One request I have is, could we make the aobscans a region aobscan? Because each cheat takes ages to activate, and since there are so many of your cheats that I play with, about the first fifteen minutes after me loading the game is simply doing as many things as possible to trigger the cheats (get hurt, shoot an arrow, run a bit, crouch, build a campfire, wear my armor), and then activating the cheats. Usually I activate as many at a time as I can, which all take their turns attempting to inject. It always works for me, but it just takes a long time...
Again, please don't take this as a critique. I really appreciate all the work you put into this. I'm just wishing they could activate faster, and the only way I can see that working is if we do an aobscanregion instead of an aobscan. Thank you!
EDIT: Here's my contribution. Infinite Food Items
Code: Select all
{ Game : valheim.exe
Author : Sigan
}
[ENABLE]
aobscanregion(foodDec,Inventory:RemoveOneItem+30,Inventory:RemoveOneItem+60,FF C8 89 46 30 48 8B CF 66 66 90 49 BB 40) // should be unique
alloc(newmem,$1000,foodDec)
label(code)
label(return)
newmem:
code:
// dec eax
mov [rsi+30],eax
jmp return
foodDec:
jmp newmem
return:
registersymbol(foodDec)
[DISABLE]
foodDec:
db FF C8 89 46 30
unregistersymbol(foodDec)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Inventory:RemoveOneItem+4b
Inventory:RemoveOneItem+26: 49 BB 00 32 CD 03 97 01 00 00 - mov r11,System.Collections.Generic:List`1:Contains
Inventory:RemoveOneItem+30: 41 FF D3 - call r11
Inventory:RemoveOneItem+33: 85 C0 - test eax,eax
Inventory:RemoveOneItem+35: 75 07 - jne Inventory:RemoveOneItem+3e
Inventory:RemoveOneItem+37: 33 C0 - xor eax,eax
Inventory:RemoveOneItem+39: E9 5A 00 00 00 - jmp Inventory:RemoveOneItem+98
Inventory:RemoveOneItem+3e: 48 63 46 30 - movsxd rax,dword ptr [rsi+30]
Inventory:RemoveOneItem+42: 83 F8 01 - cmp eax,01
Inventory:RemoveOneItem+45: 7E 1E - jle Inventory:RemoveOneItem+65
Inventory:RemoveOneItem+47: 48 63 46 30 - movsxd rax,dword ptr [rsi+30]
// ---------- INJECTING HERE ----------
Inventory:RemoveOneItem+4b: FF C8 - dec eax
// ---------- DONE INJECTING ----------
Inventory:RemoveOneItem+4d: 89 46 30 - mov [rsi+30],eax
Inventory:RemoveOneItem+50: 48 8B CF - mov rcx,rdi
Inventory:RemoveOneItem+53: 66 66 90 - nop 3
Inventory:RemoveOneItem+56: 49 BB 40 1E 52 C3 97 01 00 00 - mov r11,Inventory:Changed
Inventory:RemoveOneItem+60: 41 FF D3 - call r11
Inventory:RemoveOneItem+63: EB 2E - jmp Inventory:RemoveOneItem+93
Inventory:RemoveOneItem+65: 48 8B 47 28 - mov rax,[rdi+28]
Inventory:RemoveOneItem+69: 48 8B C8 - mov rcx,rax
Inventory:RemoveOneItem+6c: 48 8B D6 - mov rdx,rsi
Inventory:RemoveOneItem+6f: 83 38 00 - cmp dword ptr [rax],00
}
EDIT 2: After activating all the cheats I normally activate on your table, I've run into a problem with the most recent update. I try to activate "Local Player," and I get the error, "_localPlayer was supposed to be added to the symbollist, but it isn't declared."