Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Help] drift score multiplier for racing game

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
rafnmike
How do I cheat?
Reputation: 0

Joined: 11 Feb 2023
Posts: 2

PostPosted: Sat Feb 11, 2023 10:28 pm    Post subject: [Help] drift score multiplier for racing game Reply with quote

Hello, pardon my ignorance as I am fairly new to cheat engine and scripting as a whole. I am trying to add a multiplier to a drift score in an old racing game, Need For Speed Underground 2. (Assuming it'll be easy because it's old, I can't figure it out lol) I can find flag values, static pointers, health, vehicle vel, money, etc. but I am still pretty inexperienced. Anyways, here is the code I have currently, attached below. I read and used a template as an idea from another post on here, but I have also tried to use movss, mov, add, fmul, and I can't seem to get it to work in any variation I add it in, even with code injection or AOB injection. I am a hands on learner, if I see how to do it, I repeat it myself over and over until it is stuck in my head, and use that knowledge for other things. But I have no found any type of information for multipliers that seems to work.

When "find out what writes to this address" I get 2 options. The first one appears once I start drifting and achieve any type of score, the second one appears once the score is set and stored. I chose to use the address that first appears, when getting the score as I drift.

The current code immediately crashes the game when activating. I can change the score manually in the cheat table, but I want to add a multiplier to it, for learning purposes. Any and all tips / information will be appreciated, as well as constructive criticism.



nfs2 drift multiplier fail.PNG
 Description:
 Filesize:  49.71 KB
 Viewed:  4508 Time(s)

nfs2 drift multiplier fail.PNG



_________________
Newbie learning to cheat!
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4724

PostPosted: Sun Feb 12, 2023 2:02 am    Post subject: Reply with quote

Code:
fld dword ptr [SPEED2.EXE+16E9E7]
The address `SPEED2.EXE+16E9E7` is the injection point. The only thing there is code- it's certainly not a float value.
It looks like esi+24 is the address of the value you want to modify, and the value itself is already on the fpu stack. Just fmul would work.

Also, the jump from the injection point jumps to newmem. However, there isn't code at newmem: it's the float value 3.0f. Maybe you meant to use DriftMultStart instead?
Code:
...
newmem:
  fmul dword ptr [DriftMultFloat]
code:
  fstp dword ptr [esi+24]
  cmp dword ptr [esi+14],01
  jmp return

newmem+500:
DriftMultFloat:
  dd (float)3.0


DriftMult:
  jmp newmem
  nop 2
return:
...

Tip: register the symbol DriftMultFloat and you can modify it from the address list. Add a new record, address = DriftMultFloat, type = float, click+drag it onto the script's memory record (append as child memrec), right click script memory record, and set "Group config -> Hide children when deactivated"

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
ragnaroks
Newbie cheater
Reputation: 1

Joined: 30 Aug 2021
Posts: 13

PostPosted: Sun Feb 12, 2023 2:06 am    Post subject: Reply with quote

add a label:
Code:

label(multiple)


delete codeDriftMultFloatDriftMultStart and modify newmem
Code:

newmem:
  fld dword ptr [SPEED2.exe+16E9E7]
  fmul dword ptr [multiple]
  fstp dword ptr [SPEED2.exe+16E9E7]
  fstp dword ptr [esi+24]
  cmp dword ptr [esi+14],01
  jmp return
multiple:
  DB 40 40 00 00


Quote:

after my post,i see the others post,and he is right
Back to top
View user's profile Send private message
rafnmike
How do I cheat?
Reputation: 0

Joined: 11 Feb 2023
Posts: 2

PostPosted: Sun Feb 12, 2023 9:28 pm    Post subject: Reply with quote

ParkourPenguin wrote:
Code:
fld dword ptr [SPEED2.EXE+16E9E7]
The address `SPEED2.EXE+16E9E7` is the injection point. The only thing there is code- it's certainly not a float value.
It looks like esi+24 is the address of the value you want to modify, and the value itself is already on the fpu stack. Just fmul would work.

Also, the jump from the injection point jumps to newmem. However, there isn't code at newmem: it's the float value 3.0f. Maybe you meant to use DriftMultStart instead?
Code:
...
newmem:
  fmul dword ptr [DriftMultFloat]
code:
  fstp dword ptr [esi+24]
  cmp dword ptr [esi+14],01
  jmp return

newmem+500:
DriftMultFloat:
  dd (float)3.0


DriftMult:
  jmp newmem
  nop 2
return:
...

Tip: register the symbol DriftMultFloat and you can modify it from the address list. Add a new record, address = DriftMultFloat, type = float, click+drag it onto the script's memory record (append as child memrec), right click script memory record, and set "Group config -> Hide children when deactivated"



Thanks for the information! I couldn't make it work with what you've provided, again it's more than likely error with me. I will do more research on cheat engine and how it works, and come back to this a little later. Might not be informed enough to try Very Happy Thank you for responding with great detail, I appreciate it!

_________________
Newbie learning to cheat!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites