Page 1 of 1

CounterAttack

Posted: Thu Jun 28, 2018 8:12 am
by koderkrazy
Hello all, I've worked on following cheats for CounterAttack(Unity mono).

Game: CounterAttack
Developer: Relative Games
Steam: [Link]

Table: CounterAttack_v0.20.3r5_TableV3.ct
Image
[Link]
30-Jun-18:
+ Unlimited Life
02-July-18
+ Selected PowerUP
+ Max options for all 10 power ups.

Video: https://www.youtube.com/watch?v=jN66a9Wj7GA:101

Let me know suggestions/improvements. 😊

CounterAttack

Posted: Thu Jun 28, 2018 9:27 am
by Pernicies
Game crashed after activating "CounterAttack Fun Script"?



Edit: Sorry, my fault. My Bitdefender delete the counterattack Process include the table :D

CounterAttack

Posted: Thu Jun 28, 2018 9:37 am
by koderkrazy
[QUOTE="Pernicies, post: 50434, member: 888"]Game crashed after activating "CounterAttack Fun Script"?[/QUOTE]



The script just activates 'Mono Features'.

Try activating them manually, before activating script. and let me know.



[IMG]https://preview.ibb.co/bRj4H8/mono_Feature.jpg[/IMG]

1530178884



1530179132

[QUOTE="Pernicies, post: 50434, member: 888"]Game crashed after activating "CounterAttack Fun Script"?



Edit: Sorry, my fault. My Bitdefender delete the counterattack Process include the table :D[/QUOTE]

Did all options work? I am eager to know.. ?



To get specific power up, loose green quantium by pressing ] key. And press right click when on it.

For getting more lives keep pressing right mouse button.

CounterAttack

Posted: Thu Jun 28, 2018 11:10 am
by Pernicies
Oh, I play with Xbox controller, but YES, everything works. Did not know that you can choose the power of the Green Stars, after an item is skipped by too many green stars. I'll try it out. But the table works so far perfectly

CounterAttack

Posted: Sat Jun 30, 2018 8:05 am
by koderkrazy
Added [B]Unlimited Life [/B]cheat. See main post for latest table.

CounterAttack

Posted: Sun Jul 01, 2018 2:41 am
by Pernicies
Which would be helpful, at least for me, if one could modify these green points (speed, drones, addons, plasma, etc.) individually. Then this table would be perfect for me. Can you please add that?

---------------------------------------------------------------------------------------------------------------------------------------

Was noch hilfreich wäre, jedenfalls für mich, wenn man diese Grüne Punkte (Speed, Drones, Addons, Plasma usw.) einzeln modifizieren könnte. Dann wäre dieser Table für mich perfekt. Kannst Du das bitte noch hinzufügen?

CounterAttack

Posted: Sun Jul 01, 2018 4:01 am
by koderkrazy
Each ship has different maximum values for these green stats. Safe option is to provide setting for each stat to set to max value(for that ship). e.g. setSpeedToMax, setMissilesToMax, setDronesToMax etc.

If you want to enter numbers manually, then you'll have to refer to ships max value first. If you enter wrong value then I don't know how the game will react.

I'll provide settings for each stat to set to max value for the current ship. Is it ok?

CounterAttack

Posted: Sun Jul 01, 2018 2:08 pm
by Pernicies
Would be great



Edit: The problem with "Maxed Out Green" is that I do get life, but getting back to the other items is extremely difficult. In addition, as soon as I go back in the items, he drops a green star, but as soon as I accidentally pick it up again, the whole green bar is gray and useless, even if I pick up another green star. Therefore, my request to make the individual items modifiable or at least to bring to the maximum.

CounterAttack

Posted: Mon Jul 02, 2018 8:32 am
by koderkrazy
In the game terminology the points on green bar are called 'power up'. Using these powerups you increase ship stats, like speed.

[QUOTE="Pernicies, post: 50730, member: 888"]Would be great

[/QUOTE]

I've added max option for all powerUps(green points). For example, 'Max Speed' will set '_speed' to '_maximumSpeed'. You can increase _maximumSpeed by using 'Add on' 9th power up on green bar.



[QUOTE="Pernicies, post: 50730, member: 888"]

Edit: The problem with "Maxed Out Green" is that I do get life, but getting back to the other items is extremely difficult. In addition, as soon as I go back in the items, he drops a green star, but as soon as I accidentally pick it up again, the whole green bar is gray and useless, even if I pick up another green star.

Therefore, my request to make the individual items modifiable or at least to bring to the maximum.[/QUOTE]

Yup, added a new option to modify individual items on green bar. See '[B]Selected PowerUP[/B] ' in latest table.

Now you can directly select desired powerUp(green point) in cheat table, and in game just keep activating it(right click).



You could increase each stat up to 16. Be careful with speed. Don't max it to 16, or you won't be able to control the ship. ?



Also don't forget to use "Add On", 9th power up on green bar:

[IMG]https://preview.ibb.co/dreT1d/Max_Powerups.jpg[/IMG]

CounterAttack

Posted: Mon Jul 02, 2018 9:04 am
by SunBeam
Hey [USER=18664]@koderkrazy[/USER].



Was checking your table today (am not playing the game, but we've had some encounters on the board) out of curiosity. I got a suggestion that might help you bring a bit of order in what you're doing (not that it doesn't work the way you thought it). I was checking this out: [I]Counter Attack _ script V3[/I].



So:

[code]aobscanregion(_disableHaxINJECT,PlayerMovement:PlayHaxAnimation,PlayerMovement:PlayHaxAnimation+ff, 0F 84 5E 00 00 00 8b 45 08 8b 80 )[/code]

While this may be nice and dandy, don't you wanna do the scan [I]only in the PlayerMovement: PlayHaxAnimation function[/I]. What I mean by this: determine where PlayerMovement: PlayHaxAnimation function ends :) Instead of 0xFF (again, I know using a high enough range would suffice).



Here's what I did in the [B]BattleTech[/B] script of mine (will explain):

[LIST]

[*]first-up I found this custom Lua [B]AOBScanEx[/B] function that accepts as parameters a start and end (among other parameters)

[/LIST]

[code]local function AOBScanEx( aob, p, a, n, s, e, pb )

local p, a, n, s, e = p or '*X*W', a or fsmNotAligned, n or '0', s or 0x0, e or 0xffffffffffffffff

local ms = pb and createMemScan( pb ) or createMemScan()

local fl = createFoundList( ms )

ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )

ms.waitTillDone()

fl.initialize()

local result = nil

if fl ~= nil and fl.getCount() > 0 then

result = createStringlist()

for i = 1, fl.getCount() do result.add( fl.getAddress( i-1 ) ) end

end

fl.destroy()

ms.destroy()

return result

end[/code]

[LIST]

[*]you may check it out here: [URL]https://forum.cheatengine.org/viewtopic.php?t=577536[/URL] (I'm not quite sure if [I]aobscanregion[/I] does the trick instead of this, but you'd have to call ASM from Lua - - as in [I]autoAssemble([[ .. ]])[/I])

[*]then I used this to start a scan for a pattern (just like you do) from function's [B]prologue[/B]; and what I looked for is a [I]jump[/I] somewhat close to the prologue, a condition based on which function would leap to the [B]epilogue[/B]; I'm aware not all functions might have a conditional like this, but in my situation this worked

[*]if you're not in a scenario like the above one, a [B]C3[/B] ([B]RET[/B]) should do

[/LIST]

Then I wrote this:

[code]local function AOBScanEx( aob, p, a, n, s, e, pb )

local p, a, n, s, e = p or '*X*W', a or fsmNotAligned, n or '0', s or 0x0, e or 0xffffffffffffffff

local ms = pb and createMemScan( pb ) or createMemScan()

local fl = createFoundList( ms )

ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )

ms.waitTillDone()

fl.initialize()

local result = nil

if fl ~= nil and fl.getCount() > 0 then

result = createStringlist()

for i = 1, fl.getCount() do result.add( fl.getAddress( i-1 ) ) end

end

fl.destroy()

ms.destroy()

return result

end



local prologue = getAddress( "BattleTech.UI:CombatDebugHUD:SetGodMode" )

local getJMP = AOBScanEx( "45 33 ED E9 ?? ?? ?? ??", nil, nil, nil, prologue, prologue+0x100 )

local jmp = tonumber( getJMP[0], 16 ) + 0x3

local destination = jmp + readInteger( jmp + 0x1 ) + 0x5

local getRET = AOBScanEx( "C3", nil, nil, nil, destination, destination+0x100 )

local epilogue = tonumber( getRET[0], 16 )

local getMOVSS = AOBScanEx( "F3 0F 10 05 ?? ?? ?? ?? F3", nil, nil, nil, prologue, epilogue )

...[/code]

Explanation per line, starting from [I]local[/I] [I]prologue[/I]:

[LIST=1]

[*]go to prologue of BattleTech.UI:CombatDebugHUD:SetGodMode function

[*]scan for 45 33 ED E9 ?? ?? ?? ?? from prologue till prologue+0x100 (see, I too use a range high enough)

[*]when found, convert result from string to qword and offset it by 0x3 (to get to E9 ?? ?? ?? ??, which is a JMP)

[*]to get to the destination of the JMP, the formula is: current line address + the bytes past the identifier (E9 in this case) + size of opcode (E9 ?? ?? ?? ?? ?? = 5 bytes); so addr + readInteger(addr + 1) + 5 == destination address

[*]scan for C3 from destination address to find function RET (thus the epilogue) - - again, am using a range high enough (+0x100)

[*]convert found address from string to qword

[*]find F3 0F 10 05 ?? ?? ?? ?? F3 between prologue and epilogue, thus only inside our function

[/LIST]

Done :D



Take it or leave it :p



BR,

Sun

CounterAttack

Posted: Mon Jul 02, 2018 10:17 am
by koderkrazy
I will always appreciate suggestions. Thanks for reviewing my code. ?



My thought process, in general, behind using 0xFFF and not exact end of the methods in the asm aobscanRegions:

- In case the method implementation grows in next release, I don't want my injection fall out of the scan region.

- I know my search AOBs are unique enough in the range, till 0xFFF.

- so for tiny re-usability across multiple releases of the game I specify wide range.



In this case which you reviewed. I screwed re-usability by specifying exact jump length.?



Your second Lua code does it perfectly, with more accuracy.

I'll note this down. I am not up to speed with lua yet.



Great stuff! Keep it coming!!

CounterAttack

Posted: Mon Jul 02, 2018 12:12 pm
by SunBeam
Check out my tables from time to time, you might find goodies in there. Don't mind if you use them; just keep the credits in, as I do, since some are not my creation.

CounterAttack

Posted: Mon Jul 02, 2018 3:16 pm
by Pernicies
[QUOTE="koderkrazy, post: 50784, member: 18664"]Yup, added a new option to modify individual items on green bar. See '[B]Selected PowerUP[/B] ' in latest table.

Now you can directly select desired powerUp(green point) in cheat table, and in game just keep activating it(right click).



You could increase each stat up to 16. Be careful with speed. Don't max it to 16, or you won't be able to control the ship. ?



Also don't forget to use "Add On", 9th power up on green bar:[/QUOTE]

It's perfect. Thanks my friend. Very much

CounterAttack

Posted: Mon Jul 02, 2018 3:27 pm
by koderkrazy
My pleasure!

Re: CounterAttack

Posted: Sun Mar 13, 2022 5:55 pm
by SkullKidDanzen
Can we please have an update??