(02-04-2014, 09:49 PM)Spetsnaz Wrote: Strange because when I use the codes from
http://forums.pcsx2.net/Thread-Post-your...hes-here#F
I get no results but when using the one I provided the loot and XP instantly work...however when I tried to use LP the game crashed
See, those codes with "full" meaningless digits at the value field starting with 0 were originally starting with 2 and having "word" as explicit length token.
The problem is once upon a time there were users advising changing all start digits to 0 while others advised changing all them to 2. This was forced to "short" which starts with 1 and actually crashes the emulator.
This only shows how those explicit tokens (byte, short and word) just contributed to confusion and mistakes.
change all those codes with that characteristic to start with 2 (so to tell extended they are "word" length as they were once).
Those codes with non significant digits, like 00000000 are a pain to know their actual length and yes, telling the pnach engine the wrong length is BAD news, does not matter if all digits are all 0.
This is because the engine will fill the field length with the information of it's length if you inform a game's byte field, like for example item codes or item quantities are commonly to be, as many status also with "word" length you will be erasing adjacent fields with unpredictable results.
The inverse applies although less damaging, if you fill a word length field with a byte, the worst thing would be the cheat might fail to do as expected but without other harm.
Edit: may be useful to some people. When using "extended"
byte: only the two rightmost digits (a byte) will be poked at the given memory address (address starting with zero tells this length)
short: short are 2 bytes length, so they are the 4 rightmost digits and two bytes will be forced on the address (address starts with 1)
word: 4 bytes, all 8 digits will be pushed on memory, even if some or all are zeroes (address starts with 2).
Any other starting digits are special codes and pnach can deal with just a few of them.
of course, even if the value is a full word of significant digits and you tell pnach it's a byte length, only the two leftmost will be pushed, all other digits will be ignored even if not 0.