GE Lua Documentation

Press F to search!

spawnVehicle

Definition


-- @/lua/ge/spawn.lua:747

-- NOTE: Spawns in the vehicle rotated by 180 degrees around the z-axis
local function spawnVehicle(model, partConfig, pos, rot, options)
  local veh = createObject("BeamNGVehicle")
  if not veh then
    log('E', logTag, 'Failed to create vehicle')
    return
  end
  if pos then
    log('I', logTag, string.format("spawning %s at initial position (%f,%f,%f)", model, pos.x, pos.y, pos.z))
  else
    log('I', logTag, string.format("spawning %s with no initial position", model))
  end

  options = options or {}
  visibilityPoint = options.visibilityPoint
  if options.removeTraffic ~= nil then
    removeTraffic = options.removeTraffic
  end

  local autoEnterVehicle = tostring(options.autoEnterVehicle ~= false) -- nil defaults to 'true'
  veh:setDynDataFieldbyName("autoEnterVehicle", 0, autoEnterVehicle)

  local autoEnterVehiclePlayer = options.autoEnterVehiclePlayer ~= nil and tostring(options.autoEnterVehiclePlayer) or ""
  veh:setDynDataFieldbyName("autoEnterVehiclePlayer", 0, autoEnterVehiclePlayer)

  local spawnDatablock = "default_vehicle"
  local dataBlock = scenetree.findObject(spawnDatablock)

  if not datablock then
    veh.dataBlock = dataBlock
  else
    log('E', logTag, 'Failed to find dataBlock')
    return
  end

  local vehicleName = options.vehicleName or "clone"
  local i = 0
  while scenetree.findObject(vehicleName) do
    vehicleName = "clone" .. tostring(i)
    i = i + 1
  end
  veh:registerObject(vehicleName)
  options.vehicleName = vehicleName

  --veh.licenseText = TorqueScriptLua.getVar( "$beamngVehicleLicenseName","") -- core_vehicles will manage license text
  options.model = model
  options.config = partConfig
  options.pos = pos
  options.rot = rot
  options.cling = options.cling ~= false
  setVehicleObject(veh, options)
  return veh
end

Callers

@/lua/ge/extensions/core/multiSpawn.lua
    log('I', logTag, string.format('Vehicle group spawning in progress (%d / %d)', i, #spawnData))
    local veh = spawn.spawnVehicle(data.model, data.config, data.pos, data.rot, data)
@/lua/ge/extensions/career/modules/inventory.lua
-- replaceOption 2: replace the vehicle object with the same inventoryId
local function spawnVehicle(inventoryId, replaceOption, callback)
  local vehInfo = vehicles[inventoryId]
  else
    if spawnVehicle(id, 1, enterCallbackFunction) then
      currentVehicle = id
          else
            local veh = spawnVehicle(inventoryId)
            if veh then
      else
        spawnVehicle(inventoryId, nil, callback)
      end
  career_modules_inventory.updatePartConditions(nil, inventoryId, function()
    spawnVehicle(inventoryId, 2)
  end)
@/lua/ge/extensions/career/modules/insurance/insurance.lua
  if career_modules_inventory.getVehicleIdFromInventoryId(vehInfo.id) then -- vehicle is currently spawned
    career_modules_inventory.spawnVehicle(vehInfo.id, 2, callback and
    function()
@/lua/ge/extensions/career/modules/tuning.lua

  career_modules_inventory.spawnVehicle(inventoryId, 2, callback)
@/lua/ge/extensions/career/modules/inspectVehicle.lua

local function spawnVehicle(shopId)
  local vehicleInfo = career_modules_vehicleShopping.getVehicleInfoByShopId(shopId)
  if vehicleInfo then
    vehObj = spawnVehicle(vehicleInfo.shopId)
    testDriveVehInfo = {shopId = vehicleInfo.shopId, vehId = vehObj:getID(), name = vehicleInfo.Brand .. " " .. vehicleInfo.Name, value = vehicleInfo.Value}
@/lua/ge/extensions/career/modules/partShopping.lua
  if shoppingSessionActive then
    career_modules_inventory.spawnVehicle(currentVehicle, 2)
    endShopping()
@/lua/ge/extensions/career/modules/vehiclePerformance.lua
        end
        local vehObj = career_modules_inventory.spawnVehicle(inventoryId, nil, function()
          spawnComplete = true
        if not spawnStarted then
          local vehObj = career_modules_inventory.spawnVehicle(inventoryId, nil, function()
            spawnComplete = true
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
        if om then om:delete() end
        local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
        scenetree.findObjectById(tveh:getId()):delete()
        scenetree.findObjectById(tveh:getId()):delete()
        cobj = spawn.spawnVehicle(amodel[env.ui['model_up']], nil, vec3(0,0,0), quat(0,0,1,0)):getId()
            lo('?? if_COOO:'..tostring(cobj))
                    scenetree.findObjectById(id):delete()
                    local veh = spawn.spawnVehicle(model, nil, vec3(1,3,4), quat(0,0,1,0))
                    vid = veh:getId()

        local veh = spawn.spawnVehicle(model, nil, vec3(3,3,4), quat(0,0,1,0))
        vid = veh:getId()
                if om then om:delete() end
                local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
                    lo('?? mid:'..tostring(tveh))
                scenetree.findObjectById(tveh:getId()):delete()
                spawn.spawnVehicle(amodel[env.ui['model_up']], nil, vec3(0,0,0), quat(0,0,1,0))
                break
                if om then om:delete() end
                local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
                scenetree.findObjectById(tveh:getId()):delete()
                scenetree.findObjectById(tveh:getId()):delete()
                spawn.spawnVehicle(amodel[env.ui['model_up']], nil, vec3(0,0,0), quat(0,0,1,0))
                break
--                    if om then om:delete() end
--                    spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
            local djpart = J.part2file()
            end
            local veh = spawn.spawnVehicle(amodel[env.ui['model_up'] ], nil, vec3(0,0,0), quat(0,0,1,0))
                lo('?? for_VEH:'..tostring(veh))
                lo('?? reloaded:')
    --        spawn.spawnVehicle(amodel[env.ui['model_up'] ], nil, vec3(0,0,0), quat(0,0,1,0))
    --        pvd = extensions.core_vehicle_manager.getPlayerVehicleData()
        end
        local veh = spawn.spawnVehicle(amodel[val], nil, vec3(0,0,0), quat(0,0,1,0))
        cobj = veh:getId()
                        if om then om:delete() end
                        local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
                        scenetree.findObjectById(tveh:getId()):delete()
                        scenetree.findObjectById(tveh:getId()):delete()
                        spawn.spawnVehicle('pickup', nil, vec3(0,0,0), quat(0,0,1,0))
                        break
--                    if om then om:delete() end
--                    spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
                    local djpart = J.part2file()
@/lua/ge/extensions/career/modules/playerDriving.lua
  elseif not vehInfo.timeToAccess and not career_modules_insurance_insurance.inventoryVehNeedsRepair(favoriteVehicleInventoryId) then
    inventory.spawnVehicle(favoriteVehicleInventoryId, nil,
    function()
@/lua/ge/main.lua
function replaySpawnVehicle(jbeamFilename, partConfigData)
  local veh = spawn.spawnVehicle(jbeamFilename, partConfigData, vec3(), quat(), nil, nil, nil)
  if be:getEnterableObjectCount() == 1 then
@/lua/ge/extensions/core/vehicles.lua
  local opt = sanitizeVehicleSpawnOptions(modelName, localOptions)
  local veh = spawn.spawnVehicle(modelName, opt.config, opt.pos, opt.rot, opt)
  local vehId = veh:getID()
@/lua/ge/extensions/career/modules/vehicleShopping.lua

local function spawnVehicle(vehicleInfo, dealershipToMoveTo)
  local spawnOptions = {}
  spawnFollowUpActions = {delayAccess = delay, licensePlateText = options.licensePlateText}
  spawnVehicle(purchaseData.vehicleInfo)
  deleteAddedVehicle = true
  spawnFollowUpActions = {licensePlateText = options.licensePlateText}
  local newVehObj = spawnVehicle(purchaseData.vehicleInfo, purchaseData.vehicleInfo.sellerId)
  if gameplay_walk.isWalking() then
@/lua/ge/extensions/career/modules/painting.lua

  career_modules_inventory.spawnVehicle(inventoryId, 2)