Re: [RPCS3] Persona 5
Posted: Fri Aug 04, 2017 4:31 am
NVM the page was lagging and i didn't see anything you wrote not even my comment
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
l didn't quote anything l just asked a question. Nice talking to yourself though. lol
Thanks for always improving the table. Will update OP post soon with this. I Would like to request an 'always invisible' cheat in mementos/palace. Can't seem to find a way myself.floppy wrote: ↑Fri Aug 04, 2017 12:04 amUpdated TechnoJacker's latest table:
- Added notes regarding max Knowledge, Kindness and Proficiency.
- Moved the 14 Hero Persona slots to a new group "Hero's Personas" under "Persona Stats".
- Added Makoto's, Haru's, Futaba's and Akechi's Personas to "Persona Stats". This means all potential party members are now accounted for
- Fixed typo (Yasuke -> Yusuke) and sorted some entries.
Will keep updating when I can
Edit:
- Added "Palace Security Level" (under the "General" group for now).
Edit2:
- Added more items. You can find them under "Items (by memory order and grouping)" > "Items #2". The items in these groups (#1 to #5) are grouped and ordered as they appear in the game's memory. This makes finding and adding new entries a bit more easy.
Edit3:
- Maxed out all stats. Added note regarding max Guts.
Edit4:
- Minor fixes to the table's xml structure.
- Under "Items (by memory order and grouping)":
- - Renamed the groups to reflect the items within (e.g. Treasure, Accessories, etc.). This new group title *should* be accurate for most items under each group.
- - Added "Melee Weapons".
- - Added "Protectors" (i.e. Armor).
- - Added "Ranged Weapons".
Edit5:
- Removed old "Items" section, renamed "Items (by memory order and grouping)" to "Items".
- Various other renames and general organization, can't be bothered to list everything .
- ADDED individual persona EXP for each of the hero's personas.
- Removed hero's personas 13 & 14 (you can only have a maximum of 12 personas).
Currently working on editing the persona compendium. Feel free to chip in .
Hmm... well, to become invisible you can use the "Items" section and add some "Hypno Mist" [1010B172B] to your inventory (and maybe freeze the value). When you enter a new area, simply use said item to make all (non-boss) enemies fall asleep, so that each attack counts as an ambush. As long as you don't smash right into them or stand next to them for a while, they won't wake up (until you enter a new area -- then just repeat the process).makotech222 wrote: ↑Mon Aug 14, 2017 5:54 pmThanks for always improving the table. Will update OP post soon with this. I Would like to request an 'always invisible' cheat in mementos/palace. Can't seem to find a way myself.
Code: Select all
Social Stats:
- 1 note -> 2 points
- 2 note -> 3 points
- 3 note -> 5 points
--------------------------------------------------------------------------------
Levels and some such:
- Hero level is not tied to any specific persona.
- Party level is tied to each member's persona.
--------------------------------------------------------------------------------
Hero EXP E for hero level x:
E(x) = floor( 1.4 * x ^ 3 + 10 ) * ( 1 - floor( 1 / x ) )
--------------------------------------------------------------------------------
Persona EXP E for persona level x:
E(x) = floor( C * x ^ 3 + 10 ) * ( 1 - floor( 1 / x ) )
--------------------------------------------------------------------------------
C is the persona base level coefficient, for persona base level b:
C(b) = -0.019 * b + 3.7
--------------------------------------------------------------------------------
NOTE: * ( 1 - floor( 1 / x ) ) simply means that for level 1 the EXP is always
0.
--------------------------------------------------------------------------------
For each persona level x, the total number of Stat Points S available is:
S(x) = x * 3 + 7 ( = St + Ma + En + Ag + Lu )
--------------------------------------------------------------------------------
NOTE: a stat shouldn't have a lower value than the base level stat value to be
"legit".
--------------------------------------------------------------------------------
The "Compendium" entry only includes *valid* personas (those who actually can
be unlocked) and *valid* skills (no boss skills, ally specific skills, etc.).
sorry bro...floppy wrote: ↑Mon Aug 28, 2017 8:56 pmDecided to make a new post as I have updated my (our?) cheat table with some major new features.
I'll use this chance to describe the current table contents:
+ General Stats -- Money, Fishing/Casino Points, Date and Time, Palace Security Level.
+ [new] Equip -- Melee/Protector/Accessory/Outfit/Ranged for each character.
+ Social Stats -- Pretty obvious .
+ Battle Stats -- HP/SP/EXP/Bullets for each character.
+ Persona Stats -- St/Ma/En/Ag/Lu + Skills + Level + EXP + Persona ID for each persona for the hero and the party.
+ Items -- Melee, Protectors, Accessories, Consumeables, Key Items, Treasure, [new] Skill Cards, [new] Outfits, Ranged.
+ Confidants -- Rank and Affinity for each confidant.
+ [new] Compendium -- Editable compendium entries with ability to lock/unlock personas. When you lock a persona and then unlock it, the persona stats and skills reset to the base stats. You can also edit skills + stats.
Besides the new additions, I also fixed some bugs (and probably created some more ).
Please treat the new Compendium feature as a beta-ish feature as my lua skills are quite shoddy.
Also, I've finished my first playthrough and think I'll start New Game+ soon... So maybe expect more updates?
For anyone with the same issue (that is, all the 2/4 Byte Big Endian types are blank, uneditable values), you likely don't have the Big Endian types included in CE (they're not included by default, and the tables in this thread don't include them). Per DarkByte's post in [Link]:
Adding those should cause the tables to work as expected.Dark Byte wrote:Start a new scan and rightclick the variable type
Choose new custom type (auto assembler)
To give CE support for 2 Byte Big Endian put this in:To give CE support for 4 Byte big endian put this in:Code: Select all
alloc(TypeName,256) alloc(ByteSize,4) alloc(ConvertRoutine,1024) alloc(ConvertBackRoutine,1024) TypeName: db '2 Byte Big Endian',0 ByteSize: dd 2 //The convert routine should hold a routine that converts the data to an integer (in eax) //function declared as: stdcall int ConvertRoutine(unsigned char *input); //Note: Keep in mind that this routine can be called by multiple threads at the same time. ConvertRoutine: //jmp dllname.functionname [64-bit] //or manual: //parameters: (64-bit) //rcx=address of input xor eax,eax mov ax,[rcx] //eax now contains the bytes 'input' pointed to xchg ah,al //convert to big endian ret [/64-bit] [32-bit] //jmp dllname.functionname //or manual: //parameters: (32-bit) push ebp mov ebp,esp //[ebp+8]=input //example: mov eax,[ebp+8] //place the address that contains the bytes into eax mov ax,[eax] //place the bytes into eax so it's handled as a normal 4 byte value and eax,ffff //cleanup xchg ah,al //convert to big endian pop ebp ret 4 [/32-bit] //The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value) //function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output); ConvertBackRoutine: //jmp dllname.functionname //or manual: [64-bit] //parameters: (64-bit) //ecx=input //rdx=address of output //example: xchg ch,cl //convert the little endian input into a big endian input mov [rdx],cx //place the integer the 4 bytes pointed to by rdx ret [/64-bit] [32-bit] //parameters: (32-bit) push ebp mov ebp,esp //[ebp+8]=input //[ebp+c]=address of output //example: push eax push ebx mov eax,[ebp+8] //load the value into eax mov ebx,[ebp+c] //load the address into ebx //convert the value to big endian xchg ah,al mov [ebx],ax //write the value into the address pop ebx pop eax pop ebp ret 8 [/32-bit]
Code: Select all
alloc(TypeName,256) alloc(ByteSize,4) alloc(ConvertRoutine,1024) alloc(ConvertBackRoutine,1024) TypeName: db '4 Byte Big Endian',0 ByteSize: dd 4 //The convert routine should hold a routine that converts the data to an integer (in eax) //function declared as: stdcall int ConvertRoutine(unsigned char *input); //Note: Keep in mind that this routine can be called by multiple threads at the same time. ConvertRoutine: //jmp dllname.functionname [64-bit] //or manual: //parameters: (64-bit) //rcx=address of input xor eax,eax mov eax,[rcx] //eax now contains the bytes 'input' pointed to bswap eax //convert to big endian ret [/64-bit] [32-bit] //jmp dllname.functionname //or manual: //parameters: (32-bit) push ebp mov ebp,esp //[ebp+8]=input //example: mov eax,[ebp+8] //place the address that contains the bytes into eax mov eax,[eax] //place the bytes into eax so it's handled as a normal 4 byte value bswap eax pop ebp ret 4 [/32-bit] //The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value) //function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output); ConvertBackRoutine: //jmp dllname.functionname //or manual: [64-bit] //parameters: (64-bit) //ecx=input //rdx=address of output //example: bswap ecx //convert the little endian input into a big endian input mov [rdx],ecx //place the integer the 4 bytes pointed to by rdx ret [/64-bit] [32-bit] //parameters: (32-bit) push ebp mov ebp,esp //[ebp+8]=input //[ebp+c]=address of output //example: push eax push ebx mov eax,[ebp+8] //load the value into eax mov ebx,[ebp+c] //load the address into ebx //convert the value to big endian bswap eax mov [ebx],eax //write the value into the address pop ebx pop eax pop ebp ret 8 [/32-bit]
Once these are in CE will be able to scan for those and you can add them to your cheat table and edit the values