View previous topic :: View next topic |
Author |
Message |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
Posted: Sat Oct 04, 2014 5:40 am Post subject: Command and Conquer 4: instant build |
|
|
Hi, this is to admin only because he is very fond of this game and I am sure he will help me. I have been playing this offline and cracked game for months. I cheated every thing in game except instant build(anyway they affects all players and crawlers in game ). I found a unit's build timer which gets changed on every unit. I am a noob to programming so I opened it in asm.
The code was :- movss [esi+1C]xmm0
I tried to replace it:- :- mov [esi+1C](float)100
Now the problem is that enemy too does instant build . I want that for my own crawler only so what should I do.
Henke37 tried to help me but setting breakpoint to ret 0004 crashes my game. Please give me some script for instant build or tell me how to do this.
IN ADDITION: I am active on irc so please HEEELP.No trainers work for my game
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25803 Location: The netherlands
|
Posted: Sat Oct 04, 2014 6:06 am Post subject: |
|
|
find a way to distinguish between enemy and player
go to that address in memoryview and then "find out what addresses this instruction accesses"
then do a structure dissect and compare on the results (-1c) and see if you can find an indicator, or short path to an indicator that specifies what team it is
you may also do another code injection somewhere else to find out what your current team number actually is (unless it's always the same 0 like in the campaign)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
 |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
Posted: Sat Oct 04, 2014 7:16 am Post subject: God Mode script for the Player team |
|
|
Thanx for the reply, Admin. I am skipping instant build to God Mode to learn some basics.
I saw a tutorial and did dissact structure you told. this is all I did till now. Looks like I cant move forward this because the tutorial says to make script directly from this.
The Group 1 is the Player group.
Description: |
|
Filesize: |
446.95 KB |
Viewed: |
28229 Time(s) |

|
|
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sat Oct 04, 2014 11:20 am Post subject: |
|
|
When trying to find enemy/ally ID, it is better to compare more structures for better results. If possible, try to compare 3 or 4 enemy structures against 3 or 4 ally structures, simultaneously. Obviously, the more you can compare, the better. You may even find unit ID and more by doing this.
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25803 Location: The netherlands
|
Posted: Sat Oct 04, 2014 11:25 am Post subject: |
|
|
my initial guess would be to go for offset 34, but as ++methos already mentioned, you need to compare to at least 1 more thing (friend or enemy) to get a clearer picture (that's why the tutorial doesn't only provide two players)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
 |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25803 Location: The netherlands
|
Posted: Sat Oct 04, 2014 1:15 pm Post subject: |
|
|
Perhaps the object that used to be at 15d231f4 got destroyed, meaning it's memory got used by something else
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sat Oct 04, 2014 1:45 pm Post subject: |
|
|
When you check to see which addresses are being accessed by your targeted instruction, it is important to do the following:
1. Set the proper data type so that your values are displayed correctly (e.g. for health, it's usually float type, not 4 byte).
2. If any values seem unusual after changing the data type, you have to consider the possibility that those addresses may no longer be applicable for comparison, as Dark Byte explained, due to that particular unit being off-screen or being dead etc., or, the instruction is handling more than just health values - which means, you might consider using a more suitable instruction for your injection point (if available), or, take special notice of those unusual values in your data structure by examining their differences and/or removing them altogether. Repeat as needed to determine reliability of compare ID.
Regardless, you will want to test and retest to ensure reliability of compare ID. This is true for most newer games as it is rarely a straightforward, easy process.
Don't forget to use the -04 offset in your structure table. If using CE 6.4, you can add multiple values, simultaneously, to auto-create your structure table...which can save you a lot of time. By using this approach, the offset is also automatically incorporated.
I agree...the 15D231F4 address is probably no longer valid. You can use speedhack to slow the game down, considerably, in an effort to avoid this problem while you build your structure table etc..
|
|
Back to top |
|
 |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
Posted: Sat Oct 04, 2014 2:48 pm Post subject: Too much frustrated |
|
|
It now gives pointers for current healths now. Both in skirmish and campeign.
Description: |
|
Filesize: |
318.15 KB |
Viewed: |
28144 Time(s) |

|
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25803 Location: The netherlands
|
Posted: Sat Oct 04, 2014 3:33 pm Post subject: |
|
|
expand the pointers at offset 4 and 8 just to be sure
anyhow, see if you can somehow find out a way to find out the current team id. e.g perhaps something that only reads your current command vehicle health (so when you check what addresses it accesses it only access that one unit)
then use that to get the current value for offset 34 and 54 and then do a code injection that when hit do not allow it when offset 34 or 54 matches that of your command
tip: Try a pointerscan for the current command vehicle, or a pointerscan for the currently selected vehicle and manually activate it, then use that pointer to check the id
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sat Oct 04, 2014 4:30 pm Post subject: Re: Too much frustrated |
|
|
MohitKumarJangra wrote: | It now gives pointers for current healths now. Both in skirmish and campeign. | -Just change the element so that it shows it as float type at that offset instead of a pointer.
I would restart the game and check to see if offsets 34 and 54 are the same at 33/3. If so, you can test those for your conditional jump. That is the simplest approach. Darkbyte's approach is more advanced, but may be a necessary one.
|
|
Back to top |
|
 |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
Posted: Sat Oct 04, 2014 9:44 pm Post subject: Looks Like I have Found The Thing |
|
|
There is no such other line in whole list like this. all are matching completely or different.
In my openion, 004C is the Player id.
One more thing, does reastrting the game changes the address and offset of the Player ID?
NOW TO CREATE GOD MODE SCRIPT WITH THIS PLAYER ID?
Description: |
|
Filesize: |
331.81 KB |
Viewed: |
28054 Time(s) |

|
Description: |
|
Filesize: |
331.81 KB |
Viewed: |
28069 Time(s) |

|
|
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sat Oct 04, 2014 11:06 pm Post subject: Re: Looks Like I have Found The Thing |
|
|
MohitKumarJangra wrote: | There is no such other line in whole list like this. all are matching completely or different.
In my openion, 004C is the Player id. | -Okay, good...you can try that.
MohitKumarJangra wrote: | One more thing, does reastrting the game changes the address and offset of the Player ID? | -The addresses are dynamic, but that doesn't matter because the instruction handles them all. The offsets should not change unless the developers release a patch/update that causes them to change (which is rare).
MohitKumarJangra wrote: | NOW TO CREATE GOD MODE SCRIPT WITH THIS PLAYER ID? | -Highlight the instruction in memory viewer, and select 'tools' from the drop-down menu. Click on 'Auto Assemble'. In the AA window, select 'Template' and click on 'Cheat table framework code'. Select 'Template' again, and click on 'Code injection'. Click 'okay'. When you are finished with writing your script, select 'File' and click on 'Assign to current cheat table'.
If you need help with writing your script, copy/paste it here. Someone will help you.
|
|
Back to top |
|
 |
MohitKumarJangra Newbie cheater
Reputation: 0
Joined: 30 Sep 2014 Posts: 17
|
Posted: Sun Oct 05, 2014 1:29 am Post subject: |
|
|
I do not know why But I can not find any player id in that dissact window. The method surely correct and all four units were alive, I checked their healths in game. The one offset I show you in last screenshot was only one in the whole list inc pointers, but that too was changed.
Also, I need a script to be enabled and disabled with cheat engine framework code but cant guess how to do it disable. Here is the original script:
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
movss [esi+1C],xmm0
exit:
jmp returnhere
"CNC4.game"+343634:
jmp newmem
returnhere:
and this is the code I am replacing it with: mov [esi+1C],(float)100
|
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Oct 05, 2014 2:47 am Post subject: |
|
|
MohitKumarJangra wrote: | I do not know why But I can not find any player id in that dissact window. The method surely correct and all four units were alive, I checked their healths in game. The one offset I show you in last screenshot was only one in the whole list inc pointers, but that too was changed. | -Then you must keep looking. Look inside pointer trees to dig deeper and use the structure spider to find possible ID strings.
MohitKumarJangra wrote: | Also, I need a script to be enabled and disabled with cheat engine framework code but cant guess how to do it disable. | -Follow the instructions that I posted and you will have enable/disable functions. Once you have done that, if you still need help, copy/paste your new script here and I will help you.
Writing the script is pointless, however, until you have found a proper ID for your filter.
|
|
Back to top |
|
 |
|