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 


Final Fantasy IV Pixel Remaster EXP
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Wed Mar 09, 2022 12:40 pm    Post subject: Reply with quote

look two lines further down until after the get_magic call. I Just pressed Q to auto battle so I never saw the calls outside of end of battle.


GameAssembly.dll+3D572F: E8 EC A8 15 00 - call Last.Data.User.OwnedCharacterData.get_MagicLearningValue
// ---------- INJECTING HERE ----------
GameAssembly.dll+3D5734: 8B 56 20 - mov edx,[rsi+20]
// ---------- DONE INJECTING ----------
GameAssembly.dll+3D5737: 03 D0 - add edx,eax
GameAssembly.dll+3D5739: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+3D573C: 48 8B CB - mov rcx,rbx
GameAssembly.dll+3D573F: E8 2C AB 15 00 - call Last.Data.User.OwnedCharacterData.set_MagicLearningValue
Back to top
View user's profile Send private message
_TheDavil
Newbie cheater
Reputation: 0

Joined: 14 Jan 2022
Posts: 11

PostPosted: Wed Mar 09, 2022 6:29 pm    Post subject: Reply with quote

So what should I do mov rsi+20,999? Or is there a better way to do that?

*edit* yep i just add a mov [rsi+20],(whatever number) in front of the other spot and it did in fact increase the value displayed but it didn't actually add the points, so it must be happening somewhere else. I really need to get better at assembly...

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

Joined: 04 May 2016
Posts: 717

PostPosted: Thu Mar 10, 2022 2:42 am    Post subject: Reply with quote

Use #999 for integers instead of hex.
How do you know what the AP is? I didn't see it in the menu anywhere.

It's hard to figure things out when you have no clue what it is! I'm out of town for a week so won't be able to look into it further but don't mind checking when I get back. Since it did work in the get function for EXP I'm sure it would work the same way for AP and it likely propagates to the set function if you trace it and see what happens.

If you are looking for fun, figure out what sets [rsi+20] and change it at that source the same way we experimented here.

Easiest solution is set it in the get function.
Better solution is see if it belongs in the set function.
Best solution is to figure out the source of [rsi+20] and edit that.

There are other solutions too, so don't feel constrained to these ideas.
Back to top
View user's profile Send private message
_TheDavil
Newbie cheater
Reputation: 0

Joined: 14 Jan 2022
Posts: 11

PostPosted: Thu Mar 10, 2022 10:48 am    Post subject: Reply with quote

Yea I'm going to try doing a break and trace on the rsi+20 spot and see what I can figure out from there, have a good trip.
Back to top
View user's profile Send private message
_TheDavil
Newbie cheater
Reputation: 0

Joined: 14 Jan 2022
Posts: 11

PostPosted: Sat Mar 19, 2022 11:20 am    Post subject: Reply with quote

Yep still haven't figured it out, hate how they used a common engine for all these games.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Sun Mar 20, 2022 12:51 am    Post subject: Reply with quote

This one is indeed a big mess.

If you trace this function to the end you will find that there is a battle results function. This function steps through each enemy killed and adds to the EXP total the EXP of each enemy, the GIL of each enemy, the items drops, something called ABP and likely AP (but i didnt see it there explicitly). I was able to edit everything on a monster by monster basis and the end results after the accumulation.

It worked for EXP and GIL but couldn't figure out which of the 67 values attributed to a monster were AP. Didn't want to edit each value, one by one, until AP changed (many of the values are 0 and 1). You can edit the function to make it loop through the list multiple times and it will add the normal values to each (including the random drops) (instead of counting 3 kills it gives you 9, for example, so 3x the exp/gil/item drop chances).

If you want to play with that structure, you will need to look into expeditionMonsters.

Even if you find the AP value, the game doesn't allow you to earn more than 2 AP a battle at the point in the game save you sent me to. For example, even if you fight a mob that gives 1 AP, and duplicate it 5 times, it caps at 2 AP.

This explains why the first few edits we tried appeared to work, but didn't. The game, despite recognizing that 999 AP was earned, capped it. Same thing, if you dig elsewhere, you will see there is a before battle ability list and a post battle ability list. It tracks your AP progress and limits them there too. Even if you edit those values to 999 and 1001 to simulate earning 2 AP at a high number it doesn't work. So I suspect that there are at least two different checks that ensure AP isn't getting edited.

To complicate matters even further, I don't think the value it stores AP with correlates 1-to-1. It takes 128 / 0x80 as the base value for unlearned skills. I suspect that when the skill is learned, this changes to another value. I didn't trace the function calls on a turn when a skill was learned to confirm this, but it would be a good idea. If you can confirm that it sets 0x80 to 0xFF or something when it is considered learned, then you could skip to that value and simply learn every spell in one turn.

At this point I gave up. Too many consideration that will take time for a game I'm not playing. I wish you luck in digging further!
Back to top
View user's profile Send private message
_TheDavil
Newbie cheater
Reputation: 0

Joined: 14 Jan 2022
Posts: 11

PostPosted: Sun Mar 20, 2022 6:51 am    Post subject: Reply with quote

Lol yea I found much of the same and pretty much came to the same conclusion. I mostly was doing this as just a project to see if I could make it work. There are paid tables out there from cheat happens so it's supposedly possible, I'm just not going to pay for it to figure out what they did.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
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