| View previous topic :: View next topic |
| Author |
Message |
Csimbi I post too much
Reputation: 97
Joined: 14 Jul 2007 Posts: 3340
|
Posted: Mon Nov 02, 2020 12:11 pm Post subject: |
|
|
This depends a lot on the game.
I did this once in Atom RPG.
I looked for a byte value that is 1 when the object is "lit" (can be activated), and 0 otherwise.
Then, I looked at the code that sets the flag to 1 and found it was a simple range check.
It might also be a collision check (of two spheres/ellipses).
Really depends.
|
|
| Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Mon Nov 02, 2020 12:18 pm Post subject: |
|
|
Another means of finding this is using your XYZ position data. Find those first, then find what accesses them, then attempt to loot something. You should get a result that is accessing your location data to do distance checks if you are close enough to loot something.
If things are automatically picked up then this is a check that is probably constantly running vs. only when you press a key or click on something to try to loot it. So it will be a result that happens immediately when finding what accesses your location data.
_________________
- Retired. |
|
| Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Tue Nov 03, 2020 2:16 pm Post subject: |
|
|
If the test is to check if something should be looted, you can try and change the "test al, al" to "mov al, 1" if the game is expecting the call to return 1. (Or 0 depending on how the check is coded.)
_________________
- Retired. |
|
| Back to top |
|
 |
|