| View previous topic :: View next topic |
| Author |
Message |
killer+bee Advanced Cheater
Reputation: 0
Joined: 28 Oct 2005 Posts: 85
|
Posted: Sat Jan 21, 2006 11:31 pm Post subject: Far Cry v1.33 +6 table |
|
|
I decided to integrate an autoscript into a table to create artificial pointers. This table was the result.
HP, armor, ammo, ammo clip, grenades, and stamina. I did have a setting for max stamina, but when changing levels if you had changed the max stamina from 100 to something more (i liked 600) then strange things would happen. So I took it out. If anyone would like it back just ask. Just understand it would be labled experimental if I did.
Just right click on the "Enable pointers" and select 'enable cheat' from the menu. The pointers will then populate.
The autoscript is tied to the "enable pointers". All it does is copies the often changing player pointer to a static address within the far cry engine.
The shotgun with unlimited ammo is pretty damn fun.
If for some reason this table doesn't work first check your far cry version. If you have not patched up to 1.33 then do so. The only other reason would be that the code cave (static address) that I use isn't writable or unused on your system.
attachment deleted
Last edited by killer+bee on Sun Jan 22, 2006 4:26 pm; edited 1 time in total |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 181
Joined: 09 May 2003 Posts: 13581 Location: The netherlands
|
Posted: Sun Jan 22, 2006 5:04 am Post subject: |
|
|
I don't have far cry so I can't test it.
but in case you're having trouble with 3311307c not being a valid code cave (almost certain it isn't)
| Code: |
[ENABLE]
alloc(newmem,2048)
alloc(mypointer,4)
label(returnhere)
label(originalcode)
label(exit)
registersymbol(mypointer)
3309EA72:
jmp newmem
nop
returnhere:
newmem:
mov [mypointer], ecx
originalcode:
fcom dword ptr [ecx+0000014c]
exit:
jmp returnhere
[DISABLE]
//no need to disable.
|
what this does is allocate another 4 bytes for the variable mypointer and register it to be used by a table (it actually doesn't really alllocate more memory because one alloc is at least 4kb)
you can then use as base pointer address 'mypointer' instead of a hardcoded address _________________
Do not ask me about online cheats. I don't know any and wont help finding them. |
|
| Back to top |
|
 |
killer+bee Advanced Cheater
Reputation: 0
Joined: 28 Oct 2005 Posts: 85
|
Posted: Sun Jan 22, 2006 9:04 am Post subject: |
|
|
Wow that's pretty cool. I'll give that a try. I was wanting to be able to define my own variable (storage space) but wasn't sure how to do it so that I could access it via a table. I ended up using a code cave. This should be much more reliable across different systems.
I'll post the results and an updated table should things go well.
Thanks for the tip DB.
-kb |
|
| Back to top |
|
 |
killer+bee Advanced Cheater
Reputation: 0
Joined: 28 Oct 2005 Posts: 85
|
Posted: Sun Jan 22, 2006 10:38 am Post subject: |
|
|
It works well.
Attached is the updated table with the autoscript registered pointer technique.
attachment deleted
-kb
PS: Even though farcry changes the pointers after each section load, you don't have to unfreeze any pointers in the table. The table auto-updates to the new pointers and keeps them frozen.
Last edited by killer+bee on Sun Jan 22, 2006 4:27 pm; edited 1 time in total |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 181
Joined: 09 May 2003 Posts: 13581 Location: The netherlands
|
Posted: Sun Jan 22, 2006 4:01 pm Post subject: |
|
|
Just thought of something 3309EA72 what is that?
a routine in a dll?
if so, you can use the same method used as in the civ 4 table, but then for a script. So if the dll location is different it corrects the address for you.
e.g if 3309EA72 is actuall gameengine.dll+9ea72 then you can also type as address
| Code: |
gameengine.dll+9ea72:
jmp newmem
nop
returnhere:
|
_________________
Do not ask me about online cheats. I don't know any and wont help finding them. |
|
| Back to top |
|
 |
killer+bee Advanced Cheater
Reputation: 0
Joined: 28 Oct 2005 Posts: 85
|
Posted: Sun Jan 22, 2006 4:30 pm Post subject: |
|
|
| Dark Byte wrote: | Just thought of something 3309EA72 what is that?
a routine in a dll?
if so, you can use the same method used as in the civ 4 table, but then for a script. So if the dll location is different it corrects the address for you.
e.g if 3309EA72 is actuall gameengine.dll+9ea72 then you can also type as address
| Code: |
gameengine.dll+9ea72:
jmp newmem
nop
returnhere:
|
|
Good point. Pretty good guess at the dll offset. That was exactly right. Crygame.dll+9ea72. I was surpised when my hex calculator displayed that. Tested and it's working. Table updated.
I removed the previous tables.
-kb |
|
| Back to top |
|
 |
|