 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
Lord Half-Maester Newbie cheater
Reputation: 0
Joined: 16 Jun 2015 Posts: 14
|
Posted: Tue Jun 16, 2015 11:19 am Post subject: I've broken a script and would love some assistance fixing i |
|
|
Hi folks, this script had been working until a recent update and now only partial functionality remains.
The issue being, this script no longer acknowledges I've ran it, there seems to have been a change in memory address from the executable. What would be the best method to go about investigating where the address/values have moved to and re-coding the table to restore functionality?
The original script is here: http: / / forum.cheatengine.org/download.php?id=110514
The section of the table I'm having difficulty with is here (Battle Stats Base Address Scan):
Code: | [ENABLE]
label(battlestats_savedAOB)
label(battlestats_returnhere)
label(battlestats_originalcode)
label(battlestats_exit)
label(battlestats_update_exit)
label(battlestats_set_exit)
label(battlestats_offenseset_exit)
label(battlestats_defenseset_exit)
label(battlestats_speedset_exit)
label(battlestats_healthset_exit)
label(battlestats_kiset_exit)
label(battlestats_staminaset_exit)
label(battlestats_npcsset_entry)
label(battlestats_npcsset_exit)
registersymbol(battlestats_savedAOB)
aobscan(battlestats_searchedAOB,F3 0F 10 87 D0 00 00 00 0F 2F 87 D4 00 00 00)
alloc(battlestats_newmem,2048)
battlestats_newmem:
// Check battle
cmp byte ptr [edi+8], #-1
jne battlestats_originalcode
// Check player
cmp byte ptr [edi+34], #0
jne battlestats_npcsset_entry
cmp dword ptr [battlestats_update_enable], #0
je battlestats_update_exit
mov [battlestats_basepointer], edi
battlestats_update_exit:
cmp dword ptr [battlestats_set_enable], #0
je battlestats_set_exit
battlestats_set_exit:
cmp dword ptr [battlestats_offenseset_enable], #0
je battlestats_offenseset_exit
fld [battlestats_offenseset_value]
fst [edi+fc]
fst [edi+100]
fst [edi+104]
fstp [edi+108]
battlestats_offenseset_exit:
cmp dword ptr [battlestats_defenseset_enable], #0
je battlestats_defenseset_exit
fld [battlestats_defenseset_value]
fst [edi+10c]
fst [edi+110]
fst [edi+114]
fstp [edi+118]
battlestats_defenseset_exit:
cmp dword ptr [battlestats_speedset_enable], #0
je battlestats_speedset_exit
fld [battlestats_speedset_value]
fst [edi+194]
fst [edi+198]
fst [edi+1a8]
fstp [edi+1ac]
battlestats_speedset_exit:
cmp dword ptr [battlestats_healthset_enable], #0
je battlestats_healthset_exit
fld [edi+c8]
fstp [edi+c4]
battlestats_healthset_exit:
cmp dword ptr [battlestats_kiset_enable], #0
je battlestats_kiset_exit
fld [edi+d4]
fstp [edi+d0]
battlestats_kiset_exit:
cmp dword ptr [battlestats_staminaset_enable], #0
je battlestats_staminaset_exit
fld [edi+134]
fstp [edi+130]
battlestats_staminaset_exit:
jmp battlestats_originalcode
battlestats_npcsset_entry:
cmp dword ptr [battlestats_npcsset_enable], #0
je battlestats_npcsset_exit
mov [edi+fc], (float)0
mov [edi+100], (float)0
mov [edi+104], (float)0
mov [edi+108], (float)0
mov [edi+168], (float)0
mov [edi+16c], (float)0
mov [edi+170], (float)0
mov [edi+174], (float)0
mov [edi+178], (float)0
mov [edi+17c], (float)0
mov [edi+180], (float)0
mov [edi+184], (float)0
mov [edi+188], (float)0
mov [edi+18c], (float)0
mov [edi+190], (float)0
mov [edi+194], (float)0
mov [edi+198], (float)0
mov [edi+19c], (float)0
mov [edi+1a0], (float)0
mov [edi+1a4], (float)0
mov [edi+1a8], (float)0
mov [edi+1ac], (float)0
mov [edi+1b0], (float)0
mov [edi+1b4], (float)0
mov [edi+1b8], (float)0
mov [edi+1bc], (float)0
mov [edi+1c0], (float)0
mov [edi+1c4], (float)0
mov [edi+1c8], (float)0
mov [edi+1cc], (float)0
battlestats_npcsset_exit:
battlestats_originalcode:
db F3 0F 10 87 D0 00 00 00
//movss xmm0,[edi+000000D0]
battlestats_exit:
jmp battlestats_returnhere
battlestats_searchedAOB:
battlestats_savedAOB:
jmp battlestats_newmem
nop
nop
nop
battlestats_returnhere:
[DISABLE]
battlestats_savedAOB:
db F3 0F 10 87 D0 00 00 00
//movss xmm0,[edi+000000D0]
unregistersymbol(battlestats_savedAOB)
dealloc(battlestats_newmem)
|
|
|
Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Jun 16, 2015 2:33 pm Post subject: |
|
|
If I had to guess, the game offsets changed so your AOB is no longer finding the address.
Try setting the scan type to Array of byte and make the Writable checkbox gray (not checked, not unchecked).
Scan for the following:
F3 0F 10 87 * 00 00 00 0F 2F 87 * 00 00 00
Hopefully not too many addresses pop up.
Disassemble those addresses and find out which one is the one you want.
Notice the bytes that I replaced with asterisks: D0 and D4.
The new bytes will likely follow the same pattern with the second being 4 more than the first.
|
|
Back to top |
|
 |
Lord Half-Maester Newbie cheater
Reputation: 0
Joined: 16 Jun 2015 Posts: 14
|
Posted: Tue Jun 16, 2015 8:56 pm Post subject: |
|
|
I could kiss you, thanks for the help.
|
|
Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Wed Jun 17, 2015 12:20 pm Post subject: |
|
|
This is not Lua related, moved.
_________________
- Retired. |
|
Back to top |
|
 |
Lord Half-Maester Newbie cheater
Reputation: 0
Joined: 16 Jun 2015 Posts: 14
|
Posted: Wed Jun 17, 2015 4:19 pm Post subject: |
|
|
atom0s wrote: | This is not Lua related, moved. |
This is a case of "Issue Resolved"
You can close the thread if you like.
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|