Client-Side Exports
Get vehicle mileage
The following export will return vehicle mileage
exports['wizard-mileage']:GetVehicleMileage()
Example:
local mileage = exports['wizard-mileage']:GetVehicleMileage()
print("Current vehicle mileage: " .. mileage)
-- /getMileage
RegisterCommand('getMileage', function()
local mileage = exports['wizard-mileage']:GetVehicleMileage()
print("Current vehicle mileage: " .. mileage)
end)
Set vehicle mileage
The following export will set the vehicle mileage
exports['wizard-mileage']:SetVehicleMileage(mileage)
Example:
local mileage = 1000
exports['wizard-mileage']:SetVehicleMileage(mileage)
print("Vehicle mileage set to: " .. mileage)
-- /setMileage <number>
RegisterCommand('setMileage', function(source, args)
local mileage = tonumber(args[1])
if mileage then
exports['wizard-mileage']:SetVehicleMileage(mileage)
print("Vehicle mileage set to: " .. mileage)
else
print("Usage: /setMileage <number>")
end
end)
Get parts change mileage
The following export will return with a table including sparkPlugChange
oilChange
oilFilterChange
airFilterChange
tireChange
brakeChange
suspensionChange
clutchChange
exports['wizard-mileage']:GetVehicleLastPartsChange()
Example:
local partsChange = exports['wizard-mileage']:GetVehicleLastPartsChange()
print("Last spark plugs change mileage: " .. tostring(partsChange.sparkPlugChange))
print("Last oil change mileage: " .. tostring(partsChange.oilChange))
print("Last oil filter change mileage: " .. tostring(partsChange.oilFilterChange))
print("Last air filter change mileage: " .. tostring(partsChange.airFilterChange))
print("Last tire change mileage: " .. tostring(partsChange.tireChange))
print("Last brake change mileage: " .. tostring(partsChange.brakeChange))
print("Last suspension change mileage: " .. tostring(partsChange.suspensionChange))
print("Last clutch change mileage: " .. tostring(partsChange.clutchChange))
-- /getLastPartsChange (sp, oil, oilf, airf, tire, brake, sus, clutch)
RegisterCommand('getLastPartsChange', function(source, args)
if not args[1] then
print("Usage: /getLastPartsChange <part>")
return
end
local partName = tostring(args[1])
local partsChange = exports['wizard-mileage']:GetVehicleLastPartsChange()
if partName == 'sp' then
print("Last spark plugs change mileage: " .. tostring(partsChange.sparkPlugChange))
elseif partName == 'oil' then
print("Last oil change mileage: " .. tostring(partsChange.oilChange))
elseif partName == 'oilf' then
print("Last oil filter change mileage: " .. tostring(partsChange.oilFilterChange))
elseif partName == 'airf' then
print("Last air filter change mileage: " .. tostring(partsChange.airFilterChange))
elseif partName == 'tire' then
print("Last tire change mileage: " .. tostring(partsChange.tireChange))
elseif partName == 'brake' then
print("Last brake change mileage: " .. tostring(partsChange.brakeChange))
elseif partName == 'sus' then
print("Last suspension change mileage: " .. tostring(partsChange.suspensionChange))
elseif partName == 'clutch' then
print("Last clutch change mileage: " .. tostring(partsChange.clutchChange))
else
print("Available parts: sp, oil, oilf, airf, tire, brake, sus, clutch")
end
end)
Set parts change mileage
The following export will set the parts change mileage. you need a table including whatever you want to update (you can also update multiple values using single export): sparkPlugChange
oilChange
oilFilterChange
airFilterChange
tireChange
brakeChange
suspensionChange
clutchChange
NOTE: Brake and Clutch wear must be updated too!
exports['wizard-mileage']:SetVehicleLastPartsChange(partsChange)
Example:
local partsChange = {
sparkPlugChange = 2000,
oilChange = 2000,
-- oilFilterChange = 2000,
-- airFilterChange = 2000,
-- tireChange = 2000,
-- brakeChange = 2000,
-- suspensionChange = 2000,
-- clutchChange = 2000,
}
exports['wizard-mileage']:SetVehicleLastPartsChange(partsChange)
print("Last parts change data updated.")
-- /setLastPartsChange (sp, oil, oilf, airf, tire, brake, sus, clutch) <mileage>
RegisterCommand('setLastPartsChange', function(source, args)
if #args ~= 2 then
print("Usage: /setLastPartsChange (sp, oil, oilf, airf, tire, brake, sus, clutch) <mileage>")
return
end
local partName = tostring(args[1]):lower()
local partMileage = tonumber(args[2])
if not partMileage then
print("Invalid mileage value. Please enter a number.")
return
end
local partsChange = {
sparkPlugChange = nil,
oilChange = nil,
oilFilterChange = nil,
airFilterChange = nil,
tireChange = nil,
brakeChange = nil,
suspensionChange = nil,
clutchChange = nil,
}
if partName == 'sp' then
partsChange.sparkPlugChange = partMileage
elseif partName == 'oil' then
partsChange.oilChange = partMileage
elseif partName == 'oilf' then
partsChange.oilFilterChange = partMileage
elseif partName == 'airf' then
partsChange.airFilterChange = partMileage
elseif partName == 'tire' then
partsChange.tireChange = partMileage
elseif partName == 'brake' then
partsChange.brakeChange = partMileage
elseif partName == 'sus' then
partsChange.suspensionChange = partMileage
elseif partName == 'clutch' then
partsChange.clutchChange = partMileage
else
print("Invalid part name. Available parts: sp, oil, oilf, airf, tire, brake, sus, clutch")
return
end
exports['wizard-mileage']:SetVehicleLastPartsChange(partsChange)
print("Last parts change data updated for " .. partName .. " to mileage " .. partMileage)
end)
-- /setLastPartsChange
RegisterCommand('setLastPartsChange', function()
local partsChange = {
sparkPlugChange = 2000,
oilChange = 2000,
-- add other wear values as needed
}
exports['wizard-mileage']:SetVehicleLastPartsChange(partsChange)
print("Last parts change data updated.")
end)
Get parts wear
The following export will return with a table including sparkPlugWear
oilWear
oilFilterWear
airFilterWear
tireWear
brakeWear
suspensionWear
clutchWear
exports['wizard-mileage']:GetVehiclePartsWear()
Example:
local partsWear = exports['wizard-mileage']:GetVehiclePartsWear()
print("Spark plugs wear: " .. tostring(partsWear.sparkPlugWear))
print("Oil wear: " .. tostring(partsWear.oilWear))
print("Oil filter wear: " .. tostring(partsWear.oilFilterWear))
print("Air filter wear: " .. tostring(partsWear.airFilterWear))
print("Tire wear: " .. tostring(partsWear.tireWear))
print("Brake wear: " .. tostring(partsWear.brakeWear))
print("Suspension wear: " .. tostring(partsWear.suspensionWear))
print("Clutch wear: " .. tostring(partsWear.clutchWear))
-- /getPartsWear (sp, oil, oilf, airf, tire, brake, sus, clutch)
RegisterCommand('getPartsWear', function(source, args)
if not args[1] then
print("Usage: /getPartsWear <part>")
return
end
local partName = tostring(args[1])
local partsWear = exports['wizard-mileage']:GetVehiclePartsWear()
if partName == 'sp' then
print("Spark plugs wear: " .. tostring(partsWear.sparkPlugWear))
elseif partName == 'oil' then
print("Oil wear: " .. tostring(partsWear.oilWear))
elseif partName == 'oilf' then
print("Oil filter wear: " .. tostring(partsWear.oilFilterWear))
elseif partName == 'airf' then
print("Air filter wear: " .. tostring(partsWear.airFilterWear))
elseif partName == 'tire' then
print("Tire wear: " .. tostring(partsWear.tireWear))
elseif partName == 'brake' then
print("Brake wear: " .. tostring(partsWear.brakeWear))
elseif partName == 'sus' then
print("Suspension wear: " .. tostring(partsWear.suspensionWear))
elseif partName == 'clutch' then
print("Clutch wear: " .. tostring(partsWear.clutchWear))
else
print("Available parts: sp, oil, oilf, airf, tire, brake, sus, clutch")
end
end)
Set parts wear
The following export will set the parts wear. you need a table including whatever you want to update (you can also update multiple values using single export): brakeWear
clutchWear
NOTE: There are only 2 options because other parts wear are automaticly calculated by the script and can not be changed with exports!
exports['wizard-mileage']:SetVehiclePartsWear(partsWear)
Example:
local partsWear = {
brakeWear = 0.1,
clutchWear = 0.05,
}
exports['wizard-mileage']:SetVehiclePartsWear(partsWear)
-- /setPartsWear (brake, clutch) <wear>
RegisterCommand('setPartsWear', function(source, args)
if #args ~= 2 then
print("Usage: /setPartsWear (brake, clutch) <wear>")
return
end
local partName = tostring(args[1]):lower()
local wearValue = tonumber(args[2])
if not wearValue then
print("Invalid wear value. Please enter a number.")
return
end
local partsWear = {
brakeWear = nil,
clutchWear = nil,
}
if partName == 'brake' then
partsWear.brakeWear = math.min(wearValue, Config.MaxBrakeWear)
elseif partName == 'clutch' then
partsWear.clutchWear = math.min(wearValue, Config.MaxClutchWear)
else
print("Invalid part name. Available parts: brake, clutch")
return
end
exports['wizard-mileage']:SetVehiclePartsWear(partsWear)
print("Parts wear data updated for " .. partName .. " to wear value " .. wearValue)
end)
-- /setPartsWear
RegisterCommand('setPartsWear', function()
local partsWear = {
brakeWear = 0.1,
clutchWear = 0.05,
}
exports['wizard-mileage']:SetVehiclePartsWear(partsWear)
print("Parts wear data updated.")
end)
Last updated