Server-Side Exports
Get vehicle mileage
The following export will return vehicle mileage
exports['wizard-mileage']:GetVehicleMileage(plate, function(mileage)
-- data: plate, mileage
-- do something
end)
Example:
local plate = 'XXXXXXXX'
exports['wizard-mileage']:GetVehicleMileage(plate, function(mileage)
print("Mileage for vehicle " .. plate .. ": " .. mileage)
end)
-- /serverGetMileage <plate>
RegisterCommand('serverGetMileage', function(source, args)
if not args[1] then
print("Usage: /serverGetMileage <plate>")
return
end
local plate = args[1]
exports['wizard-mileage']:GetVehicleMileage(plate, function(mileage)
print("Mileage for vehicle " .. plate .. ": " .. mileage)
end)
end)
Set vehicle mileage
The following export will set the vehicle mileage
exports['wizard-mileage']:SetVehicleMileage(plate, mileage)
Example:
local plate = 'XXXXXXXX'
local mileage = 1000
exports['wizard-mileage']:SetVehicleMileage(plate, mileage)
print("Set mileage for vehicle " .. plate .. " to " .. mileage)
-- /serverSetMileage <plate> <mileage>
RegisterCommand('serverSetMileage', function(source, args)
if not args[1] or not args[2] then
print("Usage: /serverSetMileage <plate> <mileage>")
return
end
local plate = args[1]
local mileage = tonumber(args[2])
exports['wizard-mileage']:SetVehicleMileage(plate, mileage)
print("Set mileage for vehicle " .. plate .. " to " .. mileage)
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(plate, function(partsChange)
if partsChange then
-- data: plate, partsChange.xxx
-- do something
else
print("No data found for vehicle " .. plate)
end
end)
Example:
local plate = 'XXXXXXXX'
exports['wizard-mileage']:GetVehicleLastPartsChange(plate, function(partsChange)
if partsChange then
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))
else
print("No data found for vehicle " .. plate)
end
end)
-- /serverGetLastPartsChange <plate> (sp, oil, oilf, airf, tire, brake, sus, clutch)
RegisterCommand('serverGetLastPartsChange', function(source, args)
if #args < 2 then
print("Usage: /serverGetLastPartsChange <plate> <part>")
return
end
local plate = args[1]
local partName = args[2]:lower()
exports['wizard-mileage']:GetVehicleLastPartsChange(plate, function(partsChange)
if partsChange then
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
else
print("No data found for vehicle " .. plate)
end
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(plate, partsChange)
Example:
local plate = 'XXXXXXXX'
local partsChange = {
sparkPlugChange = 2000,
oilChange = 2000,
-- oilFilterChange = 2000,
-- airFilterChange = 2000,
-- tireChange = 2000,
-- brakeChange = 2000,
-- suspensionChange = 2000,
-- clutchChange = 2000,
}
exports['wizard-mileage']:SetVehicleLastPartsChange(plate, partsChange)
print("Last parts change data updated.")
-- /serverSetLastPartsChange <plate> (sp, oil, oilf, airf, tire, brake, sus, clutch) <mileage>
RegisterCommand('serverSetLastPartsChange', function(source, args)
if #args < 3 then
print("Usage: /serverSetLastPartsChange <plate> <part> <mileage>")
return
end
local plate = args[1]
local partName = tostring(args[2]):lower()
local partMileage = tonumber(args[3])
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(plate, partsChange)
print("Last parts change data of " .. plate .. " updated for " .. partName .. " to mileage " .. partMileage)
end)
-- /serverSetLastPartsChange <plate>
RegisterCommand('serverSetLastPartsChange', function(source, args)
local plate = args[1]
if not plate then
print("Usage: /serverSetLastPartsChange <plate>")
return
end
local partsChange = {
oilChange = 1500,
tireChange = 2500,
-- add other parts as needed
}
exports['wizard-mileage']:SetVehicleLastPartsChange(plate, partsChange)
print("Updated last parts change data for vehicle " .. plate)
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(plate, function(partsWear)
if partsWear then
-- data: plate, partsWear.xx
-- do something
else
print("No wear data found for vehicle " .. plate)
end
end)
Example:
exports['wizard-mileage']:GetVehiclePartsWear(plate, function(partsWear)
if partsWear then
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))
else
print("No wear data found for vehicle " .. plate)
end
end)
-- /serverGetPartsWear <plate> (sp, oil, oilf, airf, tire, brake, sus, clutch)
RegisterCommand('serverGetPartsWear', function(source, args)
if #args < 2 then
print("Usage: /serverGetPartsWear <plate> (sp, oil, oilf, airf, tire, brake, sus, clutch)")
return
end
local plate = args[1]
local partName = args[2]:lower()
exports['wizard-mileage']:GetVehiclePartsWear(plate, function(partsWear)
if partsWear then
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
else
print("No wear data found for vehicle " .. plate)
end
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(plate, partsWear)
-- /serverSetPartsWear <plate> (brake, clutch) <wear>
RegisterCommand('serverSetPartsWear', function(source, args)
if #args < 3 then
print("Usage: /serverSetPartsWear <plate> (brake, clutch) <wear>")
return
end
local plate = args[1]
local partName = tostring(args[2]):lower()
local wearValue = tonumber(args[3])
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 = wearValue
elseif partName == 'clutch' then
partsWear.clutchWear = wearValue
else
print("Invalid part name. Available parts: brake, clutch")
return
end
exports['wizard-mileage']:SetVehiclePartsWear(plate, partsWear)
print("Updated parts wear data for vehicle " .. plate .. " part " .. partName .. " to wear " .. wearValue)
end)
-- /serverSetPartsWear <plate>
RegisterCommand('serverSetPartsWear', function(source, args)
local plate = args[1]
if not plate then
print("Usage: /serverSetPartsWear <plate>")
return
end
local partsWear = {
brakeWear = 0.2,
clutchWear = 0.1,
}
exports['wizard-mileage']:SetVehiclePartsWear(plate, partsWear)
print("Updated parts wear data for vehicle " .. plate)
end)
Last updated