Skip to content

MissionMaker Position Grabber Info

Telonof edited this page Jun 5, 2026 · 7 revisions

Position Grabber Info

Using the position grabber allows you to capture positional data for items such as checkpoints, crates, spawn and movie positions etc.

Getting Started

The first thing you want to do when making missions is to grab every position you'll need for it in-game. So first, boot up your game and head into freedrive mode.

Note

Due to the nature of this program, it is recommend you run the game in windowed mode as you'll need to switch to it to use it's command line. Potentially one day someone will make a better system for the grabber, preferably one that does not even require the game to be launched at all.

From here, open up TC1PositionGrabber, then click any key with the command line in focus to hook into the game's memory. After which you'll be given a few options:

Important

You won't see your checkpoint placements in-game, this is a command-line application.
If you're getting an "Access Denied" error, consider running the position grabber application with administrator privileges.

Everything but movie position will be based your car's location and your camera's yaw pitch and roll.

  • Yaw = left right
  • Pitch = up and down
  • Roll = rotation of itself (ex. rotating the camera 90 degrees on it's side)

Movie positions will use your camera's location.

Tools Options

1: Place checkpoint

Pressing 1 will place a checkpoint at the current location facing the way your camera is facing.

2: Invisible Checkpoint

Pressing 2 will place down an invisible checkpoint at the current location facing the way your camera is facing.

3: Spawnpoint

Pressing 3 will set down the location the car will appear when the mission starts.

4: Map position

Pressing 4 will set down the location the mission will appear on the map (it does not have to be the same as the spawnpoint).

5: Movie position

Pressing 5 will set the location of where the movie will be located along with where it's facing.

Important

Set this location to be close to the actual spawnpoint, setting this far away may cause the mission to softlock on load!


6: Prop

Pressing 6 will set a prop with the default object of a shipping container at the car's location (can be changed later).

7: Generic Point

Pressing 7 will place down a generic point for uses such as crates, police spawns, and takedown entity locations.

Important

Crates will not function if placed extremely close to the spawnpoint. Ensure crate positions are little further away from the spawnpoint.

8: Generic Movie Point

Pressing 8 will place down a generic point for uses such as crates, police spawns, and takedown entity locations. With this setting using your camera's location rather than car's location.

9: Delete last placed checkpoint

Pressing 9 will remove the last checkpoint you placed down if you wish to re-do it (perhaps your camera was facing the wrong way).

0: Exit & Write

Pressing 0 will close the application and make an XML file under out.xml.

Example:

<root>
	<spawnPosition>85688.11,56058.496,192.34196</spawnPosition>
	<spawnYaw>153</spawnYaw>
	<missionLocation>85688.11,56058.496,192.34196</missionLocation>
	<movie>
		<position>85691.81,56066.453,192.84859</position>
		<yaw>65</yaw>
		<pitch>4.2797656</pitch>
		<roll>-9.489866</roll>
	</movie>
	<checkpoints>
		<checkpoint>
			<invisible>False</invisible>
			<snap>true</snap>
			<width>10</width>
			<height>10</height>
			<yaw>241</yaw>
			<position>85709.83,55983.26,192.75832</position>
		</checkpoint>
	</checkpoints>
</root>

Assuming you already planned your routes, drive along, head to the places you want stuff placed down, switch to the command window, click the specified numbers, and setup your location data.

Tip

A quick way to switch windows is instead of pressing ESC to pause, open photo mode with P instead, that way your camera and car freeze perfectly in position.

Once you exit, your out.xml should have most position data setup for you. From here, it's best you copy this information to a temporary file as you move on to the actual mission settings.

Warning

Pressing 0 on the next usage of this program will backup your original out.xml into out-backup.xml for accidental presses. But pressing it a 3rd time will overwrite your backup with the previous version of out.xml. So make sure your information is safe in another file before attempting to setup new location data.

Technical Info

Feel free to skip this section if you do not care about the position grabber's inner workings.

The car's positional data is grabbed by pattern matching SvcScenaricUtils within the program's static memory addresses and going back 112 bytes to grab 12 bytes. Split into 3, these are float32's that are the xyz coords.

The camera's data is grabbed by pattern matching SvcCamera specifically skipping an instance where bytes 0x60 and 0xF8 are 24 bytes ahead of the string.

For position we grab 12 bytes 760 bytes away from the first letter in SvcCamera. There is 3 float32's within the 12 bytes which represent xyz coords.

For yaw we grab 8 bytes 328 bytes away from the first letter in SvcCamera for 2 float values representing a direction vector. The first 4 bytes are a float32 representing a change from -1 to 1 starting from the east. The second 4 bytes are a float32 representing a change from -1 to 1 starting from the north.

Example: -1 east | 0 north = west 1 east | 1 north = north east

Convert the vector into a yaw angle.  

For pitch we grab 4 bytes 316 bytes away from the first letter in SvcCamera for 1 float value. Of which we multiply by 90 to get the pitch.

For roll we grab 4 bytes 312 bytes away from the first letter in SvcCamera for 1 float value. Of which we multiply by 90 to get the roll.

Clone this wiki locally