1.開啟Cheat Engine,變動數值找出現時耐力值的動態位置
2.變動耐力值查看閱讀該記憶體的位置
3.記下ESI的值,已知EBX固定,並得出耐力值的偏移值2*4+16C
5.需要抓下多個嘗試, 變動耐力值查看閱讀該記憶體的位置
10.利用指針測試是否正確
---------------------------------
---------------------------------
瑪奇各數值內存基址
G13S2一級基址:63FC1FC8
G15S2一級基址:6413b094或6413c6e4
G15S3一級基址: 6413c0e4 或6413d734
一級基址+偏移值50=二級位址
生命值:二級位址+偏移值16C
最大生命值:二級位址+偏移值178
魔力值:二級位址+偏移值170
最大魔力值:二級位址+偏移值17C
耐力值:二級位址+偏移值174
最大耐力值:二級位址+偏移值180
---------------------------------
腳本使用例子
//瑪奇G15S2 血魔耐的記憶體基址
base = &h6413b094
//一級基址+偏移值50=二級基址
Call ReadMemory (base,2,base2)
base2 = base2+&H50
Call ReadMemory (base2,2,addr)
//各項數值的偏移值
//二級基址+偏移值=各數值的位址
curentHPaddr=addr+&H16C
maxHPaddr=addr+&H178
curentMPaddr=addr+&H170
maxMPaddr=addr+&H17C
curentSPaddr=addr+&H174
maxSPaddr=addr+&H180
//調用子程序
Call check
//輸出數值
MessageBox "curentHP: "&curentHP&" "&"MaxHP: "&MaxHP&" "&"curentMP: "&curentMP&" "&"MaxMP: "&MaxMP&" "&"curentSP: "&curentSP&" "&"MaxSP: " & MaxSP
EndScript
//檢查數值的子程序
Sub check
Call ReadMemory (curentHPaddr,2,curentHP)
Call ReadMemory (maxHPaddr,2,MaxHP)
Call ReadMemory (curentMPaddr,2,curentMP)
Call ReadMemory (maxMPaddr,2,MaxMP)
Call ReadMemory (curentSPaddr,2,curentSP)
Call ReadMemory (maxSPaddr,2,MaxSP)
End Sub