Game Engine: Unity
Game Version: 2019.1.8.14557
Options Required: Money, items.
Game/Steam Website:
Thanks in advance for any kind help.

Code: Select all
define(address,UnityEngine:PlayerPrefs:GetFloat)
define(bytes,55 48 8B EC 48 81 EC 90 00 00 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,UnityEngine:PlayerPrefs:GetFloat)
alloc(origPref,11)
registersymbol(origPref)
origPref:
readmem(UnityEngine:PlayerPrefs:GetFloat,11)
label(code)
label(return)
newmem:
code:
readmem(address,11)
push rcx
push rdx
push rax
mov rdx,MoneyString
add rcx,14
call ucrtbase.wcscmp
cmp eax,0
jne @f
movss xmm0,[newF]
pop rax
pop rdx
pop rcx
db 48 81 C4
readmem(address+7,4)
pop rbp
ret
@@:
pop rax
pop rdx
pop rcx
jmp return
newF:
dd (float)9999
MoneyString:
db 6D 00 6F 00 6E 00 65 00 79 00 00
address:
jmp newmem
nop 6
return:
[DISABLE]
address:
readmem(origPref,11)
dealloc(newmem)
Code: Select all
GoodsManPanel:BuyItem: F3 0F 5A C9
cvtss2sd xmm1,xmm1
comisd xmm1,xmm0
jna @f
movsd xmm0,xmm1
comisd xmm1,xmm0
@@:
jmp return
Code: Select all
mov [myGlad1],rbx
test rbx,rbx // add this
je _ending // add this
//
_ending: // add this
pop rbx
pop rdi
popf
code:
movzx eax,byte ptr [rsi+00000088] //orig code
jmp return
look at my script for the money.Sigan wrote: ↑Wed Mar 04, 2020 9:06 pmI barely know what I'm doing, and the table is WIP so those scripts are definitely not optimized. This was intended to be a reference point, or something we can build from. I appreciate all education on this stuff.
For instance, I have no idea what you mean about the phrase, "should not use fixed symbol offsets at mono games." I followed a few tutorials that taught me to write my mono game scripts like this. If AOB is better, great, but I've always experienced it being slower and less reliable.