safeTeleport
Definition
-- @/lua/ge/map.lua:3714
local function safeTeleport(vehId, posX, posY, posZ, rotX, rotY, rotZ, rotW, checkOnlyStatics_, visibilityPoint_, removeTraffic_, centeredPosition, resetVehicle)
-- Wrapper function for spawn.safeTeleport()
local veh = scenetree.findObject(vehId)
--local veh = getObjectByID(id)
local pos = vec3(posX, posY, posZ)
local rot = quat(rotX, rotY, rotZ, rotW)
spawn.safeTeleport(veh, pos, rot, checkOnlyStatics_, visibilityPoint_, removeTraffic_, centeredPosition, resetVehicle)
end
Callers
@/lua/ge/extensions/gameplay/crawl/general.lua
if startingPosition and isFromMission then
spawn.safeTeleport(veh, startingPosition.transform.position, startingPosition.transform.rotation, nil, nil, nil, nil, true)
end
@/lua/ge/extensions/career/modules/testDrive.lua
if tp then
spawn.safeTeleport(vehicle, startPosRot.pos, startPosRot.rot, nil, nil, nil, nil, false)
@/lua/ge/spawn.lua
-- TODO have separate options for "checkIntersectionTraffic", "checkIntersectionVehicles", "checkIntersectionStatic"
local function safeTeleport(veh, pos, rot, checkOnlyStatics_, visibilityPoint_, removeTraffic_, centeredPosition, resetVehicle)
--candidates = {}
safeTeleport(veh, pos, rot, nil, nil, nil, true, options.resetVehicle)
end
@/lua/ge/extensions/gameplay/garageMode.lua
local vehicle = scenetree.findObjectById(vehicleId)
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true)
end
@/lua/vehicle/ai.lua
obj:queueGameEngineLua(
"map.safeTeleport(" .. obj:getId() .. ", " .. pos.x .. ", " .. pos.y .. ", " .. pos.z .. ", " .. rot.x .. ", " .. rot.y .. ", " .. rot.z .. ", " .. rot.w .. ", nil, nil, true, true, true)"
)
@/lua/ge/extensions/career/modules/inventory.lua
end
spawn.safeTeleport(veh, location.pos, location.rot)
end
-- default placement is in front of the dealership, facing it
spawn.safeTeleport(getPlayerVehicle(0), vec3(838.51,-522.42,165.75))
gameplay_walk.setRot(vec3(-1,-1,0), vec3(0,0,1))
-- move walking character into position
spawn.safeTeleport(getPlayerVehicle(0), vec3(-20.746, 598.736, 75.112))
gameplay_walk.setRot(vec3(0,1,0), vec3(0,0,1))
if unicycleSavedPosition then
spawn.safeTeleport(getPlayerVehicle(0), unicycleSavedPosition)
else
@/lua/ge/extensions/gameplay/traffic.lua
if not strict then
spawn.safeTeleport(obj, pos, rot, true, nil, false) -- this is slower, but prevents vehicles from spawning inside static geometry
else
@/lua/ge/extensions/core/quickAccess.lua
onSelect = function()
spawn.safeTeleport(playerVeh, playerVeh:getPosition(), quatFromDir(playerVeh:getDirectionVector()), nil, nil, nil, nil, false )
extensions.hook('onVehicleFlippedUpright', playerVeh:getID())
getPlayerVehicle(0):resetBrokenFlexMesh()
spawn.safeTeleport(getPlayerVehicle(0), getPlayerVehicle(0):getPosition(), quatFromDir(getPlayerVehicle(0):getDirectionVector(), getPlayerVehicle(0):getDirectionVectorUp()), nil, nil, nil, nil, true)
return {"hide"}
veh:resetBrokenFlexMesh()
spawn.safeTeleport(veh, veh:getPosition(),quatFromDir(veh:getDirectionVector(), veh:getDirectionVectorUp()))
end
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
if playerVehicle then
spawn.safeTeleport(playerVehicle, pos, rot)
end
@/lua/ge/extensions/core/dynamicProps.lua
getObjectByID(propId):setActive(1)
--spawn.safeTeleport(scenetree.findObjectById(propId), (locationInfo.originPos + self.spawnOffset), quat(0, 0, 0, 0))
local spawnPos = locationInfo.originPos + self.spawnOffset
@/lua/ge/extensions/editor/util/transformUtil.lua
if playerVehicle then
spawn.safeTeleport(playerVehicle, self.pos, self.rot)
end
@/lua/ge/extensions/career/modules/quickTravel.lua
gameplay_walk.setWalkingMode(true)
spawn.safeTeleport(getPlayerVehicle(0), pos)
turnTowardsPos(pos)
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua
local correctedRot = quat(rot) * quat(0,0,-1,0)
spawn.safeTeleport(veh, vec3(pos), quat(correctedRot))
-- Vehicle is repaired, trigger reset hook for DNF penalty
local correctedRot = quat(rot) * quat(0,0,-1,0)
spawn.safeTeleport(veh, vec3(pos), quat(correctedRot), nil, nil, nil, nil, false)
-- Vehicle is moved without repair, trigger flip upright hook
@/lua/ge/extensions/gameplay/missions/missionManager.lua
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
spawn.safeTeleport(veh, mission._startingInfo.vehPos, mission._startingInfo.vehRot, nil, nil, nil, nil, false)
end
@/lua/ge/extensions/flowgraph/nodes/mission/ARunForLife.lua
spawn.safeTeleport(veh, vec3(actualPos), rot)
@/lua/ge/extensions/core/recoveryPrompt.lua
if veh then
spawn.safeTeleport(veh, veh:getPosition(), quatFromDir(veh:getDirectionVector()), nil, nil, nil, nil, false )
local invVehId = career_modules_inventory.getInventoryIdFromVehicleId(target.vehId)
else
spawn.safeTeleport(veh, veh:getPosition(), quatFromDir(veh:getDirectionVector()), nil, nil, nil, nil, true )
end
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua
if useSafeTeleport then
spawn.safeTeleport(veh, self.pos, vehRot, options.skipVehicleIntersectionCheck, nil, removeTraffic, true, resetVehicleInSafeTeleport)
else
@/lua/ge/extensions/gameplay/skidpadTest.lua
local spawnPoint = scenetree.findObject("skidpadSpawn")
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true, false)
testResults = nil
@/lua/ge/extensions/flowgraph/nodes/mission/postClean.lua
spawn.safeTeleport(veh, veh:getPosition(), quatFromDir(veh:getDirectionVector(), veh:getDirectionVectorUp()), nil, nil, nil, nil, doRepair)
end
@/lua/ge/extensions/gameplay/rally/recceApp.lua
if playerVehicle then
spawn.safeTeleport(playerVehicle, pos, rot)
end
local pos, rot = pacenoteForMove:vehiclePlacementPosAndRot(distToMove)
spawn.safeTeleport(playerVehicle, pos, rot)
if playerVehicle then
spawn.safeTeleport(playerVehicle, vec3(pos), quat(rot))
end
@/lua/ge/map.lua
local function safeTeleport(vehId, posX, posY, posZ, rotX, rotY, rotZ, rotW, checkOnlyStatics_, visibilityPoint_, removeTraffic_, centeredPosition, resetVehicle)
-- Wrapper function for spawn.safeTeleport()
local veh = scenetree.findObject(vehId)
local rot = quat(rotX, rotY, rotZ, rotW)
spawn.safeTeleport(veh, pos, rot, checkOnlyStatics_, visibilityPoint_, removeTraffic_, centeredPosition, resetVehicle)
end
@/lua/ge/extensions/career/modules/tuning.lua
local veh = getObjectByID(vehId)
spawn.safeTeleport(veh, vehicleTransform.pos, vehicleTransform.rot, nil, nil, nil, nil, false)
core_vehicleBridge.executeAction(veh, 'setFreeze', true)
@/lua/ge/extensions/gameplay/discover/discover_037.lua
for _, veh in ipairs(setupVehs) do
--spawn.safeTeleport(veh, vec3(randomPos), quat(0,0,0,1), nil, nil, nil, nil, false)
--veh:setClusterPosRelRot(veh:getRefNodeId(), randomPos.x, randomPos.y, randomPos.z,0,0,0,1)
@/lua/ge/extensions/gameplay/taxi.lua
startTaxiWithCurrentRoute(true)
spawn.safeTeleport(getObjectByID(currentTaxiId), skipPosition, skipRotation, true, nil, false)
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
isPose = im.BoolPtr(true)
spawn.safeTeleport(vehicle.veh, vec3(posX, posY, posZ), quat(rotX, rotY, rotZ, rotW))
end
if posX then
spawn.safeTeleport(vehicle.veh, vec3(posX, posY, posZ), quat(rotX, rotY, rotZ, rotW))
end
@/lua/ge/extensions/core/multiSpawn.lua
if not options.ignoreSafe then
spawn.safeTeleport(obj, pos, rot, nil, nil, false)
else
@/lua/ge/extensions/career/modules/delivery/vehicleTasks.lua
if unicycle then
spawn.safeTeleport(unicycle, psPos)
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/recoverInPlace.lua
veh:resetBrokenFlexMesh()
spawn.safeTeleport(veh, veh:getPosition(),quatFromDir(veh:getDirectionVector(), veh:getDirectionVectorUp()))
end
@/lua/ge/extensions/gameplay/race/startPosition.lua
log('D', logTag, 'safe teleporting vehicle to start position with corrected rotation')
spawn.safeTeleport(veh, vec3(newPos), quat(correctedRot), nil, nil, nil, nil, false)
end
@/lua/ge/extensions/career/modules/playerDriving.lua
local playerVehObj = getPlayerVehicle(0)
spawn.safeTeleport(getObjectByID(vehId), playerVehObj:getPosition(), quatFromDir(playerVehObj:getDirectionVector()), nil, nil, nil, nil, false)
core_vehicleBridge.executeAction(getObjectByID(vehId),'setIgnitionLevel', 0)
local vehId = inventory.getVehicleIdFromInventoryId(favoriteVehicleInventoryId)
spawn.safeTeleport(getObjectByID(vehId), playerVehObj:getPosition(), quatFromDir(playerVehObj:getDirectionVector()), nil, nil, nil, nil, false)
end)
spawn.safeTeleport(trailer, vehBBCenter - vehicle:getDirectionVector() * (vehBB:getHalfExtents().y + trailerBB:getHalfExtents().y), vehRot, nil, nil, nil, true, args.resetVeh)
@/lua/ge/extensions/flowgraph/nodes/vehicle/flipUpright.lua
if veh then
spawn.safeTeleport(veh, veh:getPosition(), quatFromDir(veh:getDirectionVector()), nil, nil, nil, nil, false )
extensions.hook('onVehicleFlippedUpright', veh:getID())
@/lua/ge/extensions/editor/driftDataEditor.lua
if player then
spawn.safeTeleport(player, vec3(currDriftSpots[selectedDriftSpotId].spatialInfo.bigMapTp.pos), quat(currDriftSpots[selectedDriftSpotId].spatialInfo.bigMapTp.rot), nil, nil, nil, nil, false)
end
@/lua/ge/extensions/freeroam/bigMapMode.lua
if career_career.isActive() then
spawn.safeTeleport(veh, pos, rot, nil, nil, nil, nil, false)
else
else
spawn.safeTeleport(veh, pos, rot)
veh:resetBrokenFlexMesh()
@/lua/ge/extensions/freeroam/facilities.lua
if pos and rot then
spawn.safeTeleport(veh, pos, rot, nil, nil, nil, true, resetVeh)
core_camera.resetCamera(0)
@/lua/vehicle/recovery.lua
local rot = quatFromDir(dirFront, dirUp)
obj:queueGameEngineLua("spawn.safeTeleport(getObjectByID("..obj:getId().."), vec3("..recPoint.pos.x..","..recPoint.pos.y..","..recPoint.pos.z.."), quat("..rot.x..","..rot.y..","..rot.z..","..rot.w.."), nil, nil, " .. tostring(moveTraffic) .. ")")
else
@/lua/ge/extensions/gameplay/crawl/flowgraphBridge.lua
spawn.safeTeleport(veh, pos, rot, nil, nil, nil, nil, true)
else
@/lua/ge/extensions/career/modules/vehiclePerformance.lua
spawn.safeTeleport(getObjectByID(vehId), dragData.strip.lanes[1].waypoints.spawn.transform.pos, dragData.strip.lanes[1].waypoints.spawn.transform.rot, nil, nil, nil, true, false)
local spawnPoint = scenetree.findObject("skidpadSpawn")
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true, false)
return true
function()
spawn.safeTeleport(getPlayerVehicle(0), playerInitialPos)
core_camera.setGlobalCameraByName(nil)
@/lua/ge/extensions/gameplay/crawl/crawlFlowgraphBridge.lua
spawn.safeTeleport(veh, pos, rot, nil, nil, nil, nil, true)
@/lua/ge/extensions/gameplay/walk.lua
unicycle:setActive(1)
spawn.safeTeleport(unicycle, pos, nil, nil, visibilityPoint, false)
else
@/lua/ge/extensions/util/showroom.lua
veh:autoplace(false)
--spawn.safeTeleport(veh, localToWorld(vec3(0,0,0)), quat(0,0,0,1))
end
@/lua/ge/extensions/editor/missionEditor.lua
-- teleport vehicle
spawn.safeTeleport(playerVehicle,vec3(shownMission.startTrigger.pos), quat(shownMission.startTrigger.rot))
@/lua/ge/extensions/editor/trafficManager.lua
if sessionData._loaded then
spawn.safeTeleport(currVeh, sessionData.home.pos, sessionData.home.rot, nil, nil, false, true)
currVeh:queueLuaCommand('recovery.saveHome()')
pos.x, pos.y, pos.z = options.objPos[0], options.objPos[1], options.objPos[2]
spawn.safeTeleport(currVeh, pos, quatFromDir(currVeh:getDirectionVector(), currVeh:getDirectionVectorUp()), nil, nil, false, true)
end
dirVec.x, dirVec.y, dirVec.z = options.objRot[0], options.objRot[1], options.objRot[2]
spawn.safeTeleport(currVeh, currVeh:getPosition(), quatFromDir(dirVec, vecUp), nil, nil, false, true)
end
if editor.uiIconImageButton(editor.icons.videocam, imSizes.medium) then
spawn.safeTeleport(currVeh, core_camera.getPosition(), core_camera.getQuat(), nil, nil, false, true)
end
if mouseHandler("Click and drag to move object to here") then
spawn.safeTeleport(currVeh, anchorPos, quatFromDir((mousePos - anchorPos):normalized(), vecUp), nil, nil, false, true)
shiftLock = false
local obj = scenetree.findObject(nameId)
spawn.safeTeleport(obj, obj:getPosition(), quatFromDir(obj:getDirectionVector(), obj:getDirectionVectorUp()), nil, nil, false, true)