 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
toontoonizer Newbie cheater
Reputation: 0
Joined: 24 Dec 2018 Posts: 12
|
Posted: Mon Dec 24, 2018 5:59 am Post subject: FoV Interception - BSG Deadlock - Cannot compile |
|
|
Hi all,
I'm trying to put together a table that will allow control of the FoV of the camera during the battle replays in BSG Deadlock.
So far, i have found the address which contains the FoV value, and the code which writes to the address (and overwrites it if any changes are made to it directly). That code is:
movss [esi+00000138],xmm2
Changing this to NOP and then changing the FoV value in the address works perfectly.
So i have the following issue:
1) The address that this opcode accesses changes everytime a replay is viewed. Therefore, obviously, the address where the FoV value is stored changes everytime.
This shouldn't be too much of an issue, as from my experiments, the opcode remains the same when the game is run.
However, I can't seem to write a script to intercept it so that i can write a fov value to the address referenced by esi+00000138.
What i have is the following:
| Code: |
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(exit)
label(fov)
registersymbol(fov)
fov:
dq 0
newmem:
movss [fov],esi
jmp exit
originalcode:
movss xmm0,[esi+00000138]
exit:
jmp returnhere
"UnityPlayer.dll"+25DE90:
jmp newmem
nop
nop
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"UnityPlayer.dll"+25DE90:
movss xmm0,[esi+00000138]
unregistersymbol(fov)
|
Whenever i try and assign this to the table, i get an error saying that the instruction "movss [00000000], esi" cannot be compiled. I am aware that i need to add the offset of 00000138 manually via "add address manually>>>pointer" but i can't even get to that stage as i get the error above.
I am not quite sure why this error is occurring. I'm not experienced at all with scripting (i'm not quite sure how the above script works) so any help would be appreciated.
|
|
| Back to top |
|
 |
OldCheatEngineUser Whateven rank
Reputation: 20
Joined: 01 Feb 2016 Posts: 1586
|
Posted: Mon Dec 24, 2018 6:16 am Post subject: |
|
|
1. use AOB injection when address change (unless you hook the symbol)
2. you cant use MOVSS (it meant to be used with xmm registers)
| Code: | | mov dword ptr [fov],esi |
3. change the location of:
memory allocation begins after newmem label.
either put FOV label under newmem or allocate couple bytes.
example:
| Code: | newmem:
// some code
originalcode:
// some code
exit:
jmp returnhere
fov:
dd 0 |
or if you want to put FOV above newmem then:
| Code: | alloc(fov,04)
fov:
dd 0
newmem:
// code and other labels |
4. you dont need dq for esi, dd is enough.
_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
| STN wrote: | | i am a sweetheart. |
|
|
| Back to top |
|
 |
toontoonizer Newbie cheater
Reputation: 0
Joined: 24 Dec 2018 Posts: 12
|
Posted: Mon Dec 24, 2018 8:41 am Post subject: |
|
|
| I can't double post but that worked perfectly. thank you!
|
|
| 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
|
|