Page 3 of 4

Re: Final Fantasy Pixel Remasters +8 (I, II, III, IV, V)

Posted: Fri Feb 04, 2022 8:52 pm
by McBobby
Hentai-san wrote:
Sun Nov 28, 2021 5:42 pm
ColonelFatass wrote:
Sun Nov 28, 2021 9:14 am
ColonelFatass wrote:
Sun Nov 28, 2021 4:13 am
I can't get Force Item Drop by ID to work at all. Whenever I try to enter an ID like 667 for Dark Spark, it completely nullifies any potential item that any enemy could drop. I tested this with another table that has a max drop rate option by enabling that first, getting an item, then enabling Force Item Drop on this table and it would stop dropping any item altogether. Perhaps I'm entering the ID wrong, but it's not clear to me how I'm supposed to enter the ID into the table.
Okay, I figured it out, I just didn't have the value column in view like an idiot lol
Don't beat yourself up :lol: . I figured it might not be entirely intuitive but I'm leaving the possibility to add ID tables for the other Pixel Remasters. Not just FF V. And they would have to share the same item id hexes since we hook the script in the same spot for every game. Every hex id will just map to different items in each game.

If anyone knows the IDs for the other final fantasy pixel remasters i will gladly add them to the table. I just don't have the other games to go snooping the assets.
I've been trying to find the Item IDs for Final Fantasy 4 Pixel Remaster, and have found a lot of them by trial-and-error, but there are some items, like "Megalixir" and "Wall Ring" that I can't find because they weren't in the standard lower number IDs, and trying to go Trial-and-Error among all the possible 4-digit Hexidecimal values is frustrating to say the least, especially since the vast majority of bad ID values cause the game to freeze up, requiring me to force-stop it, and then relaunch the game and Cheat Engine anew, set up the necessary settings on the cheat table, and then get into a combat to test the results of another ID number.

I've heard you say that you can snoop the code using Cheat Engine to find the IDs, I would really appreciate it if you could explain to me how to do that, if you don't mind.

I can share the ID codes I've found so far, but I'm wondering if I'm allowed to just paste the text into a response here or not

Re: Final Fantasy Pixel Remasters +5 (I, II, III, IV, V)

Posted: Wed Feb 16, 2022 12:36 pm
by McBobby
Hentai-san wrote:
Mon Dec 06, 2021 8:43 pm
redux- wrote:
Tue Nov 30, 2021 3:13 pm
Thanks for the reply.

I did test it in Galuf's world with and without the cheats enabled (like closed game and CE then relaunch game only) and confirmed it was a bug, not enemies that don't have xp or gil. I haven't tried in merged yet, actually just got there like a minute ago.

Has there been an update to the table? One other poster mentioned it stopped working after the latest patch.
I can't replicate that. Have tested again in merged and Galuf's world and it seems to be working fine.

As for updates i just released another one for infinite HP/MP since so many people requested it.
I really love your table, and have been trying to find the item IDs for FF4 through trial and error. I found quite a few, but there are still some I can't find since bad ID values freeze the game at the end of combat, and trying to check all the possible IDs for a 4-digit hexidecimal number one-by-one, with having to frequently force-close a frozen game using the task manager, and then loading it and the Cheat Engine table all over again to try a different ID code is a lifetime endeavour.

I would love it if you could tell me how you went about finding the Item ID codes in FF5 so I could try to do the same with FF4. Or if anyone knows of a list of FF4 Pixel Remaster ID codes, I would love if you could share it.

The one list that I found that lists "Hexidecimal Item ID codes" for a different FF4 Cheat Table, but none of the ID codes are valid. It lists them as part of a set of 2 two-digit hex numbers inserted into the appropriate place on cheat table, plus an inventory slot number, for transforming an already possessed item into a different one. I tried them all with your cheat table, and they freeze up the game at the end of combat ("Freezing" as in the end-of-combat music and animation starts and keeps playing, but the combat results pane never opens, no matter how long I wait)

Re: Final Fantasy Pixel Remasters +5 (I, II, III, IV, V)

Posted: Mon Feb 21, 2022 7:41 am
by sympatheia
Hentai-san wrote:
Mon Dec 06, 2021 8:43 pm
redux- wrote:
Tue Nov 30, 2021 3:13 pm
Thanks for the reply.

I did test it in Galuf's world with and without the cheats enabled (like closed game and CE then relaunch game only) and confirmed it was a bug, not enemies that don't have xp or gil. I haven't tried in merged yet, actually just got there like a minute ago.

Has there been an update to the table? One other poster mentioned it stopped working after the latest patch.
I can't replicate that. Have tested again in merged and Galuf's world and it seems to be working fine.

As for updates i just released another one for infinite HP/MP since so many people requested it.
With regard to Force Item Drop By ID in FFV, attempting to use this with Judgement Staff as follows:

Image

Results in no end-of-battle prompt appearing when combat concludes.
The game just continues with the victory fanfare forever.
I'm not too experienced with Cheat Engine, so not really sure how to resolve this?
I've only tested this in Merged World. Forcing the IDs of some of the other staves produces similar results.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Wed Feb 23, 2022 10:19 pm
by Jordancyre
Out of curiosity, how would I go about locating the EXP values in the PR games. I'm no stranger to cheat engine but I can't seem to find the value at all no matter what value type I look for.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Thu Feb 24, 2022 4:17 pm
by McBobby
Item IDs for Final Fantasy IV Pixel Remaster for use with Hentai-san's Cheat Table

https://www5.zippyshare.com/v/bNd1PDRo/file.html

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Fri Feb 25, 2022 12:03 am
by AznBoy222
Anyway to get a working AP multiplier for FFVI? This one doesn't seem to work for that game.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Fri Feb 25, 2022 8:59 am
by Starcat5
AznBoy222 wrote:
Fri Feb 25, 2022 12:03 am
Anyway to get a working AP multiplier for FFVI? This one doesn't seem to work for that game.
Do any of the codes work for FFVI? Given that this table hasn't been updated for it yet, I wasn't expecting it. :|

Edit: Never mind. I've always skimmed the relevant portion of the first post.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Tue Mar 01, 2022 3:45 pm
by xros
does this table work for FF VI PR?

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Tue Mar 01, 2022 8:54 pm
by Riku_Masamune
xros wrote:
Tue Mar 01, 2022 3:45 pm
does this table work for FF VI PR?
Some codes don't and some do. But yes, I use it often.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Tue Mar 01, 2022 9:24 pm
by Starcat5
Riku_Masamune wrote:
Tue Mar 01, 2022 8:54 pm
xros wrote:
Tue Mar 01, 2022 3:45 pm
does this table work for FF VI PR?
Some codes don't and some do. But yes, I use it often.
Sadly, one section of codes that don't seem to work for me are the Battel Results options. And given that leveling only effects HP and MP until Espers are unlocked, being able to set Exp to 0 is really, really important. Or, you know, an override for stat growth that can be turned on right from the beginning, or the ability to reset levels to 1. Not exactly options that would see much use outside of VI.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Thu Mar 03, 2022 11:46 pm
by Riku_Masamune
Starcat5 wrote:
Tue Mar 01, 2022 9:24 pm
Riku_Masamune wrote:
Tue Mar 01, 2022 8:54 pm
xros wrote:
Tue Mar 01, 2022 3:45 pm
does this table work for FF VI PR?
Some codes don't and some do. But yes, I use it often.
Sadly, one section of codes that don't seem to work for me are the Battel Results options. And given that leveling only effects HP and MP until Espers are unlocked, being able to set Exp to 0 is really, really important. Or, you know, an override for stat growth that can be turned on right from the beginning, or the ability to reset levels to 1. Not exactly options that would see much use outside of VI.
Yeah, hopefully an update happens sometime. With a few other codes I want like forcing certain encounters. I found the Veldt encounter part... but without the formation and monster hex number, almost useless. But it's useful if all you want to encounter on the Veldt are from example, 11 for Rages.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Fri Mar 25, 2022 7:32 am
by asmoranomar
Hello everyone. I'm the guy that brought you the forced item drop table.

First, I'm sorry. For some reason I did not receive any emails in regards to responses or PM's to my post, not sure if that's even a thing. If you look at my activity, you'll note that I don't spend a lot of time here. I know that it can be frustrating to have tables that don't work.

Second, I'm pretty inexperienced on this. This is why I put as much information as I could in my initial post, and gave pre-emptive permission for anybody to use and modify what I created. I really am stumbling through this as much as you guys are. To further push the point, Hentai-san somehow created a table that works on all FF:PR titles - I can't even understand it. I can speculate what's happening, but I don't even know if I'm right and where to begin. At this point, I can't even offer any help with it directly.

Which comes to the reason for this post:
I've heard your requests, and I've made another table. I have NOT tested it beyond seeing if the code turns on and off. It should work, but no guarantees. But more importantly - I've made a drop table for every FF:PR title. It's not in an elegant format like Hentai-san has developed, but I have done all the leg work for extracting the unity data and converting it to an simple ItemID->ItemName->drop script. I really hope Hentai-san or someone else can adopt it and beautify it.
Also, unlike last time where I tried to consolidate some items, armor, and weapons - this table has everything. So, be smart, and don't go trying to drop a monster attack or something. I have no idea what will happen (although some of you said you learned some BLU magic, so that's good I guess?).

Again, like before, feel free to take this table and do whatever you wish with it.

Edit: Forgot, you can now select by both ItemID as well as ItemName. Yay? ....oh and ignore the name of the file. This works on all FF:PR titles.
Spoiler
More Info: I used AssetStudio to extract the TextAssets from the games' unity assets. TextAssests 'contents' and 'system_en' were used to map ID's to locale names (this means if someone wanted to do it for jp or fr or whatever locales, you could use the corresponding system_locale). It's been a while, so I have no idea how I stumbled upon the right mono method, but because the games have all been written with similar codebase, the method 'Last.Data.DropItemData..ctor' is what determines drops. Simply turn on mono, and browse the memory view, Enumerate the symbols and goto the method by it's name. Every FF:PR title's method is slightly different, but the section of code that needs to be modified is the same. If the game updates, the method name should still exist, and the section of code should (hopefully) still be there - but the AOB scan uses parts of the code around it to locate it, which can change.

I'm sure this is pretty self explanatory for people who regularly create tables. But if your someone like me who gets just as frustrated as you about broken tables, and is willing play around a bit, I hope this helps.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Tue Mar 29, 2022 8:17 am
by asmoranomar
I fixed the drop table that was broken by the update (again).
I also added a 0 EXP script for FFVI since it was requested.

Edit: Please download again if it doesn't work. I uploaded the wrong file.

Re: Final Fantasy Pixel Remasters +10 (I, II, III, IV, V)

Posted: Mon Apr 04, 2022 3:15 pm
by asmoranomar
Added Veldt to the Cheat Table for FFVI-PR.
This will manipulate encounters on the Veldt. The programming used to pick monsters is somewhat complex, but for general purposes the Main Veldt script will work. More details in spoiler.
Spoiler
This is going to be lengthy.

Script Usage
The TL:DR :
Main
Veldt Monster Party - Forces an encounter with a specific monster formation, no restrictions.
Alternate
Veldt Group - Forces an encounter with one of 64 monster groups, selected randomly from 8 monster subgroups. Game restrictions apply.
Veldt Subgroup - Forces an encounter with one of 8 monster subgroups, selected randomly from 64 monster groups. Game restrictions apply.

Veldt Group and Veldt Subgroup will work together - If you know the specific group and subgroup, then you can effectively pick a specific monster formation. The caveat is that game restrictions are in-place. If you never encountered the formation, then the game picks another encounter or just skips the encounter. This is useful for figuring out if you might have missed a formation, but also bad for the same reasons. Veldt Monster Party will force the encounter regardless if you've seen it or not. In addition, it has a side effect/bonus of adding that encounter as...one....of your....encountered....encounters.

note: Some might be wondering about the beastiary. The game records from all playthroughs, so if you are playing a second time or encountered an enemy and later died, it will be recorded in the beastiary but the enemy formation will not be recorded as encountered in your save file. Also - Beasiary is for enemies, Monster Parties is for formations.

Game Details
As a brief overview, the game has a record of every monster party encounter. This monster party is broken into 64 groups, with 8 monster party subgroup in each group. Without going into too much detail, the game rotates thru all 64 groups sequentially, and will randomly pick a subgroup as it's target encounter. There are restrictions, such as picking encounters you've only ever seen, as well as no bosses, and others - this is outside the scope of this discussion. Keep in mind that this is how it worked in all versions of the game, so we will be trying to locate a similar process.

Unity Files
I use Asset Studio to view the unity files in the game. When exploring, it's important to find what keywords the programmers were using to identify things such as monsters, monster formations, the veldt, etc. This is just something you discover when poking around.

serial_misc_assets - Hidden amongst other data in this file is a json list of veldt monster parties, known as 'beast_field_encounter_table'. It looks very similar to how it was in the actual game (64ish groups of 8ish, but not really due to aforementioned restrictions).

monster_party - This file lists data for how battles are set up, such as backgrounds and music....as well as ID's for up to 9 monsters.

monster - This file lists data on each monster, the most important is the ID's for localization names.

system_en - Our favorite file. This one localizes everything into english. There are system files for other languages if you want.

From this, we learn that the programmers refer to the veldt as 'beast', and the different monster formations as 'monster parties', and encounters as ...well 'encounters'.

Also, by combining this data, we can create a party table that uses monster names.

Cheat Engine/Mono
This process was the most difficult. We use the hints we found in the unity files to try to find the mono functions that refer to the veldt. A lot of the work was trial and error. Once you activate mono, you can search the methods/classes with keywords using dissect and .net info - and again, just poke around. A list of important methods/classes are below:

Last.Map.EncounterLot.CheckEncount - This is our main method used to determine if a battle will occur. All the scripts I wrote for the veldt are contained in this section.

Last.Map.Encount.BeastFieldEncount.SearchGroupId - This method is used in the first method to pick the next monster group. How it does it is unimportant, but it returns a number correlating to the monster group.

UnityEngine.Random.Range - This method is used in the first method. It is general purpose, but for this specific case it is used to pick a number from 0 to 7 (1-8) correlating to the monster subgroups in each group.

Alternate Scripts
So now we have the Veldt Groups and Veldt Subgroups. Originally, this worked well, until I found out that this doesn't let you encounter formations you've never seen. The side effect of this is that if you haven't seen an encounter, then the selected Veldt Group and/or Veldt Subgroup will pick another encounter (usually the next one) or just...not encounter anything at all. I wanted to force the encounter whether I had seen it or not.

Cheat Engine
You could also find the Veldt Group by scanning memory. But, for reasons I'm not entirely sure on, it doesn't seem to work for Veldt Monster Party. The next best solution I could do was use breakpoints after Veld Groups and Veldt Subgroups to find the first instance of a value referring to Veldt Monster Party in the registers. I found it about 24 lines after the UnityEngine.Random.Range.

Main Script
Ok, there really isn't any further explanation here. The script forces a specific encounter and as a side effect/bonus, adds it to your encountered list, so even Veld Groups and Veldt Subgroups work after that. But why would you need them anymore?

All that needed to be done after this was to actually make a drop down list that makes it a bit more clear what the encounters actually are. Remember how I said we could combine the unity data to make a party table with names? Toss that into a google sheets doc, do some manipulation, and spit out the results into a drop down list. Now you can see what the encounters are instead of ID's.

Final
As always, the reason I leave this here is multifold:
1. You are free to use these scripts for your own table. Credit is nice, but I honestly could care less.
2. If something is broke and I am unavailable, it might help you find out how I did things, and maybe you can fix it yourself.
3. I'm learning, so maybe this will help you learn too.
4. This isn't optimized at all. Maybe someone will want to adopt it and make it all pretty. Add bells and whistles and all that. Go for it.

Re: Final Fantasy Pixel Remasters +5 (I, II, III, IV, V)

Posted: Mon May 23, 2022 4:16 pm
by adulttw
sympatheia wrote:
Mon Feb 21, 2022 7:41 am
Hentai-san wrote:
Mon Dec 06, 2021 8:43 pm
redux- wrote:
Tue Nov 30, 2021 3:13 pm
Thanks for the reply.

I did test it in Galuf's world with and without the cheats enabled (like closed game and CE then relaunch game only) and confirmed it was a bug, not enemies that don't have xp or gil. I haven't tried in merged yet, actually just got there like a minute ago.

Has there been an update to the table? One other poster mentioned it stopped working after the latest patch.
I can't replicate that. Have tested again in merged and Galuf's world and it seems to be working fine.

As for updates i just released another one for infinite HP/MP since so many people requested it.
With regard to Force Item Drop By ID in FFV, attempting to use this with Judgement Staff as follows:

Image

Results in no end-of-battle prompt appearing when combat concludes.
The game just continues with the victory fanfare forever.
I'm not too experienced with Cheat Engine, so not really sure how to resolve this?
I've only tested this in Merged World. Forcing the IDs of some of the other staves produces similar results.
Me too..
I can use it on FF3 FF4
But not work on FF5