# FourWheeledVehicle

FourWheeledVehicle is a Vehicle with wheels. (Four of them.)

## Properties

Property Name Return Type Description Tags
`turnRadius` `number` The radius, in centimeters, measured by the inner wheels of the vehicle while making a turn. Read-Write

## Examples

Example using:

### `turnRadius`

This example takes vehicle stats (acceleration, max speed and tire friction) and normalizes them to rating values between 1 and 5. This could be used, for example, in the UI of a vehicle selection screen to show how vehicles compare to each other in their various stats. When the script runs it searches the game for all vehicles that exist and prints their ratings to the Event Log.

``````local ACCELE_MIN = 400
local ACCELE_MAX = 4000
local TOP_SPEED_MIN = 2000
local TOP_SPEED_MAX = 20000
local HANDLING_MIN = 0.5
local HANDLING_MAX = 10

local RATING_LEVELS = 5

function RateStat(value, min, max)
if value >= max then
return RATING_LEVELS
end
if value > min and max > min then
local p = (value - min) / (max - min)
local rating = p * RATING_LEVELS
rating = math.floor(rating) + 1
return rating
end
return 1
end

function RateVehicle(vehicle)
local accele = RateStat(vehicle.accelerationRate, ACCELE_MIN, ACCELE_MAX)
local topSpeed = RateStat(vehicle.maxSpeed, TOP_SPEED_MIN, TOP_SPEED_MAX)
local handling = RateStat(vehicle.tireFriction, HANDLING_MIN, HANDLING_MAX)

-- Print vehicle ratings to the Event Log
print(vehicle.name)
print("Acceleration: " .. accele)
print("Top Speed: " .. topSpeed)
print("Handling: " .. handling)
elseif vehicle:IsA("FourWheeledVehicle") then
else
print("Type: Unknown")
end
print("")
end

-- Search for all vehicles and rate them
for _,vehicle in ipairs(World.FindObjectsByType("Vehicle")) do
RateVehicle(vehicle)
end
``````

Last update: June 5, 2022