initConditions
Definition
-- @/lua/vehicle/partCondition.lua:515
local function initConditions(partsCondition, fallbackOdometer, fallbackIntegrityValue, fallbackVisualValue, defaultPaints)
if not hasExecutedInitWork then
preparePartData()
end
if not partsCondition then
log("I", "partCondition.initConditions", "Parts condition not provided for vehicle, assuming fresh vehicle state for vehicle Id: " .. dumps(objectId))
for partId, _ in pairs(activeParts) do
initCondition(partId, fallbackOdometer or 0, fallbackIntegrityValue or 1, fallbackVisualValue or 1, defaultPaints)
end
createConditionSnapshot("reset")
setResetSnapshotKey("reset")
return
end
for partId in pairs(activeParts) do
local odometer, integrity, visual
local partCondition = partsCondition[partId]
if partCondition then
odometer = partCondition.odometer
local integrityValue = partCondition.integrityValue
local visualValue = partCondition.visualValue
local integrityState = partCondition.integrityState
local visualState = partCondition.visualState
--odometer, integrityValue, visualValue, integrityState, visualState = unpack(partCondition, 1, table.maxn(partCondition))
integrity = integrityState or integrityValue
visual = visualState or visualValue
end
odometer = odometer or fallbackOdometer or 0
integrity = integrity or fallbackIntegrityValue or 1
visual = visual or fallbackVisualValue or 1
if odometer and integrity --[[and visual--]] then
initCondition(partId, odometer, integrity, visual, defaultPaints)
else
log("E", "partCondition.initConditions", "Missing odometer, integrityValue or visualValue for part name " .. dumps(partId) .. " in vehicle " .. dumps(objectId) .. ": " .. dumps(partCondition))
end
end
createConditionSnapshot("reset")
setResetSnapshotKey("reset")
end
Callers
@/lua/ge/extensions/career/modules/delivery/vehicleOfferManager.lua
offer.vehicle.vehId = vehId
veh:queueLuaCommand(string.format("partCondition.initConditions(nil, %d, nil, %f)", mileage, career_modules_vehicleShopping.getVisualValueFromMileage(mileage)))
-- turn vehicle off
@/lua/ge/extensions/career/modules/vehicleShopping.lua
newVeh:queueLuaCommand(string.format("partCondition.initConditions(nil, %d, nil, %f) obj:queueGameEngineLua('career_modules_vehicleShopping.onVehicleSpawnFinished(%d)')", vehicleInfo.Mileage, getVisualValueFromMileage(vehicleInfo.Mileage), newVeh:getID()))
return newVeh
@/lua/ge/extensions/career/modules/partInventory.lua
core_vehicles.replaceVehicle(carModelToLoad, vehicleData, vehicleObj)
queueCallbackInVehicle(vehicleObj, "career_modules_partInventory.initConditionsCallback", "partCondition.initConditions(" .. serialize(partConditions) .. ")", inventoryId)
else
@/lua/ge/extensions/career/modules/inspectVehicle.lua
core_vehicleBridge.executeAction(newVeh, 'setFreeze', true)
newVeh:queueLuaCommand(string.format("partCondition.initConditions(nil, %d, nil, %f)", vehicleInfo.Mileage, career_modules_vehicleShopping.getVisualValueFromMileage(vehicleInfo.Mileage)))
return newVeh
@/lua/vehicle/partCondition.lua
hasSetPartCondition = {}
M.initConditions(snapshotData)
end
if tableIsEmpty(hasSetPartCondition) then
initConditions(nil, fallbackOdometer, fallbackIntegrityValue, fallbackVisualValue)
end
hasSetPartCondition = {} --kill data from last init to avoid dual init warning
M.initConditions(nil, 812812000, 1, 1)
end
hasSetPartCondition = {} --kill data from last init to avoid dual init warning
M.initConditions(data, 0, 1, 1)
end
if tableIsEmpty(hasSetPartCondition) then
M.initConditions(nil, 812812000, 1, 0.5)
end
@/lua/ge/extensions/career/modules/inventory.lua
inventoryIdAfterUpdatingPartConditions = inventoryId
vehicle:queueLuaCommand(string.format("if not partCondition.getConditions() then partCondition.initConditions() end obj:queueGameEngineLua('career_modules_inventory.updatePartConditions(%d, %d)')", vehId, inventoryId))
@/lua/vehicle/extensions/gameplayInterfaceModules/interactPartCondition.lua
local function initConditions(params)
local dataTypeCheck, dataTypeError = checkTableDataTypes(params, {"optional:table", "optional:number", "optional:number", "optional:number", "optional:table"})
local defaultPaints = params[5]
partCondition.initConditions(conditions, fallbackOdometer, fallbackIntegrityValue, fallbackVisualValue, defaultPaints)
end