cheatengine advice
#1
I have been using cheat engine to find addresses, but I am having trouble finding certain ones, I was wondering if anyone has some general advice. It is easy to find addresses for money, you just scan for initial money, buy something, rescan, etc. But I am having trouble finding addresses for things like weapons, items, stats, etc. For instance: I have been trying to find a way set the weapon in kingdom hearts to ultima weapon. I have a save file that has ultima weapon, the only process I have found is to scan all addresses, scan for things that haven't changed, change the weapon, scan for changed values, move to a new area, scan for unchanged, and so on. The problem is I always end up with about 3000 addresses after I have exhausted everything I can think of. Does anyone have some advice on hunting down item related addresses?
Reply

Sponsored links

#2
I guess I could leave a few tips on that from my experience.

For items in RPG's or games having rpg elements it's easiest when you have some kind of inventory in the game that allows moving items around, then you just move around items in first slot untill you find it and the rest is usually stored in next bytes after. In case items cannot be moved around, it's best to use some cheap consumable items that usually are near first on the lists. Many console jRPG's store items in a table/list that have quanity of item and directly near it code of the item itself, with those it's easy. Once you find a quanity of first item just browse memory around it. If it's in different places, then possibly moving items around inventory can help too, but if you cannot do it, then just try to find an array of bytes guessing numbers of starting items, usually they start from some kind of simplest potion as 00 and after the table it usually have 00 too, couse empty slot usually is simplest item with 0 quanity. I dislike Disney stuff, so cannot help with KH(couse I simply never will bother to buy it;O), but among snes/psx and ps2 most rpg's made in "japanese style" that I cheated, stored items in similar way. Even if game has different tables for consumable items and weapons or armors, then they're somewhere close, easily found in memory viewer once you find basic items, but I guess alot of that "easily" comes with experience.

Also something to help - never seek full memory with CE, especially if you use 64 bit versionTongue. Just a waste of time. In case of PCSX2 decrease your search to a range of 20000000-24FFFFFF(yea even with 64 bit CE version, pcsx2 is 32 bit anyway) or even a bit smaller, not sure exactly and don't wanna give any false info;P. If everything fails or game doesn't have any inventory, you can always try to edit the shop itself(if it has any shop where you can exchange your gear), but that's usually harder, also a game without inventory wouldn't have items probablyTongue.

There are exceptions, but a good thing to remember that most games allow just 99 items at max and usually less than 256 item types, so they often keep those values in 1 byte each, but some troublesome games sometimes keep more info for the item closer in 4 or 8 bytes and then it's best to trying to find an array of bytes in hex using some wildcards. For example if the first items in the inventory was in 2, 6, 1, 4 quanities, you could try finding such array of bytes in hex "02 ?? ?? ?? 06 ?? ?? ?? 01 ?? ?? ?? 04" etc. anyway it's nice to use some imagination in search with wildcards.

Also, when you're seeking values by comparing memory without knowing exact values, do it when the game runs in a window, don't pause it by pressing esc or anything, then start by changing value finding changed first, and then a few of unchanged which would take most of the results pretty fast, then next change and repeat. You can also go between savestates(usefull to know: F2 - next savestate, shift + F2 previous savestateTongue) while trying to find changed values, that can be very helpfull couse you could assume lack of items in inventory is stored as a bunch of 00 bytes or FF bytes and then start from seeking an array of bytes with lots of ??(wildcards) for example ?? ?? ?? ?? ?? ?? ?? ?? ?? then return to previous save that has 1 less item and change last ?? to 00/FF. Using intuition always helps.

If that "I have a key as a weapon couse the game is offered to parents that dislike realism in games" game from Disney will give you problems, maybe try with other games first, gain some experience and after few successfull cheats you'll see things you couldn't notice before. Just remember that if you cannot find something one way, change your way of thinking, that's crucial. Really if something cannot be found one way, then your understanding how it's stored is most likely wrong.

Last one - for example now you try to find proper adresses by equipping different weapons, if a game would change the hell of different things like visible model, effects, your power/stats etc. then you would had hard time finding it in such way(which you have). Always start from simplest methods, from parts of the game that doesn't change anything else except what you want to find - meaning menus/inventories as a general rule should come first for finding item adresses. Equipping different items often helps finding stats easier than items itselfTongue, but for stats there are often much easier methods too...
Reply
#3
(07-01-2011, 06:54 AM)miseru99 Wrote: I guess I could leave a few tips on that from my experience.

For items in RPG's or games having rpg elements it's easiest when you have some kind of inventory in the game that allows moving items around, then you just move around items in first slot untill you find it and the rest is usually stored in next bytes after. In case items cannot be moved around, it's best to use some cheap consumable items that usually are near first on the lists. Many console jRPG's store items in a table/list that have quanity of item and directly near it code of the item itself, with those it's easy. Once you find a quanity of first item just browse memory around it. If it's in different places, then possibly moving items around inventory can help too, but if you cannot do it, then just try to find an array of bytes guessing numbers of starting items, usually they start from some kind of simplest potion as 00 and after the table it usually have 00 too, couse empty slot usually is simplest item with 0 quanity. I dislike Disney stuff, so cannot help with KH(couse I simply never will bother to buy it;O), but among snes/psx and ps2 most rpg's made in "japanese style" that I cheated, stored items in similar way. Even if game has different tables for consumable items and weapons or armors, then they're somewhere close, easily found in memory viewer once you find basic items, but I guess alot of that "easily" comes with experience.

Also something to help - never seek full memory with CE, especially if you use 64 bit versionTongue. Just a waste of time. In case of PCSX2 decrease your search to a range of 20000000-24FFFFFF(yea even with 64 bit CE version, pcsx2 is 32 bit anyway) or even a bit smaller, not sure exactly and don't wanna give any false info;P. If everything fails or game doesn't have any inventory, you can always try to edit the shop itself(if it has any shop where you can exchange your gear), but that's usually harder, also a game without inventory wouldn't have items probablyTongue.

There are exceptions, but a good thing to remember that most games allow just 99 items at max and usually less than 256 item types, so they often keep those values in 1 byte each, but some troublesome games sometimes keep more info for the item closer in 4 or 8 bytes and then it's best to trying to find an array of bytes in hex using some wildcards. For example if the first items in the inventory was in 2, 6, 1, 4 quanities, you could try finding such array of bytes in hex "02 ?? ?? ?? 06 ?? ?? ?? 01 ?? ?? ?? 04" etc. anyway it's nice to use some imagination in search with wildcards.

Also, when you're seeking values by comparing memory without knowing exact values, do it when the game runs in a window, don't pause it by pressing esc or anything, then start by changing value finding changed first, and then a few of unchanged which would take most of the results pretty fast, then next change and repeat. You can also go between savestates(usefull to know: F2 - next savestate, shift + F2 previous savestateTongue) while trying to find changed values, that can be very helpfull couse you could assume lack of items in inventory is stored as a bunch of 00 bytes or FF bytes and then start from seeking an array of bytes with lots of ??(wildcards) for example ?? ?? ?? ?? ?? ?? ?? ?? ?? then return to previous save that has 1 less item and change last ?? to 00/FF. Using intuition always helps.

If that "I have a key as a weapon couse the game is offered to parents that dislike realism in games" game from Disney will give you problems, maybe try with other games first, gain some experience and after few successfull cheats you'll see things you couldn't notice before. Just remember that if you cannot find something one way, change your way of thinking, that's crucial. Really if something cannot be found one way, then your understanding how it's stored is most likely wrong.

Last one - for example now you try to find proper adresses by equipping different weapons, if a game would change the hell of different things like visible model, effects, your power/stats etc. then you would had hard time finding it in such way(which you have). Always start from simplest methods, from parts of the game that doesn't change anything else except what you want to find - meaning menus/inventories as a general rule should come first for finding item adresses. Equipping different items often helps finding stats easier than items itselfTongue, but for stats there are often much easier methods too...

Thank you very much for your advice, it really helped!
Reply




Users browsing this thread: 1 Guest(s)