diff --git a/_open_mp.inc b/_open_mp.inc
index f519699..5fea63b 100644
--- a/_open_mp.inc
+++ b/_open_mp.inc
@@ -265,11 +265,12 @@ public const __OPEN_MP_VERSION = 0;
/**
*
- * An invalid value (-1) as a boolean for some natives (most notably
- * the vehicle param ones) that can skip `true`/`false` parameters.
+ * An invalid value (-1) for some natives (most notably the vehicle
+ * param ones) that can skip >true/false parameters. This isn't
+ * bool, but those functions can also take this.
*
*/
-const bool:undefined = bool:-1;
+const undefined:undefined = undefined:-1;
// Try many places to get the latest version.
diff --git a/omp_vehicle.inc b/omp_vehicle.inc
index 6f9f9d7..d380ba4 100644
--- a/omp_vehicle.inc
+++ b/omp_vehicle.inc
@@ -676,7 +676,7 @@ native bool:SetVehicleZAngle(vehicleid, Float:angle);
* 0: The function failed to execute. The player and/or vehicle specified do not exist.
*
*/
-native bool:SetVehicleParamsForPlayer(vehicleid, playerid, bool:objective = undefined, bool:doors = undefined);
+native bool:SetVehicleParamsForPlayer(vehicleid, playerid, {undefined, bool}:objective = undefined, {undefined, bool}:doors = undefined);
/**
* omp_vehicle
@@ -718,7 +718,7 @@ native bool:ManualVehicleEngineAndLights();
* 0: The function failed to execute. This means the vehicle does not exist.
*
*/
-native bool:SetVehicleParamsEx(vehicleid, bool:engine = undefined, bool:lights = undefined, bool:alarm = undefined, bool:doors = undefined, bool:bonnet = undefined, bool:boot = undefined, bool:objective = undefined);
+native bool:SetVehicleParamsEx(vehicleid, {undefined, bool}:engine = undefined, {undefined, bool}:lights = undefined, {undefined, bool}:alarm = undefined, {undefined, bool}:doors = undefined, {undefined, bool}:bonnet = undefined, {undefined, bool}:boot = undefined, {undefined, bool}:objective = undefined);
/**
* omp_vehicle
@@ -735,7 +735,7 @@ native bool:SetVehicleParamsEx(vehicleid, bool:engine = undefined, bool:lights =
* If a parameter is unset (SetVehicleParamsEx not used beforehand) the value will be -1
* ('unset').
*/
-native bool:GetVehicleParamsEx(vehicleid, &bool:engine = undefined, &bool:lights = undefined, &bool:alarm = undefined, &bool:doors = undefined, &bool:bonnet = undefined, &bool:boot = undefined, &bool:objective = undefined);
+native bool:GetVehicleParamsEx(vehicleid, &{undefined, bool}:engine = undefined, &{undefined, bool}:lights = undefined, &{undefined, bool}:alarm = undefined, &{undefined, bool}:doors = undefined, &{undefined, bool}:bonnet = undefined, &{undefined, bool}:boot = undefined, &{undefined, bool}:objective = undefined);
/**
* omp_vehicle
@@ -763,7 +763,7 @@ native bool:GetVehicleParamsSirenState(vehicleid);
*
* 1 is open, 0 is closed
*/
-native bool:SetVehicleParamsCarDoors(vehicleid, bool:frontLeft = undefined, bool:frontRight = undefined, bool:rearLeft = undefined, bool:rearRight = undefined);
+native bool:SetVehicleParamsCarDoors(vehicleid, {undefined, bool}:frontLeft = undefined, {undefined, bool}:frontRight = undefined, {undefined, bool}:rearLeft = undefined, {undefined, bool}:rearRight = undefined);
/**
* omp_vehicle
@@ -779,7 +779,7 @@ native bool:SetVehicleParamsCarDoors(vehicleid, bool:frontLeft = undefined, bool
* The values returned in each variable are as follows: -1 if not set, 0
* if closed, 1 if open.
*/
-native bool:GetVehicleParamsCarDoors(vehicleid, &bool:frontLeft = undefined, &bool:frontRight = undefined, &bool:rearLeft = undefined, &bool:rearRight = undefined);
+native bool:GetVehicleParamsCarDoors(vehicleid, &{undefined, bool}:frontLeft = undefined, &{undefined, bool}:frontRight = undefined, &{undefined, bool}:rearLeft = undefined, &{undefined, bool}:rearRight = undefined);
/**
* omp_vehicle
@@ -797,7 +797,7 @@ native bool:GetVehicleParamsCarDoors(vehicleid, &bool:frontLeft = undefined, &bo
*
*
*/
-native bool:SetVehicleParamsCarWindows(vehicleid, bool:frontLeft = undefined, bool:frontRight = undefined, bool:rearLeft = undefined, bool:rearRight = undefined);
+native bool:SetVehicleParamsCarWindows(vehicleid, {undefined, bool}:frontLeft = undefined, {undefined, bool}:frontRight = undefined, {undefined, bool}:rearLeft = undefined, {undefined, bool}:rearRight = undefined);
/**
* omp_vehicle
@@ -814,7 +814,7 @@ native bool:SetVehicleParamsCarWindows(vehicleid, bool:frontLeft = undefined, bo
* if closed, 1 if open.
* The vehicle's windows state is stored in the specified variables.
*/
-native bool:GetVehicleParamsCarWindows(vehicleid, &bool:frontLeft = undefined, &bool:frontRight = undefined, &bool:rearLeft = undefined, &bool:rearRight = undefined);
+native bool:GetVehicleParamsCarWindows(vehicleid, &{undefined, bool}:frontLeft = undefined, &{undefined, bool}:frontRight = undefined, &{undefined, bool}:rearLeft = undefined, &{undefined, bool}:rearRight = undefined);
/**
* omp_vehicle