Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Help finding a total score at end of mission

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials
View previous topic :: View next topic  
Author Message
Blank 0
Cheater
Reputation: 0

Joined: 08 Jul 2016
Posts: 25

PostPosted: Mon Jul 11, 2016 11:17 am    Post subject: Help finding a total score at end of mission Reply with quote

I've been trying to find a way to alter the total score at the end of missions on Mobile Suit Gundam: Zeonic Front but I just can't. The closest I've gotten is finding:

* The address for changing the score on the GUI.

* Another address that updates with the value of the total score once the mission ends. I've tried locking it to a set value before completing a mission but it doesn't seem to affect the score or my rating on the mission report screen.

* Like the above address, I found an address for one of the scores that is calculated into the total score after completing a mission. Altering it and freezing it didn't seem to work with it either though.

* An address that seems to keep count of "blue kills" (basically stealth kills). Altering this does increase/decrease my score dramatically. However, this address changes every mission and I've been unable to find a static pointer/address that can be used to make using it an efficient score cheat. I replayed a mission 4 times and the address changed each time (2174DE04, 215FA554, 216D0454, 216D0444).

* I figured a better approach would be to find the function that calculates all of that at the end of the mission and edit it, but with my very limited assembly knowledge I could only find temporary stuff that changed after each mission. I broke the game more often than not when trying to edit them as well. I did find a register "mov"ing the "blue kills" counter to another register once. I edited the value of the register to be 20, and on my next kill the counter increased to 32 and didn't move from there. I did a bit of playing around and it seems that's the limit. Once again, it was only a temporary solution since everything changed after I finished the mission.

I've completed the CE tutorial and watched several of the videos linked in this forum but still haven't found out what I'm doing wrong. I'm still very new to using CE so any help or advice on what I'm doing wrong would be appreciated. I've been running the game on PCSX2 1.4.0 by the way.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Mon Jul 11, 2016 5:56 pm    Post subject: Reply with quote

You are going to need to learn ASM to complete your project.

Find the display value you can easily find (1) above, see what writes to this address. Read the lines above, if it is immediately obvious where the real score is being fetched from, just edit that location in an AOB script. If it isnt, then break and trace from the instruction you found, double clikc the line below the first 'ret' go up one line in memory view, and break and trace the full function, find where the value is hidden before it gets written, edit it from there.

This is a high level description of a technique that is insanely easy, but annoying to learn because of ASM.

good luck!
Back to top
View user's profile Send private message
Blank 0
Cheater
Reputation: 0

Joined: 08 Jul 2016
Posts: 25

PostPosted: Mon Jul 11, 2016 10:27 pm    Post subject: Reply with quote

cooleko wrote:
Find the display value you can easily find (1) above, see what writes to this address. Read the lines above, if it is immediately obvious where the real score is being fetched from, just edit that location in an AOB script.


Right before the score is displayed, the same AOB writes to the address keeping score every time. I'm having trouble using AOB injection to change the score though.

When I try to do an AOB injection on the highlighted mov Opcode the original code is as follows:

Code:

code:
  mov [ecx],edx
  mov ecx,[pcsx2.exe+839B90]
  jmp return


I've tried exchanging mov with add, replacing edx with 1F40 (8,000 or higher is the score I want), and doing the same with [pcsx2.exe+839B90]. Nothing has worked so far.

I was going to post pictures but I'm still unable to include links in my posts.

Edit >> I got it to work! I found out what I was doing wrong. I did an AOB injection on the address I talked about in my second bullet in my opening post the same way I had been doing. Changing:

Code:

code:
  mov [ecx],dx
  mov ecx,[pcsx2.exe+839B90]
  jmp return


to

Code:

code:
  add [ecx],1F40
  mov ecx,[pcsx2.exe+839B90]
  jmp return


What I did differently this time was beat the mission, go back through all the game's menus, and rebeat the mission with the script enabled. What I was doing before was beating the mission, seeing the score, updating the script, reloading a save point right before I beat the mission, and repeating. Apparently reloading the game also made the script not work. I'm not sure if that's normal or if it is because I'm using an emulator.

Thanks for the help cooleko!
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Tue Jul 12, 2016 1:35 am    Post subject: Reply with quote

Np, the reason your script didnt work again was because of the "[pcsx2.exe+839B90]" in the script, since the emulator changes that jump and your script doesnt change that jump, it wont work again. You can either find a new AOB that doesnt need the grab that jmp for the AOB, or you can get fancier and use a memory read to put the correct jump in every time.
Back to top
View user's profile Send private message
Blank 0
Cheater
Reputation: 0

Joined: 08 Jul 2016
Posts: 25

PostPosted: Tue Jul 12, 2016 10:15 am    Post subject: Reply with quote

cooleko wrote:
or you can get fancier and use a memory read to put the correct jump in every time.


That sounds interesting, I'd like to give it a shot. Do you know of a tutorial or guide that shows how to do that? Googling "cheat engine memory read" doesn't help since it pulls up pretty much everything lol.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Tue Jul 12, 2016 10:29 am    Post subject: Reply with quote

http://forum.cheatengine.org/viewtopic.php?p=5510879&sid=119461e987d7173123add45d1f3475bf
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites