1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

A brief introduction to using Cheat Engine

To create a motion plugin using the hook method you first need to find the right values from the game, which is where CheatEngine come in as a handy tool to do that.

Here @value1 gives a basic introduction on finding values using Cheat Engine: http://www.xsimulator.net/community/threads/elite-dangerous-plugin.6108/page-13#post-100495

There are more examples how to find memory hooks:
NoLimits,
Wings of Prey
War Thunder
TestDriveUnlimited2.

This here is a sketch, how to find the telemetry data for Elite: Dangerous. It's not a tutorial for CheatEngine.

A) Pitch, roll and yaw are the easy ones.
You roll the spacecraft to the left and search for values of about 1.77, roll right and search for values of about -1.77. Repeat until you finally end up with 5 memory locations with these values.
Find a stable pointer to one of these memory locations.
-4 will be the yaw value and -8 will be the pitch value.

B) The more tricky values are surge, sway and heave.
In training mode accelerate the spacecraft forward and search for values < -1.1
Brake and accelerate the spacecraft backward and search for values > +1.1
Repeat this step until you have only a few memory locations which appear to contain the surge acceleration.

C) Unfortunately these values are in world coordinates. So you now have to find the transformation matrix.
This is a 3×4 matrix with all values < 1 and with
__________
│fx fy fz f0
│rx ry rz r0
│ux uy uz u0
__________
│f│ = √(fx² + fy² + fz²) = 1
│r│ = √(rx² + ry² + rz²) = 1
│u│ = √(ux² + uy² + uz²) = 1
[u ] = [f] × [r]


So search for 12 consecutive memory locations that fulfil these conditions.
Once you have found such a matrix, check, if it changes when moving the spacecraft and make sure, it does not change, when you look around in the ship.

Again find the stable pointers pointing to the first element of the matrix.

Now as you have found the surge speed (and not the surge acceleration) in step B) you will have to calculate the acceleration by surge acceleration SA = ΔSs/Δt (with Ss = surge speed)

For the transformation of world coordinates to local coordinates the calculation is (in principle)
sx = Sx · fx + Sy · fy + Sz ·fz
sy = Sx · rx + Sy · fy + Sz ·rz
sz = Sx · ux + Sy · uy + Sz ·uz

s =surge acceleration in local coordinates, S = surge acceleration in world coordinates
The order of the f,r,u and s may be changed, depending on the coordinate system. You have to try, what makes sense.
And you're done.
You might need some time to find these values and pointers. It takes ma typically between one and two days…
Category:
Plugins
Published:
Mar 6, 2016
Page Views:
4626