Custom Missions

EMD_Begin
EMD_End
EMD_ExportVehicleName [filename]

VehicleNames.txt %i -> "%s" where %i is the vehicle ID and %s is the vehicle name from the trans text
EMD_ForceStartPosition x y
EMD_HideStartEnd

The start area will not show up in free ride

EMD_Save [filename]

miss.tsc writes all the mission commands for the existing missions to a file save never writes EMD_SetCheckpointTimerBonus

EMD_SetAIElasticParam x y z
EMD_SetCheckpoint x y z [rx ry rz rw] [type] [w]

ww = w * pi * 180 * 1/2, (0, sin(ww), 0, cos(ww)), overrides rx ry rz rw

EMD_SetCheckpointTimerBonus bonus

Used for blits sets the time added to the timer for each checkpoint. One of these command for each checkpoint command. Otherwise uses EMD_SetTimerCheckBonus.

EMD_SetEndPos x y z
EMD_SetEndRot <w | rx ry rz rw>

ww = w * pi * 180 * 1/2, (0, sin(ww), 0, cos(ww)), sets rx ry rz rw

EMD_SetFilterIA id...
EMD_SetName name

at most 31 characters

EMD_SetNbIA num

at most 32

EMD_SetNbLoop num
EMD_SetPlayerAllowedClassFilter id...

at most 10 ids

EMD_SetPlayerAllowedGroupFilter id...

at most 10 ids

EMD_SetPlayerAllowedVehiculeFilter id...

at most 32 ids

EMD_SetPlayerForbiddenClassFilter id...
EMD_SetPlayerForbiddenGroupFilter id...
EMD_SetPlayerForbiddenVehiculeFilter [id...]
EMD_SetRaceMode mode

0 < mode < 7

EMD_SetRaceScenario scenario

scenario < 15

// switch RaceScenario
// 1,7,(9,0) -> 12
// 2,(9,1) -> 9
// 3,(9,2) -> 7
// 4,5,(9,3)
   // If NbCheckpointPositions != 0
      // If (*(float *)&this[1].pCheckpointPositions > 0.0) || (NbCheckpointTimerBonus != 0)
            // -> 5
      // Else
            // 6
   // Else
      // -> 1
// 6,8,(9,4) -> 8
// (9,5) -> 11
// (9,6) -> 4
// (9,_) -> -1
// 11 -> 2
// 13 -> 3
// default -> -1

// If sub_577D70(*(_DWORD *)(v55 + 660)) == 1
   // switch ^^^
   // 0,1,4,10,12 -> Raid
   // 2 -> Follow Copter
   // 3 -> Catch Destruction
   // 5 -> Checkpoint Attack
   // 6 -> Time Trial CP
   // 7 -> Knock-Out Challenge
   // 8 -> Circuit Race
   // 9,11 -> Checkpoint Race
// Else
   // switch ^^^
   // 0,1 -> Time Trial A2B
   // 2 -> Follow Copter
   // 3 -> Catch Destruction
   // 4 -> Raid
   // 5 -> Checkpoint Attack
   // 6 -> Time Trial CP
   // 7 -> Knock-Out Challenge
   // 8 -> Circuit Race
   // 9 -> Checkpoint Race
   // 10 -> Long Raid
   // 11 -> Baja
   // 12 -> A to B
EMD_SetStartPos x y z
EMD_SetStartRot <w | rx ry rz rw>

ww = w * pi * 180 * 1/2, (0, sin(ww), 0, cos(ww)), sets rx ry rz rw

EMD_SetTimer time

Sets the time attack time out

EMD_SetTimerCheckBonus bonus
EMD_SetWeatherScenario

stub, does nothing

AddHubCareerRaces hub_name mission_name tt_name tt_description

careful with this one, it’ll fuck up your save file

tt_description does not do anything, should be NONE

AddMissionSurfaceType mission_name tt_surface_type tt_vehicle_type
AddMissionParam mission_name ai_vehicle_id_string start_time_of_day end_time_of_day start_weather_string start_fog end_weather_string end_fog start_weather_auxiliary end_weather_auxiliary

Weather String

SUN TOR W# wind S# snow C# cloud R# rain G# sand - unused TOR_W#100_S#50_C#75_R#10

AddMissionCarOnline mission_name vehicle_id_string
AddMissionNeededVehicle mission_name vehicle_name vehicle_surface_string vehicle_type_string some_vehicle_string
AddMissionFuel mission_name legend expert rookie
AddMissionTime mission_name legend expert rookie time_limit
AddMissionIASpeed mission_name x y
AddNbMaxOnlineVehicle mission_name num