VE Lua Documentation

Press F to search!

getID

Definition


-- @/=[C]:-1
function getID(...)

Callers

@/lua/ge/extensions/gameplay/drag/saveSystem.lua
      if prefabId then
        data.prefabs.christmasTree.prefabId = prefabId:getID()
      end
      if prefabId then
        data.prefabs.displaySign.prefabId = prefabId:getID()
      end
      if prefabId then
        data.prefabs.decorations.prefabId = prefabId:getID()
      end
      if prefabId then
        data.prefabs.paths.prefabId = prefabId:getID()
      end
@/lua/vehicle/controller/gauges/customModules/navigationData.lua
  gaugeHTMLTexture = htmlTexture
  obj:queueGameEngineLua(string.format('extensions.ui_uiNavi.requestVehicleDashboardMap(%q, "initMap", %d)', gaugeHTMLTexture.webViewTag, obj:getID()))
end
@/lua/ge/extensions/career/modules/delivery/general.lua
          containerId = container.id,
          location = {type = "vehicle", vehId = veh:getID(), containerId = container.id},
          vehName = vehName,
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua
    -- Vehicle is moved without repair, trigger flip upright hook
    extensions.hook('onVehicleFlippedUpright', veh:getID())
  end
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenLapTimesPanel.lua
  if veh and self.pinIn.race.value then
    local state = self.pinIn.race.value.states[veh:getID()]
    self.mgr.modules.ui:addLaptimesForVehicle(state)
@/lua/ge/extensions/freeroam/specialTriggers.lua
      for _, o in ipairs(obj:getObjects()) do
        setState(tonumber(o) or scenetree.findObject(o):getID(), state)
      end
    if scenetree.findObject(k) then
      setGroupState(scenetree.findObject(k):getID(), state)
    end
        for _, o in ipairs(obj:getObjects()) do
          local obj = scenetree.findObjectById(tonumber(o) or scenetree.findObject(o):getID())
          if obj:getGroup():getName() == k and obj:getClassName() ~= 'SimGroup' then
          for _, o in ipairs(obj:getObjects()) do
            local obj = scenetree.findObjectById(tonumber(o) or scenetree.findObject(o):getID())
            if obj:getGroup():getName() == k and obj:getClassName() == 'SimGroup' then
      for _, veh in ipairs(getAllVehiclesByType()) do
        local vehId = veh:getID()
        if isVehicleValid(k, vehId) then
              if delayRandomMax == 0 or data.maxIdx < 1 then
                setGroupState(obj:getID(), v.active)
                v.stack = v.stack - 1
                    for _, o1 in ipairs(innerObjects) do
                      local obj1 = scenetree.findObjectById(tonumber(o1) or scenetree.findObject(o1):getID())
                      if obj1 and obj1:getGroup():getName() == name and obj1:getClassName() == 'SimGroup' then
                        if o2 then
                          setState(tonumber(o2) or scenetree.findObject(o2):getID(), v.active)
                        end
                    if innerObjects[idx] then -- processes the next object
                      setState(tonumber(innerObjects[idx]) or scenetree.findObject(innerObjects[idx]):getID(), v.active)
                    end
                else
                  setState(obj:getID(), v.active)
                end
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
      for i, vertex in ipairs(boundary.vertices) do
        editor.addRoadNode(decalRoad:getID(), {
          pos = vertex.pos,
@/lua/ge/extensions/core/vehicles.lua
  local veh = spawn.spawnVehicle(modelName, opt.config, opt.pos, opt.rot, opt)
  local vehId = veh:getID()
  finalizeSpawn(opt, veh)
  if other then
    otherVehId = other:getID()
    otherVehCollection = M.vehIdToVehCollection[otherVehId]
  end
  extensions.hook("onLicensePlateChanged", txt, veh:getID(), designPath, formats)
end
@/lua/ge/extensions/ui/console.lua
      if v:getActive() then
        table.insert(vehIds, v:getID())
        comboCtxTxt = comboCtxTxt.."BeamNG - "..vehStrInfo(v)
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/vePropTransformer.lua
  if not initVehData then
    switchVehicle(vEditor.vehicle:getID())
  end
@/lua/ge/extensions/editor/gen/test.lua
		local m = obj:at(1)
		local originalMesh = scenetree.findObjectById(m:getID())
			lo('?? if_OBJ:'..tostring(inspect)..':'..tostring(m.obj)..':'..tostring(m:getID())..':'..tostring(originalMesh)) --..':'..tostring(nodes)) --..tostring(editor.getNodes(m)))
		local originalMesh = scenetree.findObjectById(m:getID())
			lo('?? if_OBJ:'..tostring(inspect)..':'..tostring(m.obj)..':'..tostring(m:getID())..':'..tostring(originalMesh)) --..':'..tostring(nodes)) --..tostring(editor.getNodes(m)))
--			print('?? to_SER:'..serialize(m.obj))
		meshUp({m}, 'TMesh')
--		local lastMeshInfo = GPUMesh.bng_getGPUMesh(m:getID())
--			lo('?? if_LM:'..tostring(lastMeshInfo))
@/lua/ge/extensions/core/windowsConsole.lua
      consoleAddAvailableContext(name)
      playerVid = playerVehicle:getID()
      nameVidMap[name] = playerVid
      if v:getActive() then
        local vid = v:getID()
        if vid ~= playerVid then
          consoleAddAvailableContext(name)
          nameVidMap[name] = v:getID()
        end
@/lua/ge/extensions/editor/api/dataBlock.lua
    if copiedDataBlock then
      editor.pasteFieldsToObject(editor.copyFields(copiedDataBlock:getID()), dataBlock)
    end
  dataBlock:setFileName(filename or defaultFilename)
  return dataBlock:getID()
end
@/lua/ge/extensions/flowgraph/nodes/scene/idByName.lua
  if ob then
    self.objID = ob:getID()
  end
@/lua/ge/extensions/editor/particleEditor.lua
  editableEmitterNode:setEmitterDataBlock(currentEmitter)
  oldEmitterFields = editor.copyFields(currentEmitter:getID())
end
  currentParticle = particle
  oldParticleFields = editor.copyFields(currentEmitter:getID())
end
    emitter:setField("particles", "", emitter:getField("particles", "") .. "\t" .. newParticleName)
    actionData.emitterID = emitter:getID()
    particle = scenetree.findObjectById(actionData.particleID)
local function deleteParticle(particle)
  editor.history:commitAction("DeleteParticle", {particleID = particle:getID(), emitterID = currentEmitter:getID()}, deleteParticleActionUndo, deleteParticleActionRedo)
end
local function deleteParticle(particle)
  editor.history:commitAction("DeleteParticle", {particleID = particle:getID(), emitterID = currentEmitter:getID()}, deleteParticleActionUndo, deleteParticleActionRedo)
end
local function deleteEmitter(emitter)
  editor.history:commitAction("DeleteParticleEmitter", {id = emitter:getID()}, deleteEmitterActionUndo, deleteEmitterActionRedo)
end

      if not editor.selection.object or (editor.selection.object[1] ~= currentEmitter:getID()) then
        editor.selectObjectById(currentEmitter:getID())
      if not editor.selection.object or (editor.selection.object[1] ~= currentEmitter:getID()) then
        editor.selectObjectById(currentEmitter:getID())
      end

    if lastFrameEmitterID ~= currentEmitter:getID() then
      currentParticle = scenetree.findObject(string.match(currentEmitter:getField("particles", ""), '(%S+)'))
      currentParticle = scenetree.findObject(string.match(currentEmitter:getField("particles", ""), '(%S+)'))
      lastFrameEmitterID = currentEmitter:getID()
    end
      if currentParticle then
        if not editor.selection.object or (editor.selection.object[1] ~= currentParticle:getID()) then
          editor.selectObjectById(currentParticle:getID())
        if not editor.selection.object or (editor.selection.object[1] ~= currentParticle:getID()) then
          editor.selectObjectById(currentParticle:getID())
        end
      if im.Button("No") then
        editor.pasteFields(oldEmitterFields, currentEmitter:getID())
        selectEmitter(requestedEmitter)
      if im.Button("No") then
        editor.pasteFields(oldParticleFields, currentParticle:getID())
        selectParticle(requestedParticle)
  local selectedID = selectedIds[1]
  if currentEmitter and currentEmitter:getID() == selectedID then
    editor.setDataBlockDirty(currentEmitter)
    updateDatablockList()
  elseif currentParticle and currentParticle:getID() == selectedID then
    editor.setDataBlockDirty(currentParticle)
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
--            table.insert(res, veh)
--            scenetree.findObjectById(veh:getID()):delete()
        end

--        local vehId = veh:getID()
--                dump(playerVehicle.vdata.nodes,'?? vehDATA:',nil,1)
            local id = obj:getID()
            obj = scenetree.findObjectById(id)
--            local box = om:getWorldBox()
--            amesh = {{id=om:getID(),body=om,data=am,dim=vec3(box.maxExtents.x-box.minExtents.x,box.maxExtents.y-box.minExtents.y)}}
        end
        if om then
            cpreview = om:getID()
                local amn = om:getMaterialNames()
    --                                im.Text('ICN')
                                im.Image(dimg[v].tex:getID(),
                                    im.ImVec2(30, 30),
                        if dimg[md] then
                            im.Image(dimg[md].tex:getID(),
                                im.ImVec2(w, w),
@/lua/ge/extensions/career/modules/partShopping.lua
  local additionalVehicleData = {spawnWithEngineRunning = false}
  core_vehicle_manager.queueAdditionalVehicleData(additionalVehicleData, getCurrentVehicleObj():getID())
@/lua/ge/extensions/editor/objectTool.lua
    if rayCastInfo and rayCastInfo.object then
      hID = rayCastInfo.object:getID()
    end
            if prefab:getClassName() == "PrefabInstance" then
              local prefabIsSelected = editor.isObjectSelected(prefab:getID())
              if not prefabIsSelected then
          local oldSelection = deepcopy(editor.selection.object)
          editor.selectObjectById(hoveredObject:getID(), selectMode)
          objectHistoryActions.selectObjectsWithUndo(editor.selection.object, oldSelection)
        else
          editor.postNameChangeSelectObjectId = hoveredObject:getID()
        end
@/lua/ge/extensions/editor/inspector.lua
        imgui.SetCursorPos(imageStartCursorPos)
        imgui.Image(texture.tex:getID(), size, nil, nil, nil, editor.color.white.Value)
@/lua/ge/extensions/c2/panelPlugins/vehicleManager.lua

  local vehId = veh:getID()
  local isTraffic = false
          for _, d in ipairs(vehicleData) do
             if d.id == veh:getID() then alreadyAdded = true break end
          end
@/lua/ge/extensions/editor/api/roadRiver.lua
    end
    roadSplines[road:getID()] = points
  end
  end
  allRoads[road:getID()] = true
end
  if roadInfo then
    editor.pasteFields(roadInfo, road:getID(), false)
  end
  for index, node in ipairs(nodes) do
    addRoadNode(road:getID(), {pos = node.pos, width = node.width, index = index-1})
  end
  end
  return road:getID()
end

  editor.pasteFields(fields, mesh:getID(), false)
  for index, node in ipairs(nodes) do
    addMeshNode(mesh:getID(), {pos = node.pos, width = node.width, depth = node.depth, normal = node.normal, index = index-1})
  end

  return mesh:getID()
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/flipUpright.lua
    spawn.safeTeleport(veh, veh:getPosition(), quatFromDir(veh:getDirectionVector()), nil, nil, nil, nil, false )
    extensions.hook('onVehicleFlippedUpright', veh:getID())
  end
@/lua/ge/extensions/editor/forestEditor.lua
      for _, forestItemData in ipairs(var.forestItemData) do
        local forestItemDataId = item:getData():getID()
        if forestItemDataId == forestItemData.id then
    for i, item in ipairs(editor.selection.forestItem) do
      copyItemsArray[i] = {itemDataId = item:getData():getID(), transform = editor.matrixToTable(item:getTransform()), scale = item:getScale()}
    end
@/lua/vehicle/controller/sbrGauges.lua
      htmlTexture.call(gaugesScreenName, "setUnits", {unitType = unitType})
      obj:queueGameEngineLua(string.format('extensions.ui_uiNavi.requestVehicleDashboardMap(%q, "initMap", %d)', gaugesScreenName, obj:getID()))
    else
@/lua/ge/extensions/tech/capturePlayer.lua
    local veh = scenetree.findObject(request.vid)
    captureState.sensors[request.name].vid = veh:getID()
  end
    local veh = scenetree.findObject(request.vid)
    captureState.sensors[request.name].vid = veh:getID()
  end
    local veh = scenetree.findObject(request.vid)
    captureState.sensors[request.name].vid = veh:getID()
  end
  local veh = scenetree.findObject(response.vid)
  captureState.lastVid = veh:getID()
end
@/lua/ge/extensions/editor/meshSpline/import.lua
  for i = 1, #components do -- Count the number of missing TSStatic objects.
    originalIds[components[i].obj:getID()] = true
  end
  for i = 1, #ordered do -- Count the number of extra TSStatic objects.
    orderedIds[ordered[i].obj:getID()] = true
  end
      table.insert(tsStaticBackup, {
        id = obj:getID(),
        name = obj:getName(),
        scale = obj.scale,
        groupId = group and group:getID() or nil
      })
      obj:delete()
      if group and Sim.upcast(group) and not cleanedGroups[group:getID()] then
        local onlyTSStatics = true
        end
        cleanedGroups[group:getID()] = true
      end
      if pos:inPolygon(polygon) then
        table.insert(meshesInPolygon, obj:getID())
      end
@/lua/ge/extensions/editor/api/objectHistoryActions.lua
      if child then
        if child:getID() == obj:getId() and i < parentGroup:size() - 1 then
          return parentGroup:at(i+1):getID()
        if child:getID() == obj:getId() and i < parentGroup:size() - 1 then
          return parentGroup:at(i+1):getID()
        end
        tbl.json = "[" .. parent:serializeForEditor(true, -1, "group") .. "]"
        tbl.objectId = parent:getID()
        tbl.children = {}
              local childTbl = {
                objectId = chd:getID(),
                json = "[" .. chd:serializeForEditor(true, -1, "") .. "]",
@/lua/ge/extensions/gameplay/race/path.lua

      nodeToId[cp:getID()] = pn.id
    end
    local seg = path.segments:create("Seg " .. i.."/"..(i+1))
    seg:setFrom(nodeToId[order[i]:getID()])
    seg:setTo(nodeToId[order[i+1]:getID()])
    seg:setFrom(nodeToId[order[i]:getID()])
    seg:setTo(nodeToId[order[i+1]:getID()])
  end
@/lua/ge/extensions/editor/cameraBookmarks.lua
        imgui.PushID4(i)
        if imgui.Button("Go To") then editor.jumpToCameraBookmark(bookmark:getID()) end
        imgui.SameLine()
        imgui.SameLine()
        if imgui.Button("Delete") then deleteId = bookmark:getID() end
        imgui.SameLine()
@/lua/ge/extensions/editor/gen/ui.lua
	if dicon and dicon[lbl] then
		im.Image(dicon[lbl].tex:getID(),
			dim,
			if dicon and dicon[lbl] then
				im.Image(dicon[lbl].tex:getID(),
				dim,
				if dicon and dicon[lbl] then
					im.Image(dicon[lbl].tex:getID(),
						dim,
				if dicon and dicon[lbl] then
					im.Image(dicon[lbl].tex:getID(),
						dim,
@/lua/ge/extensions/editor/vehicleBridgeTest.lua
        if im.Selectable1(vname.."##"..i) then
          vehId = scenetree.findObject(vname):getID()
        end
@/lua/ge/extensions/editor/createObjectTool.lua
      currentParent:addObject(lastInstance)
      editor.selectObjectById(lastInstance:getID())
    end
    if currentClassInstance then
      editor.selectObjectById(currentClassInstance:getID())
      currentClassInstance:disableCollision()
      local transform = copyMat(lastInstance:getTransform())
      local fields = {classname = currentCreateObjectItem.classname, name = lastInstance:getName(), parent = currentParent, objectID = lastInstance:getID(), transform = transform}
      local onBuildFuncFields = {}
          end
          editor.selectObjectById(currentClassInstance:getID())
          -- do not repeat instance creation with mouse click in the scene, if this is not a

            editor.history:commitAction("CreateObject", {parent = currentParent, classname = item.classname, name = currentClassInstance:getName(), objectID = currentClassInstance:getID()}, createObjectUndo, createObjectRedo, true)

            objectIdToSelect = currentClassInstance:getID()
            currentClassInstance = nil
  end
  editor.selectObjectById(grp:getID())
  end
  editor.selectObjectById(grp:getID())
  return true
    if lastInstance ~= nil then
      editor.selectObjectById(lastInstance:getID())
    end
@/lua/ge/server/commands.lua
  if core_intapi then
    core_intapi.debug_setClusterPosRelRot(player, playerVehicle:getID(), playerVehicle:getRefNodeId(), pos.x, pos.y, pos.z, diffRot.x, diffRot.y, diffRot.z, diffRot.w)
  else
@/lua/ge/extensions/editor/gen/lib/ui.lua
        im.SetCursorPosX(im.GetCursorPosX() + dim.x*(1-scale.x)/2)
        im.Image(dicon[src].tex:getID(),
            im.ImVec2(dim.x*scale.x,dim.y*scale.y),
@/lua/ge/extensions/editor/assemblySpline/import.lua
      table.insert(backup, {
        id = obj:getID(),
        name = obj:getName(),
        scale = obj.scale,
        groupId = group and group:getID() or nil
      })
      local group = obj:getGroup()
      if group and Sim.upcast(group) and not cleanedGroups[group:getID()] then
        local onlyTSStatics = true
        end
        cleanedGroups[group:getID()] = true
      end
      if pos:inPolygon(polygon) then
        table.insert(meshesInPolygon, obj:getID())
      end
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
        table.insert(self.signboards, {
          id = obj:getID(),
          pos = objPos,
  if self.drawVehBB[0] then
    RallyUtil.drawVehBB(getPlayerVehicle(0):getID())
  end
  if self.drawLeadingPoint[0] then
    RallyUtil.drawVehLeadingPoint(getPlayerVehicle(0):getID())
  end
@/lua/vehicle/extensions/tech/platooning.lua

  local vehID = obj:getID()
  local playerPosToFront = vehFront - pos
@/lua/ge/extensions/gameplay/crawl/crawlFlowgraphBridge.lua

  bridgeState.activeCrawlerId = veh:getID()
  bridgeState.isActive = true
@/lua/ge/server/server.lua
  --Make the MissionCleanup group the place where all new objects will automatically be added.
  TorqueScriptLua.setVar("$instantGroup", misCleanup:getID())
@/lua/ge/extensions/editor/gen/mesh.lua
--	om:registerObject('tmp')
	local id = om:getID()
--		lo('?? meshUp_if_ID:'..cid..':'..tostring(id)..':'..tostring(otmp))
	road:registerObject("mesh_obj")
	roadID = road:getID()
	lo('?? createMesh_id:'..tostring(roadID))
@/lua/ge/extensions/core/input/actions.lua
    -- add actions from vehicle jbeam files (interaction support)
    local vd = extensions.core_vehicle_manager.getVehicleData(vehicle:getID())
    for uniqueActionName,action in pairs(actionsToUniqueActions(vd and vd.vdata and vd.vdata.inputActions or {}, vehicleName)) do
@/lua/ge/extensions/career/modules/inspectVehicle.lua
    vehObj = spawnVehicle(vehicleInfo.shopId)
    testDriveVehInfo = {shopId = vehicleInfo.shopId, vehId = vehObj:getID(), name = vehicleInfo.Brand .. " " .. vehicleInfo.Name, value = vehicleInfo.Value}
    --career_modules_testDrive.resetData()
      local parkingSpots = freeroam_facilities.getParkingSpotsForFacility(dealership)
      parkingSpot = gameplay_sites_sitesManager.getBestParkingSpotForVehicleFromList(vehToInspect:getID(), parkingSpots)
    -- Move the vehicle to the parking spot
    parkingSpot:moveResetVehicleTo(vehToInspect:getID(), nil, nil, nil, nil, true)
@/lua/ge/extensions/editor/gen/terrain.lua
    if to then
        print('?? to_DEL:'..tostring(to)..':'..tostring(tonumber(to))..':'..to:getID())
        to:delete()
@/lua/ge/extensions/gameplay/rally/vehicleTracker.lua
  -- return getPlayerVehicleID(0)
  return self:getVehicle():getID()
end
@/lua/ge/extensions/editor/gen/decal.lua
                        lo('??__________ for_CHECK2:'..adec[#adec].ind)
                        --icheck = rd:getID() -- #adec --
    --                    icheck = adec[#adec].ind
        if k>#anode then
            editor.addRoadNode(rd.body:getID(), {
                pos = apos[k],
        for k=#anode-#apos,1,-1 do
            editor.deleteRoadNode(rd.body:getID(),#apos + k-1)
        end
    dline[cpick..'_middle'] = rd
    rd.name = 'line_'..cpick..'_'..rd:getID()   --:registerObject('road'..'_'..'13213111')
        lo('<< middleUp____:'..tostring(dline[cpick..'_middle'].name)..':'..tostring(rd.obj))
    dline[cpick..'_left'] = rd
    rd.name = 'line_'..cpick..'_'..rd:getID()
    groupLines:add(rd.obj)
    dline[cpick..'_right'] = rd
    rd.name = 'line_'..cpick..'_'..rd:getID()
    groupLines:add(rd.obj)
    if o then
        cpick = o:getID()
    end
    for _,d in pairs(jdesc.list) do
        editor.deleteRoad(d.body:getID())
    end
    for _,d in pairs(jdesc.aexit) do
        editor.deleteRoad(d.body:getID())
    end
    for _,d in pairs(jdesc.aline) do
        editor.deleteRoad(d.body:getID())
    end
        out.acyan = nil
--            lo('?? decalPlot.added:'..#adec..':'..rd.ind..':'..obj:getID()..':'..rd.id)
--        decalsLoad()
@/lua/ge/extensions/core/multiSpawn.lua
  for _, v in ipairs(getAllVehiclesByType()) do
    if not (ignorePlayer and v:getID() == be:getPlayerVehicleID(0)) then
      table.insert(vehIds, v:getID())
    if not (ignorePlayer and v:getID() == be:getPlayerVehicleID(0)) then
      table.insert(vehIds, v:getID())
    end
@/lua/ge/extensions/editor/roadSpline/import.lua
    backupDecalRoads[i] = {
      id = road:getID(),
      name = road:getName(),
      name = road:getName(),
      groupId = group and group:getID() or nil,
      fields = {
        for j, node in ipairs(entry.nodes) do
          editor.addRoadNode(obj:getID(), { pos = node.pos, width = node.width or 10, index = j - 1 })
        end
    table.insert(layers, {
      name = 'Imported ' .. tostring(#layers + 1) .. ' ' .. road:getID(),
      id = Engine.generateUUID(),
      road:delete()
      if group and Sim.upcast(group) and not cleanedGroups[group:getID()] then
        local onlyDecalRoads = true
        end
        cleanedGroups[group:getID()] = true
      end
@/lua/ge/extensions/util/autoAnnotation.lua
  local name = node:getName()
  local id = node:getID()
  local str = tostring(className) .. ': ' ..tostring(name) .. '(' .. tostring(id) .. ')'
@/lua/ge/extensions/career/modules/inventory.lua

    assignInventoryIdToVehId(inventoryId, vehObj:getID())
    local numberOfBrokenParts = career_modules_valueCalculator.getNumberOfBrokenParts(vehInfo.partConditions)
              if location.option == "garage" then
                location.vehId = veh:getID()
                vehiclesToTeleportToGarage[inventoryId] = location
@/lua/ge/extensions/gameplay/forceField.lua
    local veh = be:getObject(i)
    if veh:getId() ~= vehicle:getID() then
      veh:queueLuaCommand(command)
@/gameplay/missionTypes/aiRace/customNodes/multiVehicleLuaNode.lua
      if not self.data.ignorePlayerVehicle or not veh:isPlayerControlled() then
        table.insert(vehIds, veh:getID())
      end
@/lua/ge/extensions/career/modules/vehiclePerformance.lua
        end)
        vehId = vehObj:getID()
        spawnStarted = true
          spawnStarted = true
          vehId = vehObj:getID()
        end
@/lua/ge/extensions/editor/roadUtils.lua
  for i=0, decoGroup:size()-1 do
    local decoObjectID = decoGroup:at(i):getID()
    local decoObject = scenetree.findObjectById(decoObjectID)
    for index, decorationSettings in ipairs(template.decorations) do
      local decoID = roadDecorations.decorateProps(road:getID(), decorationSettings.shapeName, tonumber(decorationSettings.distance),
                                                  tonumber(decorationSettings.period), quatFromEuler(0,0,(tonumber(decorationSettings.rotation)/360) * 2*math.pi),
local function getRoadWidth(road, metres)
  local spline = editor.getAllSplines()[road:getID()]
  local posData = roadDecorations.findOffsetPoint(spline, metres, 0, false)
  -- Create the array of points
  local points = editor.getAllSplines()[road:getID()]

  local middlePoints = editor.getAllSplines()[road:getID()]
    if index == 1 then
      editor.pasteFields(childRoadSettings, road:getID())
    else
  end
  editor.setDynamicFieldValue(road:getID(), "childRoads", childIDsString, false)
end
@/lua/ge/extensions/flowgraph/nodes/scene/raceLineParking.lua
    local wheels = {}
    local forward = map.objects[vehicle:getID()].dirVec
    forward = vec3(forward.x, forward.y, forward.z)
@/gameplay/missionTypes/crawl/customNodes/getDynamicObjectsFromPrefabNode.lua
    local child = prefab:at(i)
    local id = child:getID()
    local dF = child:getDynamicFields()
@/lua/ge/extensions/flowgraph/nodes/scene/spawnPrefab.lua
    scenetreeObject.canSave = false
    table.insert(self.objects, scenetreeObject:getID())
    if scenetree.MissionGroup then
    end
    self.pinOut.id.value = scenetreeObject:getID()
    --scenetreeObject:setName(name)
    --scenetreeObject:setName(name)
    self.mgr.modules.prefab:addPrefab(scenetreeObject:getID())
  else
@/lua/ge/extensions/editor/dynamicDecals/docs.lua
  im.Image(
    img.tex:getID(),
    im.ImVec2(sizeX, sizeY),
@/lua/ge/extensions/editor/terrainEditor.lua
    if terrainBlockMtl then
      paintMaterialIndices[terrainBlockMtl:getID()] = k
    end
  for k, mtlProxy in ipairs(paintMaterialProxies) do
    if paintMaterialIndices[mtlProxy.material:getID()] ~= nil then
      mtlProxy.inTerrainBlock = true
      mtlProxy.inTerrainBlock = true
      mtlProxy.index = paintMaterialIndices[mtlProxy.material:getID()]
      count = count + 1
  for _, name in ipairs(scenetree.findClassObjects("TerrainBlock")) do
    terrainBlockProxies[name] = {selected = false, id = scenetree.findObject(name):getID()}
  end
    setTerrainDirty()
    terrainBlockId = terrBlock:getID() --fix issue when map doesn't have terrain before
    updateEditorTerrainBlocks()
                if texObj and texObj.tex then
                  im.Image(texObj.tex:getID(), im.ImVec2(previewPx, previewPx), nil, nil, nil, editor.color.white.Value)
                  drewPreview = true
@/gameplay/missions/west_coast_usa/chase/001-Goliath/script.lua
        trailer = v
        trailerId = v:getID()
        break
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAeroDebug.lua
    -- Check if aerodata exists and if aero data is meant for current vehicle
    if vEditor.aeroData and vEditor.vehicle:getID() == vEditor.aeroData.vehID and vEditor.aeroData.wheelNameStrings and vEditor.aeroData.totalAeroForce then
      if not init then
@/lua/ge/extensions/gameplay/missions/missionManager.lua
    startingInfo.vehRot = quatFromDir(vec3(veh:getDirectionVector()), vec3(veh:getDirectionVectorUp()))
    startingInfo.vehId = veh:getID()
    startingInfo.startedFromVehicle = true
  if not setup then return end
  log("I","Setting diffs for vehicle ".. veh:getID().."...")
  if setup.toggleDifferentials then
  if step.veh and step.veh:isReady() then
    vehicleSetup.vehId = step.veh:getID()
    local idx = vehicleSetup._selectionIdx
@/lua/ge/extensions/gameplay/crawl/utils.lua
    local child = prefab:at(i)
    local id = child:getID()
    local dF = child:getDynamicFields()
    end
    local prefabId = scenetreeObject:getID()
    table.insert(spawnedPrefabIds, prefabId)
  local cD = {
    id = veh:getID(),
    isPlayable = true,
@/lua/ge/extensions/editor/gen/world.lua
			lo('?? ifTB:'.._..':'..name) --tostring(scenetree.findClassObjects("TerrainBlock")))
		terrainBlockProxies[name] = {selected = false, id = scenetree.findObject(name):getID()}
	end
	om:registerObject('tmp_'..tostring(os.clock()))
	local id = om:getID()
	om:setName('o_'..nm..'_'..id)
		obj:registerObject('dae_'..fid)
		local oid = obj:getID()
	if not obj then return end
	local idstat = obj:getID()
	lo('?? forJSON:'..tostring(obj.shapeName)..' STAT:'..idstat..':'..tostring(cedit.mesh))
	local nm = rayCast.object.name
	local id = rayCast.object:getID()
	if editor.keyModifiers.ctrl then return end
		cedit.forest = nil
		local id = scenetree.findObject(nm):getID() --rayCast.object:getID()
				lo('?? for_o_:'..id..':'..tostring(scope)..':'..tostring(cedit.mesh)..':'..rayCast.object.name)
		cedit.forest = nil
		local id = scenetree.findObject(nm):getID() --rayCast.object:getID()
				lo('?? for_o_:'..id..':'..tostring(scope)..':'..tostring(cedit.mesh)..':'..rayCast.object.name)
		else
--            local id,inrc = rayCast.object:getID()
					U.dump(cij,'?? hit_id:'..tostring(id)..':'..tostring(scope)..':'..tostring(rayCast.object.name)..'/'..nm)
				if id == nil and rayCast.object.name ~= 'theTerrain' then
					id = rayCast.object:getID()
					if string.find(rayCast.object.name, 'o_wall_') == 1 then
			-- MATERIAL
			matMove(ds) --, rayCast.object:getID())
		elseif cedit.mesh ~= nil and cij then
--  if nm == forestName and scope == 'top'
	local id = scenetree.findObject(nm):getID()
			lo('?? for_ID:'..tostring(id)..'/'..tostring(cedit.mesh))
		-- select face
		local id = rayCast.object:getID()
		cmesh = id
					local desc = adesc[cedit.mesh]
							U.dump(cij, '?? wall_sel_append:'..rayCast.object:getID()..':'..rayCast.object.name..':'..tostring(desc.selection))
					if not desc.selection then desc.selection = {} end
					end, cij)
					local ij = partOn(rayCast.object:getID())
					forBuilding(desc, function(w, ij)
					end
					local ij = U.stamp(partOn(rayCast.object:getID()),true)
					if #U.index(desc.selection, ij) == 0 then
--??    if cedit.mesh == nil or indrag then return end
	local id = rayCast.object:getID()
	local nm = rayCast.object.name
			-- on-the-fly object id
			local id = rayCast.object:getID()
@/lua/ge/extensions/editor/roadDecorations.lua
    end
    return group:getID()
  end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veNodeTriSelfCollisionDetector.lua

  local resultData = vehsResultData[vEditor.vehicle:getID()]

  vehsResultData[veh:getID()] = resultData
end
@/lua/vehicle/sounds.lua
local function updateCabinFilter()
  obj:queueGameEngineLua(string.format("core_sounds.setCabinFilterStrength(%d, %f)", obj:getID(), clamp(cabinFilterCoef, 0, 1)))
  -- print(string.format("%d: Setting Cabin Filter -> %f", objectId, clamp(cabinFilterCoef, 0, 1)))
@/lua/ge/extensions/editor/buildingEditor.lua
	rdm:registerObject(nm)
	local id = rdm:getID()
	rdm:unregisterObject()
	-- mesh
	local rdinfo = {id = edec:getID(), hmap = hmap, apin = apin}
	Net.decal2mesh(rdinfo, 'exit') --, true)
		--- mesh
		local rdinfo = {id = edec:getID(), hmap = hmap, apin = apin,
			meshid = nil, fr = brout,  to = brin, av = {}, w = wExit

		local rdinfo = {id = edec:getID(), meshid = nil,
			hmap = hmap, apin = apin, fr = {exout.rd, exout.ci},  to = {exin.rd, exin.ci}, av = {}, w = wExit}
Net.exitBranch = function(robj)
	local idobj = robj:getID()
	lo('>> exitBranch:'..idobj)
			U.dump(apin, '?? PREMESH_apin:')
	local rdinfo = {id = dec:getID(), meshid = nil,
		hmap = hmap, apin = apin}
		rdm:registerObject(nm)
		local id = rdm:getID()
		rdm:unregisterObject()
		rdm:registerObject(nm)
		local id = rdm:getID()
		rdm:unregisterObject()
	rdm:registerObject(nm)
	local id = rdm:getID()
	rdm:unregisterObject()
		rdm2:registerObject(nm)
		id = rdm2:getID()
		rdm2:unregisterObject()
	cmouse = rayCast.pos
	cobj = rayCast.object:getID()
	-- identify circle
						if icirc ~= nil then
								lo('?? region:'..icirc..':'..rd:getID())
							Net.junctionUp(icirc)
@/lua/ge/extensions/editor/biomeTool.lua
    local texture = editor.getTempTextureObj(getTerrLayerMask(layerID))
    imgui.Image(texture.tex:getID(), imgui.ImVec2(200, 200), nil, nil, nil, editor.color.white.Value)
    if getTerrLayerMask(layerID) == "" then
@/lua/ge/extensions/editor/assetDeduplicator.lua
        end
        im.Image(imgL.tex:getID(), im.ImVec2(sizex, sizey), nil, nil, nil, editor.color.white.Value)
      else
        end
        im.Image(imgR.tex:getID(), im.ImVec2(sizex, sizey), nil, nil, nil, editor.color.white.Value)
      else
@/lua/ge/extensions/editor/roadTemplateEditor.lua
  decoCounter = decoCounter + 1
  local decoID = decoObject:getID()
        for _, field in ipairs(selectedDeco:getDynamicFields()) do
          editor.setDynamicFieldValue(cloneID, field, editor.getFieldValue(selectedDeco:getID(), field))
        end
@/lua/ge/extensions/core/vehicle/partmgmt.lua
  if not vehObj then return end
  local vehID = vehObj:getID()
  end
  local playerVehicleId = playerVehicle:getID()
  local collectionTree = core_vehicles.generateAttachedVehiclesTree(playerVehicleId)
@/lua/ge/ge_utils.lua
        if not name then
          name = ("vehicle_by_Id_"..vehicle:getID())
          log("W", "", "Vehicle does not have name, using id as string instead: "..dumps(vid) .." -> " .. dumps(name))
@/lua/ge/extensions/editor/vehicleEditor/veToolbar.lua
          for k, veh in ipairs(currVehs) do
            local name = veh:getJBeamFilename() .. " (" .. veh:getID() .. ")"
            if im.MenuItem1(name) then
@/lua/ge/extensions/tech/techCore.lua
      log('I', logTag, 'Vehicle spawned: ' .. tostring(vID))
      if obj ~= nil and obj:getID() == vID then
        local resp = {type = 'VehicleSpawned', name = spawnPending, success = true}
  if veh ~= nil and options.licenseText ~= nil then
    core_vehicles.setPlateText(options.licenseText, veh:getID()) -- BUG: licenseText not respected in spawnNewVehicle
  end
    local road = scenetree.findObject(roadName)
    local roadID = road:getID()
    local roadData = {}
    local road = scenetree.findObject(roadName)
    local roadID = road:getID()
    local roadData = {}
  if request['vid'] ~= 0 then
    vid = scenetree.findObject(request['vid']):getID();
  end
  if request['vid'] ~= 0 then
    vid = scenetree.findObject(request['vid']):getID();
  end
  if request['vid'] ~= 0 then
    vid = scenetree.findObject(request['vid']):getID();
  end
  if request['vid'] ~= 0 then
    vid = scenetree.findObject(request['vid']):getID();
  end
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
  local name = request['name']
  local vid = scenetree.findObject(request['vid']):getID()
M.handleIsTimeEvolutionComplete = function(request)
  local vid = scenetree.findObject(request['vid']):getID()
  local data = extensions.tech_sensors.isTimeEvolutionComplete(vid)
  local vehicle = scenetree.findObject(request['vid'])
  tech_partAnnotations.annotateParts(vehicle:getID())
  request:sendACK('PartsAnnotated')
  local vehicle = scenetree.findObject(request['vid'])
  tech_partAnnotations.revertAnnotations(vehicle:getID())
  request:sendACK('AnnotationsReverted')
  local vehicle = scenetree.findObject(request['vid'])
  local colors = tech_partAnnotations.getPartAnnotations(vehicle:getID())
  local converted = {}

    local obj = {type=clazz, id=object:getID(), name=object:getName()}

    table.insert(ids, veh:getID())
  end

  local vid = getPlayerVehicle(0):getID()
  local pos = request['pos']
    local vehicle = getPlayerVehicle(0)
    local id = vehicle:getID()
    local vid = vehicle:getName()
      local playerVeh = getPlayerVehicle(0)
      local currentId = playerVeh and playerVeh:getID() or nil
      be:enterVehicle(0, veh)
  node.name = obj:getName()
  node.id = obj:getID()
  if obj.getObject ~= nil and obj.getCount ~= nil then
  local ret = {
    id = obj:getID(),
    name = obj:getName(),
  if cur ~= nil then
    cur = cur:getID()
  end
  local veh = scenetree.findObject(vid)
  local cur = getPlayerVehicle(0):getID()
  be:enterVehicle(0, veh)
  if cur ~= nil then
    cur = cur:getID()
  end
  local veh = scenetree.findObject(vid)
  local id = veh:getID()
  core_camera.setVehicleCameraByNameWithId(id, mode, nil, customData)
  -- Serialize & deserialize to get rid of data MessagePack can't serialize
  local cameraData = deserialize(serialize(core_camera.getCameraDataById(veh:getID())))
  cameraData['unicycle'] = nil
  end
  core_vehicles.setPlateText(request['text'], veh:getID())
  request:sendACK('SetLicensePlate')
    if v:getName() == request.leaderID then
      leader = v:getID()
      print("leader: "..leader)
    elseif v:getName() == request.follower1ID then
      follower1 = v:getID()
      print("follower 1: "..follower1)
    elseif v:getName() == request.follower2ID then
      follower2 = v:getID()
      print("follower2: "..follower2)
    elseif v:getName() == request.follower3ID then
      follower3 = v:getID()
      print("follower3: "..follower3)
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end
    if v:getName() == request.leaderID then
      leader = v:getID()
      print("leader: "..leader)
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end
    if v:getName() == request.leaderID then
      leader = v:getID()
    elseif v:getName() == request.vid then
    elseif v:getName() == request.vid then
      follower = v:getID()
    end
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end
    if v:getName() == request.leaderID then
      leader = v:getID()
    elseif v:getName() == request.vPid then
    elseif v:getName() == request.vPid then
      relay = v:getID()
    elseif v:getName() == request.vid then
    elseif v:getName() == request.vid then
      follower = v:getID()
    end
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end
    if v:getName() == request.leaderID then
      leader = v:getID()
    elseif v:getName() == request.vid then
    elseif v:getName() == request.vid then
      follower = v:getID()
    end
    print("name: "..v:getName())
    print("ID: "..v:getID())
  end
  if request['vid'] ~= 0 then
    vid = scenetree.findObject(request['vid']):getID();
  end
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua
      end
      local v1Off = self.mgr.modules.vehicle:getVehicle(v1:getID()).couplerOffset[1]
      local v2Off = self.mgr.modules.vehicle:getVehicle(v2:getID()).couplerOffset[1]
      local v1Off = self.mgr.modules.vehicle:getVehicle(v1:getID()).couplerOffset[1]
      local v2Off = self.mgr.modules.vehicle:getVehicle(v2:getID()).couplerOffset[1]
      --dump(self.mgr.modules.vehicle:getVehicle(v1:getID()))
      local v2Off = self.mgr.modules.vehicle:getVehicle(v2:getID()).couplerOffset[1]
      --dump(self.mgr.modules.vehicle:getVehicle(v1:getID()))
      --dump(self.mgr.modules.vehicle:getVehicle(v2:getID()))
      --dump(self.mgr.modules.vehicle:getVehicle(v1:getID()))
      --dump(self.mgr.modules.vehicle:getVehicle(v2:getID()))
      if not v1Off or not v2Off then
@/lua/ge/extensions/gameplay/markerInteraction.lua

    local vehId = veh:getID()
    updateData.bbCenter = updateData.bbCenter or vec3()
  if veh then
    playerVelLast:set(be:getObjectVelocityXYZ(veh:getID()))
  end
@/lua/ge/extensions/core/quickAccess.lua
            spawn.safeTeleport(playerVeh, playerVeh:getPosition(), quatFromDir(playerVeh:getDirectionVector()), nil, nil, nil, nil, false )
            extensions.hook('onVehicleFlippedUpright', playerVeh:getID())
            return {'hide'}
          if not playerVeh then return end
          local playerVehId = playerVeh:getID()
          local affectedVehicleCount = 0
            if veh:getPosition():distance(playerVeh:getPosition()) > 50 then goto continue end
            if veh:getID() == playerVehId then goto continue end
            local aiPath = getAiPath(rp.path, i)
          if not playerVeh then return end
          local playerVehId = playerVeh:getID()
          local affectedVehicleCount = 0
            if veh:getPosition():distance(playerVeh:getPosition()) > 50 then goto continue end
            if veh:getID() == playerVehId then goto continue end
            local aiPath = getAiPath(rp.path, i)
@/lua/ge/extensions/editor/api/gui.lua
  if not res.tex then return nil end
  res.texId = res.tex:getID()
  res.size = res.tex:getSize()
@/lua/ge/extensions/editor/terrainAndRoadImporter.lua
  folder:addObject(dRoad)
  local decalId = dRoad:getID()
  for i = 1, #nodes do
@/lua/ge/extensions/tech/sensors.lua
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_GPS.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
  local requestId = getUniqueRequestId()
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_meshSensor.adHocRequest(" .. sensorId .. ", " .. requestId .. ")")
local function getBeamData(vid)
  local vehicleId = scenetree.findObject(vid):getID();
  local d = Research.SensorMatrixManager.getBeamData(vehicleId)
local function getFullTriangleData(vid)
  local vehicleId = scenetree.findObject(vid):getID();
  local d = Research.SensorMatrixManager.getFullTriangleData(vehicleId)
local function getWheelTriangleData(vid, wheelIndex)
  local vehicleId = scenetree.findObject(vid):getID();
  local d = Research.SensorMatrixManager.getWheelTriangleData(vehicleId, wheelIndex)
local function getNodePositions(vid, nodeId)
  local vehicleId = scenetree.findObject(vid):getID();
  return Research.SensorMatrixManager.getNodePositions(vehicleId)
local function getClosestMeshPointToGivenPoint(vid, point)
  local vehicleId = scenetree.findObject(vid):getID();
  return Research.SensorMatrixManager.getClosestMeshPointToGivenPoint(vehicleId, point)
local function getClosestTriangle(vid, point, includeWheelNodes)
  local vehicleId = scenetree.findObject(vid):getID();
  return Research.SensorMatrixManager.getClosestTriangle(vehicleId, point, includeWheelNodes)
local function removeAdvancedIMU(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.remove(" .. sensorId .. ")")
local function setAdvancedIMUUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_advancedIMU.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
  local serialisedData = string.format("extensions.tech_advancedIMU.setIsUsingGravity(%q)", lpack.encode(data))
  be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
  local serialisedData = string.format("extensions.tech_advancedIMU.setIsVisualised(%q)", lpack.encode(data))
  be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
local function removeGPS(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_GPS.remove(" .. sensorId .. ")")
local function setGPSUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_GPS.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
  local serialisedData = string.format("extensions.tech_GPS.setIsVisualised(%q)", lpack.encode(data))
  be:queueObjectLua(scenetree.findObject(vid):getID(), serialisedData)
end
local function removePowertrainSensor(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.remove(" .. sensorId .. ")")
local function setPowertrainUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_powertrainSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeIdealRADARSensor(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.remove(" .. sensorId .. ")")
local function setIdealRADARUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_idealRADARSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeRoadsSensor(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.remove(" .. sensorId .. ")")
local function setRoadsSensorUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_roadsSensor.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeMeshSensor(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_mesh.remove(" .. sensorId .. ")")
local function setMeshUpdateTime(sensorId, vid, updateTime)
  local vehicleId = scenetree.findObject(vid):getID();
  be:queueObjectLua(vehicleId, "extensions.tech_mesh.setUpdateTime(" .. sensorId .. ", " .. updateTime .. ")")
local function removeValidation(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_validation.remove(" .. sensorId .. ")")
local function removeTyreBarrierTest(vid, sensorId)
  local vehicleId = scenetree.findObject(vid):getID()
  be:queueObjectLua(vehicleId, "extensions.tech_tyreBarrier.remove(" .. sensorId .. ")")
@/lua/ge/extensions/util/trackBuilder/splineTrack.lua
    --dump(scenetree.findObject("thePlayer"))
    --dump(scenetree.findObject("thePlayer"):getID())
    --dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
    --dump(scenetree.findObject("thePlayer"):getID())
    --dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
    local id = scenetree.findObject("thePlayer"):getID()
    --dump(getObjectByID(scenetree.findObject("thePlayer"):getID()))
    local id = scenetree.findObject("thePlayer"):getID()
    vehicleSetPositionRotation(id, pos.x, pos.y, pos.z, rot.x, rot.y, rot.z, rot.w)
@/lua/ge/extensions/ui/uiNavi.lua
      -- if no vehicle is being driven, then fallback to camera position/rotation
      controlId = cameraHandler:getID()
      local sobj = scenetree[controlId]
@/lua/vehicle/controller/beamNavigator.lua
  htmlTexture.create(screenMaterialName, htmlFilePath, textureWidth, textureHeight, textureFPS, "automatic")
  obj:queueGameEngineLua(string.format("extensions.ui_uinavi.requestVehicleDashboardMap(%q, nil, %d)", screenMaterialName, obj:getID()))
  if jbeamData.bootscreenImage then
@/lua/ge/extensions/editor/materialEditor.lua
                else
                  editor.selectObjectById(rayCastInfo.object:getID())
                  pickMaterialsFromObjectName = rayCastInfo.object:getGeneratedDisplayName()
@/lua/ge/extensions/flowgraph/nodes/debug/cameraMouseRayCast.lua
      self.pinOut.normal.value = {hit.normal.x,hit.normal.y,hit.normal.z}
      self.pinOut.objID.value = hit.object and hit.object:getID() or nil
      self.pinOut.objName.value = hit.object and hit.object:getName() or nil
@/lua/ge/extensions/career/career.lua
  for i = be:getObjectCount()-1, 0, -1 do
    local objId = be:getObject(i):getID()
    if not tableContains(safeIds, objId) then
@/gameplay/missions/automation_test_track/flowgraph/001-Dam/customNodes/getClosestStaticObjectNode.lua
        if sqDist < bestDist then
          bestId = obj:getID()
          bestDist = sqDist
@/lua/ge/extensions/freeroam/dragRace.lua
local function onVehicleSpawned(vehicleID)
  if opponentVehicle and vehicleID == opponentVehicle:getID() then
    guihooks.trigger('MenuHide', true)
local function onVehicleDestroyed(id)
  if playerVehicle and playerVehicle:getID() == id then
    playerVehicle = nil
    resetLights()
  elseif opponentVehicle and opponentVehicle:getID() == id then
    opponentVehicle = nil
  if not vehicle then return end
  if playerVehicleInsideTrigger and playerVehicle and playerVehicle:getID() == vid then
    ui_missionInfo.closeDialogue()
@/lua/common/extensions/ui/imguiUtils.lua
  res.tex = imgui.ImTextureHandler(path)
  res.texId = res.tex:getID()
  res.size = res.tex:getSize()
@/lua/ge/extensions/scenario/busdriver.lua

    local playerVehicleID = playerVehicle:getID()
    statistics_statistics.setStatProgress(playerVehicleID,   "smoothness", playerInstance, {status=  st.smoothness.total < 50 and 'failed' or 'pass', value=  st.smoothness.total, maxValue=100})
  if playerVehicle then
    local playerVehicleID = playerVehicle:getID()
    currentLine = extensions.core_busRouteManager.setLine(playerVehicleID,busConfig.routeID,busConfig.variance)
  if running then
    local playerVehicleID = scenetree.findObject(playerInstance):getID()
    if vehicleID == playerVehicleID and damaged then
    -- calculate damage rating
    local trakedObj = map.getTrackedObjects()[pv:getID()]
    if not trakedObj then return end
@/lua/ge/extensions/util/terrainGenerator.lua
  terrain:importMaps(self.heightMap, self.terrainScale, self.terrainHeight, self.holeMap, self.materials, self.textureMaps, self.flipYAxis)
  self.terrainId = terrain:getID() -- this id only gets saved if a new terrain was created here
  terrain:save(terrain:getTerrFileName())
@/lua/vehicle/extensions/tech/techCore.lua
  info['port'] = port
  info['id'] = obj:getID()

  local cmd = 'extensions.hook("onVehicleInfoReady", ' .. tostring(obj:getID()) .. ', ' .. serialize(info) .. ')'
  obj:queueGameEngineLua(cmd)
  end
  local cmd = 'extensions.hook("onVehicleConnectionReady", ' .. tostring(obj:getID()) .. ', ' .. tostring(port) .. ')'
  obj:queueGameEngineLua(cmd)
  local cmd = 'Point4F(' .. request['r'] .. ', ' .. request['g'] .. ', ' .. request['b'] .. ', ' .. request['a'] .. ')'
  cmd = 'getObjectByID(' .. obj:getID() .. '):setColor(' .. cmd .. ')'
  obj:queueGameEngineLua(cmd)
  local targetName = request['target']
  obj:queueGameEngineLua('scenetree.findObjectById(' .. obj:getID() .. '):queueLuaCommand("ai.setTargetObjectID(" .. scenetree.findObject(\'' .. targetName .. '\'):getID() .. ")")')
  request:sendACK('AiTargetSet')
  local targetName = request['target']
  obj:queueGameEngineLua('scenetree.findObjectById(' .. obj:getID() .. '):queueLuaCommand("ai.setTargetObjectID(" .. scenetree.findObject(\'' .. targetName .. '\'):getID() .. ")")')
  request:sendACK('AiTargetSet')
@/gameplay/missionTypes/aiRace/customNodes/aiScatterNode.lua
  for _, v in ipairs(getAllVehiclesByType()) do
    local id = v:getID()
    if id ~= be:getPlayerVehicleID(0) then
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/goToEndLine.lua
        self.pinOut.inRadius.value = true
        self.complete = map.objects[veh:getID()].vel:length() < (self.pinIn.checkVelocity.value or 10000)
      end
@/lua/ge/extensions/statistics/statistics.lua
local function initialiseAltitudeStat(vehicle, vehicleName)
  local vehicleID = vehicle:getID()
  local altitudeProperties = statsProperties['altitude']
local function initialiseDamageStat(vehicle, vehicleName)
  local vehicleID = vehicle:getID()

  local vehicleID = vehicle:getID()
  local distanceProperties = statsProperties['distance']
  if scenario_scenarios.getScenario().goals then
    local vehicleID = vehicle:getID()
    local vehicleTable = statsTable[vehicleID] --or {}
  data.maxValue = maxValue
  setStatProgress(vehicle:getID(), statName, vehicleName, data)
end
local function initialiseSpeedStat(vehicle, vehicleName)
  local vehicleID = vehicle:getID()
  local speedProperties = statsProperties['speed']
local function initialiseTimeStat(vehicle, vehicleName)
  local vehicleID = vehicle:getID()
  local timeProperties = statsProperties['time']

      -- dump(statsTable[vehicle:getID()])
    end
        if sourceVehicle then
          local vehicleData = map.objects[sourceVehicle:getID()]
          if vehicleData then
          if vehicle then
            vehicleData = map.objects[vehicle:getID()]
          end
@/lua/ge/extensions/tech/pythonExport.lua
    obj:queueGameEngineLua(
      string.format('extensions.tech_pythonExport.getFullConfigVehicleCallback(%d, %q)', obj:getID(), lpack.encode(data))
    )
@/lua/ge/extensions/gameplay/taxi.lua
local function setPullOver(veh)
  notifyBlinkerSysOfPullOver(veh:getID())
  veh:queueLuaCommand('ai.setPullOver(true)')
@/lua/ge/extensions/career/modules/loanerVehicles.lua
            if bestParkingSpot then
              bestParkingSpot:moveResetVehicleTo(vehObj:getID(), nil, false, nil, nil, true, nil, false)
              offer.vehPos = bestParkingSpot.pos
@/lua/common/extensions/tech/techCapture.lua

local LUA_CONTEXT = obj == nil and 'GE' or tostring(obj:getID())
local tcomCaptureName = nil
@/lua/ge/extensions/gameplay/discover/newPlayerExperience.lua
          if i <= 3 then
            setupVehs[v:getID()] = [[
              for _, v in ipairs(powertrain.getDevicesByType("differential")) do powertrain.toggleDeviceMode(v.name) end
@/lua/ge/extensions/editor/ffiptrleaktest.lua
    im.TextUnformatted("ImVec2& vs ImVec2* test")
    im.Image(image.tex:getID(), im.ImVec2(256,256), im.ImVec2(0,0), im.ImVec2(1,1));
  end
@/lua/ge/extensions/editor/sceneTree.lua
  end
  local objId = object:getID()
  return findNodeById(instance, parentNode, objId)
      if nextObject then
        table.insert(placeholderObjects, nextObject:getID())
      end
      instance.rootNode = {
        id = rootGrp:getID(),
        object = rootGrp,
  -- if its a different object, but has same name with out new name, then error
  if searchedObj and searchedObj:getID() ~= node.id then
    local msg = "'" .. name .. "' already exists in the scene, please choose another name"
        if object then
          groupParentID = object:getID()
        end
          if parent then
            groupParentID = parent:getID()
          end
  if not groupParentID then
    groupParentID = scenetree.MissionGroup:getID()
  end
  for _, instance in pairs(guiInstancer.instances) do
    removeNodesByObjectIds(instance, {object:getID()})
  end
            if nextObject then
              table.insert(placeholderObjects, nextObject:getID())
            end
      if grp then
        editor.selectObjectById(grp:getID())
      else
      if grp then
        editor.selectObjectById(grp:getID())
      else
@/lua/ge/extensions/editor/resourceChecker.lua
        im.Image(
          img.tex:getID(),
          im.ImVec2(sizex, sizey),
        im.Image(
          img.tex:getID(),
          im.ImVec2(sizex, sizey),
@/lua/ge/extensions/flowgraph/modules/vehicleModule.lua
    local prefab = Prefab.getPrefabByChild(scenetree.findObjectById(id))
    --print("preabid: " .. prefab:getID())
    if prefab then
    if prefab then
      self.mgr.modules.prefab:setUnpackVehiclesBeforeDeletion(prefab:getID(), true)
    end
@/gameplay/missions/gridmap_v2/collection/002-blenderbowl/script.lua
        if v.jbeam == "ball" then
          table.insert(ballIds, v:getID())
        end
@/lua/ge/extensions/editor/flowgraph/missionVariableHelper.lua
    if mgr.variables:variableExists(varName) then
      local vehicleId = getPlayerVehicle(0):getID()
      if mgr.variables:changeBase(varName, vehicleId) then
@/lua/ge/extensions/gameplay/crawl/general.lua

  if gameplay_crawl_utils.startCrawl(veh:getID(), trail, crawlerData, false) then
    extensions.hook('onCrawlStarted')

    if gameplay_crawl_utils.startCrawl(veh:getID(), trail, crawlerData, true) then
      extensions.hook('onCrawlStarted')

  if gameplay_crawl_utils.startCrawl(veh:getID(), trail, crawlerData, true) then
    extensions.hook('onCrawlStarted')
@/flowgraphEditor/Tower/customNodes/towerNode.lua
    scenetreeObject.canSave = false
    table.insert(self.objects, scenetreeObject:getID())
    if scenetree.MissionGroup then
    --scenetreeObject:setName(name)
    self.mgr.modules.prefab:addPrefab(scenetreeObject:getID())
    local prefabId = scenetreeObject:getID()
    self.mgr.modules.prefab:addPrefab(scenetreeObject:getID())
    local prefabId = scenetreeObject:getID()
    local data = self.mgr.modules.prefab:getPrefab(prefabId)
@/gameplay/missionTypes/timeTrial/constructor.lua
    if usePlayerVehicle then
      local inventoryId = career_modules_inventory.getInventoryIdFromVehicleId(veh:getID())
      if inventoryId then
@/lua/ge/extensions/gameplay/discover/discover_037.lua
          if i == 1 then
            walkId = v:getID()
          else
          else
            limoId = v:getID()
            core_vehicleBridge.executeAction(v,'setIgnitionLevel', 0)
@/lua/ge/extensions/editor/meshEditor.lua
  local nodeInfo = {pos = position, width = width, depth = depth, normal = normal, index = index}
  return editor.addMeshNode(mesh:getID(), nodeInfo)
end
  end
  actionData.newMeshID = editor.createMesh(M.type, newMeshNodes, editor.copyFields(originalMesh:getID()))
  return actionData.newMeshID

  editor.history:commitAction("SplitMesh", {originalMeshID = mesh:getID(), nodeID = nodeID}, splitMeshActionUndo, splitMeshActionRedo)
end
    local sphereRadius = (core_camera.getPosition() - pos):length() * roadRiverGui.nodeSizeFactor
    if selectedNodes[(index-1)] and mesh:getID() == selectedMeshId then
      editor.updateAxisGizmo(gizmoBeginDrag, gizmoEndDrag, gizmoDragging)
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode,false)
    elseif hoveredNode == (index-1) and mesh:getID() == hoveredMeshID then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.hoveredNode,false)
  -- Only show nodes of selected mesh
  if mesh:getID() == selectedMeshId then
    showNodes(mesh)
  if rayCastInfo then
    return rayCastInfo.object:getID() == mesh:getID()
  end
  if rayCastInfo then
    return rayCastInfo.object:getID() == mesh:getID()
  end
        local hoveredMesh = hoveredNode and selectedMesh or meshRayCastRes.object
        hoveredMeshID = hoveredMesh:getID()
        if hoveredMesh:getID() ~= selectedMeshId then
        hoveredMeshID = hoveredMesh:getID()
        if hoveredMesh:getID() ~= selectedMeshId then
          showMesh(hoveredMesh, roadRiverGui.highlightColors.hover)
  local newSelectedMesh = editor.findFirstSelectedByType(M.type)
  selectedMeshId = newSelectedMesh and newSelectedMesh:getID()
end
@/lua/ge/extensions/core/environment.lua
    if obj then
      envObjectIdCache[className] = obj:getID()
      return obj
@/lua/ge/extensions/career/modules/vehicleShopping.lua
  local parkingSpots = freeroam_facilities.getParkingSpotsForFacility(dealership)
  local parkingSpot = gameplay_sites_sitesManager.getBestParkingSpotForVehicleFromList(vehObj:getID(), parkingSpots)
  parkingSpot:moveResetVehicleTo(vehObj:getID(), nil, nil, nil, nil, true)
  local parkingSpot = gameplay_sites_sitesManager.getBestParkingSpotForVehicleFromList(vehObj:getID(), parkingSpots)
  parkingSpot:moveResetVehicleTo(vehObj:getID(), nil, nil, nil, nil, true)
end

  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
    payForVehicle()
    local newInventoryId = career_modules_inventory.addVehicle(vehObj:getID())
    if buyVehicleOptions.licensePlateText then
    removeNonUsedPlayerVehicles = true
    if be:getPlayerVehicleID(0) == vehObj:getID() then
      career_modules_inventory.enterVehicle(newInventoryId)
@/lua/ge/extensions/editor/api/camera.lua
  bookmarksGroup:addObject(bookmark)
  return bookmark:getID()
end
@/lua/ge/extensions/core/multiseat.lua
  local curVehicle = getPlayerVehicle(player)
  local curId = curVehicle and curVehicle:getID()
  local vehicles = getActiveVehicles()
  for index,vehicle in ipairs(vehicles) do
    local id = vehicle and vehicle:getID()
    if curId == id then
@/lua/vehicle/bdebugImpl.lua

  obj:queueGameEngineLua("getObjectByID(" .. obj:getID() .. "):queueLuaCommand('bdebug.recieveViewportSize('.. ui_imgui.GetMainViewport().Size.x .. ',' .. ui_imgui.GetMainViewport().Size.y .. ')' )")
@/lua/ge/extensions/editor/trafficManager.lua
    if targetVeh then
      veh:queueLuaCommand('ai.setTargetObjectID('..targetVeh:getID()..')')
    end
        if veh then
          local vehId = veh:getID()
          if not session.vehicles[nameId] then
              end
              currInstance.spawnedObjectId = obj:getID()
              scenetree[simGroupName]:addObject(obj.obj)
            if hoveredObject and hoveredObject:getClassName() == "TSStatic" and editor.isObjectSelectable(hoveredObject) then
              local objId = hoveredObject:getID()
              currInstance:linkSignalObject(objId)
      if prefab then
        editor.selectObjects({prefab:getID()})
        local groups = editor.explodeSelectedPrefab() -- reverts prefab back into SimGroup
        if veh then
          createVehicleData(veh:getID(), data)
          local sessionData = session.vehicles[data.name]
  if scenetree.objectExists(simGroupName) then
    editor.selectObjects({scenetree.findObject(simGroupName):getID()})
    local prefab = editor.createPrefabFromObjectSelection(prefabFilePath, nil, "auto") -- saves prefab file
    local prefab = editor.createPrefabFromObjectSelection(prefabFilePath, nil, "auto") -- saves prefab file
    editor.selectObjects({prefab:getID()})
    local groups = editor.explodeSelectedPrefab() -- reverts prefab back into SimGroup
@/lua/vehicle/extensions/aeroDebug.lua

  aeroData.vehID = obj:getID()
  aeroData.totalAeroForce = obj:calcTotalAeroForces()
@/lua/ge/extensions/editor/tech/roadArchitect/decals.lua
      local nodes, sectionWidths = computeSectionGeom(road, sStart, sEnd)
      local numNodes, decalId = #nodes, dRoad:getID()
      local last = vec3(0, 0, 1e24)
      folder:addObject(dRoad)
      local decalId = dRoad:getID()
      local last = vec3(0, 0, 1e24)
      folder:addObject(layerDecal)
      local decalId = layerDecal:getID()
      folder:addObject(layerDecal)
      local decalId = layerDecal:getID()
      folder:addObject(layerDecal)
      local decalId = layerDecal:getID()
@/lua/ge/extensions/flowgraph/nodes/gameplay/canEnterFromWalking.lua
  self.pinOut.closeButNotStopped.value = gameplay_walk.isWalking() and gameplay_walk.getVehicleInFront() and not gameplay_walk.isAtParkingSpeed()
  self.pinOut.vehId.value = gameplay_walk.getVehicleInFront() and gameplay_walk.getVehicleInFront():getID() or nil
end
@/lua/ge/extensions/scenario/scenarios.lua
       targetvehicle = scenetree.findObject(scenario.vehicles[vName].driver["fleeTarget"])
       targetVehId = targetvehicle:getID()
       helper.queueLuaCommandByName(vName,'ai.setTargetVehicleID('..targetVehId..')')
    if spawnedVehicle then
      scenario.userSelectedVehicle.returnedVehicleId = spawnedVehicle:getID()
    end
      local vehicleDamage = 0
      if map.objects[vehicle:getID()] then
        vehicleDamage = map.objects[vehicle:getID()].damage
      if map.objects[vehicle:getID()] then
        vehicleDamage = map.objects[vehicle:getID()].damage
      end
  local playerVehId = be:getPlayerVehicleID(0)
  local vehicleId = vehicle:getID()
  -- log('I', logTag, 'initializeVehicle PlayerID: '..tostring(playerVehId)..' Spawned: '..tostring(vehicleId))
      local vehicle = scenetree.findObject(vehName)
      local vehicleID = vehicle:getID()
      local vehicleData = map.objects[vehicleID]
  if vehicle and data then
    local vehId = vehicle:getID()
    local info = {vehicleId = vehId, vehicleName = vehicleName}
@/lua/ge/extensions/editor/gen/network.lua
    -- mesh
    local rdinfo = {id = edec:getID(), hmap = hmap, apin = apin}
    decal2mesh(rdinfo, 'exit') --, true)
        --- mesh
        local rdinfo = {id = edec:getID(), hmap = hmap, apin = apin,
            meshid = nil, fr = brout,  to = brin, av = {}, w = wExit
                        if icirc ~= nil then
                            print('?? region:'..icirc..':'..rd:getID())
                            junctionUp(icirc)
@/lua/ge/extensions/flowgraph/nodes/activity/attemptVehicle.lua
        if self.mgr.activity.setupModules.vehicles.usePlayerVehicle then
          local inventoryId = career_modules_inventory.getInventoryIdFromVehicleId(veh:getID())
          if inventoryId then
@/lua/ge/extensions/core/trafficSignals.lua
  obj:setTransform(transform)
  self:linkSignalObject(obj:getID())
@/lua/ge/extensions/freeroam/facilities.lua
  local parkingSpots = getParkingSpotsForFacility(garage)
  local parkingSpot = gameplay_sites_sitesManager.getBestParkingSpotForVehicleFromList(veh:getID(), parkingSpots)
  if parkingSpot then
@/lua/ge/extensions/editor/dataBlockEditor.lua
    local dataBlock = Sim.getDataBlockSet():at(index)
    if dataBlock:getID() == objectID then return true end
  end
                      if selected then
                        flags = bit.bor(flags, (selected:getID() == dataBlock:getID()) and im.TreeNodeFlags_Selected or 0)
                      end
                      if selected then
                        flags = bit.bor(flags, (selected:getID() == dataBlock:getID()) and im.TreeNodeFlags_Selected or 0)
                      end
                    if im.IsItemClicked() then
                      editor.selectObjectById(dataBlock:getID())
                    end
          if im.Selectable1(dataBlock:__tostring()) then
            dataBlockToCopyID = dataBlock:getID()
            dataBlockToCopyName = dataBlock:__tostring()
@/lua/ge/extensions/editor/bulkRename.lua
      if obj then
        if obj:getID() ~= id then
          objId = obj:getID()
        if obj:getID() ~= id then
          objId = obj:getID()
        end
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/arrive.lua

      if dist < radius and map.objects[veh:getID()].vel:length() < (self.pinIn.checkVelocity.value or 10000) then
        self:setDurationState('finished')
@/lua/ge/extensions/editor/decalEditor.lua
    local template = editor.getDecalTemplates():at(index)
    if template:getID() == id then
      return template
  local template = scenetree.findObjectById(actionData.id)
  if selectedTemplate and selectedTemplate:getID() == template:getID() then
    clearTemplateSelection()
  local template = scenetree.findObjectById(actionData.id)
  if selectedTemplate and selectedTemplate:getID() == template:getID() then
    clearTemplateSelection()

  if selectedTemplate and selectedTemplate:getID() == template:getID() then
    clearTemplateSelection()

  if selectedTemplate and selectedTemplate:getID() == template:getID() then
    clearTemplateSelection()
    editor.history:commitAction("DeleteDecalTemplate",
                {fields = editor.copyFields(selectedTemplate:getID()), id = selectedTemplate:getID(),
                name = editor.getFieldValue(selectedTemplate:getID(), "name"), instancesData = instancesData},
    editor.history:commitAction("DeleteDecalTemplate",
                {fields = editor.copyFields(selectedTemplate:getID()), id = selectedTemplate:getID(),
                name = editor.getFieldValue(selectedTemplate:getID(), "name"), instancesData = instancesData},
                {fields = editor.copyFields(selectedTemplate:getID()), id = selectedTemplate:getID(),
                name = editor.getFieldValue(selectedTemplate:getID(), "name"), instancesData = instancesData},
                deleteTemplateActionUndo, deleteTemplateActionRedo)
  if im.ListBox1("", templateSelectionIndex, im.ArrayCharPtrByTbl(names), table.getn(names), avail.y/21) then
    editor.selectObjectById(templates[templateSelectionIndex[0]+1]:getID())
    selectedTemplate = Sim.upcast(templates[templateSelectionIndex[0]+1])
@/lua/ge/extensions/editor/levelValidator.lua
  for i, unplantedObj in ipairs(unplantedObjects) do
    local unplantedNode = unplantedObj.getKey and forestItemNodes[unplantedObj:getKey()] or sceneObjectNodes[unplantedObj:getID()]
    local bb = getAdjustedBoundingBox(unplantedObj:getWorldBox())
    for _, otherObj in ipairs(objects) do
      local otherNode = sceneObjectNodes[otherObj:getID()]
      if otherNode then
      if prefab then
        table.insert(objectLogs, {logLevel = "W", type = "floating", objectId = prefab:getID(), prefabChildId = id, message = "An object inside this prefab is floating: " .. prefab:getID(), onCheck = true})
        if object and object:canFloatAboveGround() then
      if prefab then
        table.insert(objectLogs, {logLevel = "W", type = "floating", objectId = prefab:getID(), prefabChildId = id, message = "An object inside this prefab is floating: " .. prefab:getID(), onCheck = true})
        if object and object:canFloatAboveGround() then
        if object and object:canFloatAboveGround() then
          table.insert(objectLogs, {logLevel = "W", type = "floating", objectId = prefab:getID(), prefabChildId = id, message = "An object inside this prefab is floating: " .. prefab:getID(), onCheck = true})
        end
        if object and object:canFloatAboveGround() then
          table.insert(objectLogs, {logLevel = "W", type = "floating", objectId = prefab:getID(), prefabChildId = id, message = "An object inside this prefab is floating: " .. prefab:getID(), onCheck = true})
        end
        if (class == "DecalRoad" or class == "MeshRoad" or class == "River") and object:getNodeCount() < 2 then
          table.insert(objectLogs, {logLevel = "E", type = "spline", objectId = object:getID(), message = "This " ..  object:getClassName() .. " has less than 2 nodes: " .. object:getID(), onCheck = true})
          job.yield()
        if (class == "DecalRoad" or class == "MeshRoad" or class == "River") and object:getNodeCount() < 2 then
          table.insert(objectLogs, {logLevel = "E", type = "spline", objectId = object:getID(), message = "This " ..  object:getClassName() .. " has less than 2 nodes: " .. object:getID(), onCheck = true})
          job.yield()
            if prefab then
              table.insert(objectLogs, {logLevel = "W", type = "duplicate", objectId = prefab:getID(), prefabChildId = object:getID(), message = "An object inside this prefab " .. prefab:getID() .. " is identical to another object. (Might be in the same prefab)", onCheck = true})
            else
            if prefab then
              table.insert(objectLogs, {logLevel = "W", type = "duplicate", objectId = prefab:getID(), prefabChildId = object:getID(), message = "An object inside this prefab " .. prefab:getID() .. " is identical to another object. (Might be in the same prefab)", onCheck = true})
            else
            if prefab then
              table.insert(objectLogs, {logLevel = "W", type = "duplicate", objectId = prefab:getID(), prefabChildId = object:getID(), message = "An object inside this prefab " .. prefab:getID() .. " is identical to another object. (Might be in the same prefab)", onCheck = true})
            else
            else
              table.insert(objectLogs, {logLevel = "W", type = "duplicate", objectId = object:getID(), message = "This object " .. object:getID() .. " and this object " .. id2 .. " are identical", onCheck = true})
            end
            else
              table.insert(objectLogs, {logLevel = "W", type = "duplicate", objectId = object:getID(), message = "This object " .. object:getID() .. " and this object " .. id2 .. " are identical", onCheck = true})
            end
        if not foundDuplicate then
          objectHashes[object:getID()] = hash
        end
@/lua/ge/extensions/core/cameraModes/orbit.lua
  if not self.dynamicPitchLimit then
    local vehId = data.veh:getID()
    local veh = getObjectByID(vehId)
  else
    local vehId = data.veh:getID()
    bbCenter:set(be:getObjectOOBBCenterXYZ(vehId))
@/lua/ge/extensions/editor/roadEditor.lua
local function deleteNode(road, nodeID)
  editor.deleteRoadNode(road:getID(), nodeID)
  editor_roadUtils.reloadDecorations(road)
    local roadInfoTbl = {}
    roadInfoTbl[road:getID()] = nodeInfo
    return editor.history:commitAction("InsertRoadNode", {roadInfos = roadInfoTbl}, insertNodeActionUndo, insertNodeActionRedo)
  else
    return editor.addRoadNode(road:getID(), nodeInfo)
  end
      end
       local roadID = editor.createRoad(newRoadNodes, editor.copyFields(originalRoad:getID()))
       table.insert(newRoadIds, roadID)
    if nodeID == 0 or nodeID == road:getNodeCount() - 1 then
      editor.logError("Can't split at the end of road "..tostring(road:getID()))
      return
      local grp = road:getGroup()
      local groupId = grp and grp:getID() or nil
      local newNodes = {}
      if im.Checkbox("Use Template", useTemplate) then
        editor.setDynamicFieldValue(selectedRoad:getID(), "useTemplate", tostring(useTemplate[0]))
      end
    local pos = node.pos
    local tempNodeIndex = getRoadTempNodeIndex(road:getID())
    if editor.getPreference("roadEditor.general.dragWidth") and index - 1 == tempNodeIndex then
    local sphereRadius = (core_camera.getPosition() - pos):length() * roadRiverGui.nodeSizeFactor
    if isNodeSelected(road:getID(), index - 1) and isRoadSelected(road:getID()) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
    local sphereRadius = (core_camera.getPosition() - pos):length() * roadRiverGui.nodeSizeFactor
    if isNodeSelected(road:getID(), index - 1) and isRoadSelected(road:getID()) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
    elseif hoveredNodeInfo[road:getID()] and hoveredNodeInfo[road:getID()] == (index - 1) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.hoveredNode, false)
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.selectedNode, false)
    elseif hoveredNodeInfo[road:getID()] and hoveredNodeInfo[road:getID()] == (index - 1) then
      debugDrawer:drawSphere(pos, sphereRadius, roadRiverGui.highlightColors.hoveredNode, false)
  local edgeCount = road:getEdgeCount()
  local duplicatedRoadIndex = indexOf(duplicatedRoadIDs, road:getID())
  -- Only show nodes of selected road
  local roadID = road:getID()
  if isRoadSelected(roadID) then
              if ctrlDown then selectMode = editor.SelectMode_Toggle end
              editor.selectObjectById(hoveredObject:getID(), selectMode)
            end
@/lua/ge/extensions/editor/api/decal.lua
  editor.setDirty()
  return template:getID()
end
    end
    editor.deleteObject(template:getID())
  end
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua

  self:addPrefab(scenetreeObject:getID())
  return scenetreeObject:getID()
  self:addPrefab(scenetreeObject:getID())
  return scenetreeObject:getID()
end
@/lua/ge/extensions/gameplay/walk.lua
    for _, veh in ipairs(getAllVehicles()) do
      local vehId = veh:getID()
      if not vehicleBlacklist[vehId] and veh.playerUsable ~= false and veh:getActive() and veh:getJBeamFilename() ~= "unicycle" then
@/gameplay/missionTypes/evade/customNodes/multiVehicleLuaNode.lua
      if not self.data.ignorePlayerVehicle or not veh:isPlayerControlled() then
        table.insert(vehIds, veh:getID())
      end
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veFlexbodyDebug.lua
    settings = jsonReadFile(settingsPath) or {}
    switchVehicle(vEditor.vehicle:getID())
  end
@/lua/ge/extensions/editor/api/object.lua
  for _, object in ipairs(objects) do
    table.insert(idArray, object:getID())
  end
        local newPosStr = tostring(objPos.x) .. " " .. tostring(objPos.y) .. " " .. tostring(objPos.z)
        editor.setFieldValue(object:getID(), "position", newPosStr)
      end
      local newPosStr = tostring(objPos.x) .. " " .. tostring(objPos.y) .. " " .. tostring(objPos.z)
      editor.setFieldValue(object:getID(), "position", newPosStr)
    end
    if object then
      editor.logDebug("Name: "..object.name.." ID: "..object:getID())
    end
@/lua/ge/spawn.lua
local function setSafePosition(veh, pos, rot, centeredPosition, useInitialNodePositions)
  vehiclesPositionedThisFrame[veh:getID()] = nil
  if useInitialNodePositions then
@/lua/ge/extensions/editor/assetBrowser.lua
        editor.selectEditMode(editor.editModes.objectSelect)
        editor.selectObjects({var.dragDropMesh:getID()})
        editor.history:commitAction("CreateObject", {objectId = var.dragDropMesh:getID()},
        editor.selectObjects({var.dragDropMesh:getID()})
        editor.history:commitAction("CreateObject", {objectId = var.dragDropMesh:getID()},
                                  createObjectUndo, createObjectRedo, true)
      im.Image(
        editor.assetDragDrop.dragImage.tex:getID(),
        im.ImVec2(sizex, sizey),
      im.Image(
        img.tex:getID(),
        im.ImVec2(sizex, sizey),
      if set.d then
        im.Image(editor.getTempTextureObj(set.d.path).tex:getID(), imgSize, nil, nil, nil, editor.color.white.Value)
      elseif set.n then
      elseif set.n then
        im.Image(editor.getTempTextureObj(set.n.path).tex:getID(), imgSize, nil, nil, nil, editor.color.white.Value)
      elseif set.s then
      elseif set.s then
        im.Image(editor.getTempTextureObj(set.s.path).tex:getID(), imgSize, nil, nil, nil, editor.color.white.Value)
      else
          im.Image(
            editor.getTempTextureObj(path).tex:getID(),
            im.ImVec2(sizex, sizey),
        im.Image(
          editor.getTempTextureObj(file.path or "").tex:getID(),
          im.ImVec2(var.options.thumbnailSize * uiScaling - 5, var.options.thumbnailSize * uiScaling - 5),
        im.Image(
          editor.getTempTextureObj(file.inspectorData.cachePath).tex:getID(),
          im.ImVec2(var.options.thumbnailSize * uiScaling - 5, var.options.thumbnailSize * uiScaling - 5),
                local texSize = im.ImVec2(texToDraw.size.x * uv1.x, texToDraw.size.y * uv1.y)
                im.Image(texToDraw.tex:getID(), texSize, nil, uv1, nil, nil)
                im.SetCursorPos(im.ImVec2(cursorPos.x + texSize.x, cursorPos.y))
            im.Image(
              var.imageInspectorImage.tex:getID(), var.imageInspectorImageSize, nil, nil, nil, editor.color.white.Value
            )
	    "##InspectorGuiButton",
        img.tex:getID(),
        im.ImVec2(width, height),
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua
  for _, veh in ipairs(getAllVehicles()) do
    local vehId = veh:getID()
    if veh:getActive() and (not playerId or playerId ~= vehId) then
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veJBeamPicker.lua
  local vehCmdString = '"editor_vehicleEditor_liveEditor_veJBeamPicker.nodeDataFromVELua[' .. id .. '].' .. varName .. ' =" .. ' .. luaFunction
  be:queueObjectFastLua(vEditor.vehicle:getID(), "obj:queueGameEngineLua(" .. vehCmdString .. ")")
end
  local vehCmdString = '"editor_vehicleEditor_liveEditor_veJBeamPicker.beamDataFromVELua[' .. id .. '].' .. varName .. ' =" .. ' .. luaFunction
  be:queueObjectFastLua(vEditor.vehicle:getID(), "obj:queueGameEngineLua(" .. vehCmdString .. ")")
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/teleportToLastRoad.lua
    spawn.teleportToLastRoad(veh, {resetVehicle = self.pinIn.resetVehicle.value, destinationPos = self.pinIn.destinationPos.value})
    extensions.hook('onVehicleTeleportedToLastRoad', veh:getID())
  end