findObjectById
Definition
-- @/=[C]:-1
function findObjectById(...)
Callers
@/lua/ge/extensions/gameplay/walk.lua
-- Reset the alpha to 1 when switching away from a unicycle
local unicycle = scenetree.findObjectById(oldId)
if unicycle and unicycle.getJBeamFilename and unicycle:getJBeamFilename() == "unicycle" then
@/lua/ge/extensions/gameplay/markers/bigmapMarker.lua
if cluster.id then
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
if iconRendererObj then
if self.iconRendererId then
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
if iconRendererObj then
@/lua/ge/extensions/career/modules/loanerVehicles.lua
function(step, vehId)
local vehObj = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(vehObj, 'initPartConditions', {}, offer.vehMileage or 0, 1, 1)
@/lua/ge/extensions/gameplay/drag/dragBridge.lua
M.startDragRace = function(vehicleId, lane)
local veh = vehicleId and scenetree.findObjectById(vehicleId) or be:getPlayerVehicle(0)
if not veh then
@/lua/ge/extensions/editor/objectTool.lua
local xform = MatrixF(true)
local obj = scenetree.findObjectById(editor.selection.object[#editor.selection.object])
if not obj then return end
for _, id in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(id)
if obj then
for i, id in ipairs(objectIDs) do
local obj = scenetree.findObjectById(id)
parentIds[i] = tonumber(obj:getField("parentGroup", 0))
local newGroup = nil
if parentIds and parentIds[i] then newGroup = scenetree.findObjectById(tonumber(parentIds[i])) end
local grp = newGroup or missionGroup
for i, id in ipairs(actionData.objectIds) do
scenetree.findObjectById(id):setPosition(actionData.newPositions[i])
end
for i, id in ipairs(editor.selection.object) do
table.insert(newPositions, scenetree.findObjectById(editor.selection.object[i]):getPosition() + delta)
end
for i, id in ipairs(actionData.objects) do
scenetree.findObjectById(id):setPosition(actionData.newPositions[i])
end
for i, id in ipairs(actionData.objects) do
scenetree.findObjectById(id):setPosition(actionData.oldPositions[i])
end
for i, id in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(id)
if obj:getClassName() ~= 'SimGroup' then -- ignores groups
for i = 1, tableSize(editor.selection.object) do
objects[i] = scenetree.findObjectById(editor.selection.object[i])
if not editor.canManipulateObject(objects[i]) then
for i = 1, tableSize(editor.selection.object) do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj and obj.getTransform then
for i = 1, tableSize(editor.selection.object) do
objects[i] = scenetree.findObjectById(editor.selection.object[i])
if not editor.canManipulateObject(objects[i]) then
for _, id in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(id)
if obj then
for i = 1, tableSize(editor.selection.object) do
objects[i] = scenetree.findObjectById(editor.selection.object[i])
if not editor.canManipulateObject(objects[i]) then
for i = 1, tableSize(editor.selection.object) do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj then
local objId = editor.selection.object[1]
local obj = scenetree.findObjectById(objId)
if objectIdByIconClick and objectIdByIconClick ~= 0 then
local object = scenetree.findObjectById(objectIdByIconClick)
if worldEditorCppApi.getClassIsSelectable(object:getClassName())
for i = 1, tableSize(editor.selection.object) do
local obj = scenetree.findObjectById(editor.selection.object[i])
table.insert(selectedObjects, obj)
for _, objId in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(objId)
if obj and obj.isLocked and obj:isLocked() then
if editor.selection.object and editor.selection.object[1] then
groupID = scenetree.findObjectById(editor.selection.object[1]):getField("parentGroup", 0)
end
local xform = MatrixF(true)
local obj = scenetree.findObjectById(id)
if editor.getAxisGizmoAlignment() == editor.AxisGizmoAlignment_Local then
if selectedId and fieldName == "startTime" then
local object = scenetree.findObjectById(selectedId)
if object and object:getClassName() == "TimeOfDay" then
@/lua/ge/extensions/flowgraph/nodes/scene/pointOnDecalroad.lua
if self.pinIn.roadId.value ~= self.oldRoadId then
self.roadObj = scenetree.findObjectById(self.pinIn.roadId.value)
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
if im.Button("Copy from current Selection") then
local obj = scenetree.findObjectById(editor.selection.object[1])
if not obj then return end
if not self.pinIn.objID.value then return end
local obj = scenetree.findObjectById(self.pinIn.objID.value)
if not obj then return end
@/lua/ge/extensions/gameplay/drift/stuntZones/nearPole.lua
local markerOffset = vec3(0, 0, 2.5)
local veh = scenetree.findObjectById(self.activeData.veh:getId())
if veh then
@/lua/ge/extensions/editor/gen/terrain.lua
for roadID,_ in pairs(rdlist) do
local rd = scenetree.findObjectById(roadID)
if rd then
if not rd then return end
local obj = scenetree.findObjectById(rd.id)
if obj then
@/lua/ge/extensions/editor/roadUtils.lua
local function randomizeDecoration(decoID, factor)
local decoGroup = scenetree.findObjectById(decoID)
local decoObjectID = decoGroup:at(i):getID()
local decoObject = scenetree.findObjectById(decoObjectID)
local oldPos = decoObject:getPosition()
for decoID in string.gmatch(decorationIDs, "%d+") do
local object = scenetree.findObjectById(tonumber(decoID))
if object then
local decalID = editor.createRoad(decalNodes, decalSettings)
editor.updateRoadVertices(scenetree.findObjectById(decalID))
editor.setDynamicFieldValue(decalID, "isDecal", "true", false)
local childRoad = scenetree.findObjectById(childRoadID)
childRoad:setField('canSave', 0, "0")
for roadID, _ in pairs(allRoadsCopy) do
local road = scenetree.findObjectById(roadID)
@/lua/ge/extensions/editor/meshSpline.lua
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
for _, objId in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(objId)
if obj and obj:getClassName() == "TSStatic" then
@/lua/ge/extensions/flowgraph/nodes/vehicle/boost.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/core/cameraModes/crash.lua
self.camMode = data.camMode
local veh1 = scenetree.findObjectById(data.veh1Id)
local bb1 = veh1:getSpawnWorldOOBB()
if data.veh2Id and (self.camMode == 1 or self.camMode == 2 and math.random() > 0.5) then
local veh2 = scenetree.findObjectById(data.veh2Id)
local driverNode = core_camera.getDriverDataById(veh2:getId())
function C:update(data)
local veh1 = scenetree.findObjectById(self.veh1Id)
local bb1 = veh1:getSpawnWorldOOBB()
if self.veh2Id then
veh2 = scenetree.findObjectById(self.veh2Id)
bb2 = veh2:getSpawnWorldOOBB()
@/lua/ge/extensions/gameplay/drag/saveSystem.lua
if data.prefabs.christmasTree and data.prefabs.christmasTree.isUsed and data.prefabs.christmasTree.prefabId then
local prefabObj = scenetree.findObjectById(data.prefabs.christmasTree.prefabId)
if prefabObj then
if data.prefabs.displaySign and data.prefabs.displaySign.isUsed and data.prefabs.displaySign.prefabId then
local prefabObj = scenetree.findObjectById(data.prefabs.displaySign.prefabId)
if prefabObj then
if data.prefabs.decorations and data.prefabs.decorations.isUsed and data.prefabs.decorations.prefabId then
local prefabObj = scenetree.findObjectById(data.prefabs.decorations.prefabId)
if prefabObj then
if data.prefabs.paths and data.prefabs.paths.isUsed and data.prefabs.paths.prefabId then
local prefabObj = scenetree.findObjectById(data.prefabs.paths.prefabId)
if prefabObj then
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/reset.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/gameplay/removeOtherVehicles.lua
if delete then
local obj = scenetree.findObjectById(id)
@/lua/ge/extensions/scenario/raceMarkers/cylinderMarker.lua
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/lua/ge/extensions/flowgraph/nodes/vehicle/fire/fire.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
end
@/lua/ge/extensions/editor/api/valueInspector.lua
editor.pickingLinkTo = {}
editor.pickingLinkTo.child = Sim.findObjectById(self.selectedIds[1])
editor.pickingLinkTo.selectionObjectIds = deepcopy(self.selectedIds)
if fieldType == "GameBaseData" then
local obj = Sim.findObjectById(self.selectedIds[1])
--searchForClassname = obj:getClassName()
if fieldType == "ParticleEmitterData" then
local o = scenetree.findObjectById(self.selectedIds[1])
if o then
if o then
local dblock = scenetree.findObjectById(dataBlocksTbl[fieldValue])
if dblock then o:setEmitterDataBlock(dblock) end
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresComplete.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
local selectedObj = scenetree.findObjectById(editor.selection.object[1])
local validIds = {}
for _, oid in ipairs(currInstance.tempSignalObjects) do
local obj = scenetree.findObjectById(oid)
if obj and obj.shapeName then
@/lua/ge/extensions/flowgraph/nodes/vehicle/applyVelocity.lua
function C:work()
local veh = self.pinIn.vehId.value and scenetree.findObjectById(self.pinIn.vehId.value) or getPlayerVehicle(0)
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/trackVehicleDistanceToPos.lua
-- if self.pinIn.vehId.value then
-- veh = scenetree.findObjectById(self.pinIn.vehId.value)
-- else
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/getGearboxMode.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/gameplay/missions/gridmap_v2/collection/002-blenderbowl/script.lua
if math.random() < (timer-5)*0.25 then
local veh = scenetree.findObjectById(id)
if veh then
for _, id in ipairs(ballIds) do
local ball = scenetree.findObjectById(id)
if ball then
function C:onVehicleReset(id)
local veh = scenetree.findObjectById(id)
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/breakgroup.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/career/modules/delivery/vehicleTasks.lua
-- check if close enough to destination
local trailerVeh = scenetree.findObjectById(taskData.vehId)
local trailerPos = trailerVeh:getPosition()
-- check if parked in spot and uncoupled
local trailerVeh = scenetree.findObjectById(taskData.vehId)
local destinationPs = dGenerator.getParkingSpotByPath(activeTask.destination.psPath)
end
local veh = scenetree.findObjectById(taskData.vehId)
if veh then veh:delete() end
local unicycle = scenetree.findObjectById(unicycleId)
if unicycle then
end
local veh = scenetree.findObjectById(taskData.vehId)
if veh then veh:delete() end
end
local veh = scenetree.findObjectById(taskData.vehId)
if veh then veh:delete() end
@/lua/ge/extensions/editor/assemblySpline.lua
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
for _, objId in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(objId)
if obj and obj:getClassName() == "TSStatic" then
@/lua/ge/extensions/gameplay/discover.lua
-- use this to get the position, rotation and partConfig of all vehicles
for id in activeVehiclesIterator() do local veh = scenetree.findObjectById(id) print(veh) dump({veh:getPosition(), quatFromDir(veh:getDirectionVector(), veh:getDirectionVectorUp()), veh.jbeam, veh.partConfig}) end
]]
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/couple.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/gameplay/util/damageAssessment.lua
end
local veh = scenetree.findObjectById(vehId)
local oobb = veh:getSpawnWorldOOBB()
@/lua/ge/extensions/career/modules/tether.lua
local function checkCapsuleTetherWithVeh(t)
local veh = scenetree.findObjectById(t.vehId)
if not veh then return true end
local veh = scenetree.findObjectById(t.vehId)
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleMapData.lua
if self.pinIn.vehId.value then
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
if veh then vehId = self.pinIn.vehId.value end
self.pinOut.active.value = vehicleData.active
self.pinOut.newAPIDamage.value = scenetree.findObjectById(vehId):getSectionDamageSum()
self.pinOut.damage.value = vehicleData.damage
@/lua/ge/extensions/gameplay/speedTraps.lua
if vehSpeed > triggerSpeed then
local triggerObj = scenetree.findObjectById(data.triggerID)
if not triggerObj then return end
@/lua/ge/extensions/editor/createObjectTool.lua
if editor.selection.object and not tableIsEmpty(editor.selection.object) then
local obj = scenetree.findObjectById(editor.selection.object[1])
if obj and (obj:getClassName() == "SimSet" or obj:isSubClassOf("SimSet")) then
@/lua/ge/extensions/editor/gen/exp_meshexplorer.lua
for id, veh in activeVehiclesIterator() do
local om = scenetree.findObjectById(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()
cobj = spawn.spawnVehicle(amodel[env.ui['model_up']], nil, vec3(0,0,0), quat(0,0,1,0)):getId()
end
local vo = scenetree.findObjectById(pvd.id)
local box = vo:getWorldBox()
-- table.insert(res, veh)
-- scenetree.findObjectById(veh:getID()):delete()
end
if true then
scenetree.findObjectById(id):delete()
local veh = spawn.spawnVehicle(model, nil, vec3(1,3,4), quat(0,0,1,0))
end
spawn.setVehicleObject(scenetree.findObjectById(id), options)
end
else
scenetree.findObjectById(id):delete()
end
local id = obj:getID()
obj = scenetree.findObjectById(id)
pvd = extensions.core_vehicle_manager.getPlayerVehicleData()
-- local vo = scenetree.findObjectById(pvd.id)
beamdata.anode = pvd.vdata.nodes
beamdata.anode = pvd.vdata.nodes
lo('?? to_ghost:'..tostring(cpreview)..':'..tostring(cobj)..':'..tostring(scenetree.findObjectById(cobj):getPosition()))
beamdata.ds = -pvd.vdata.nodes[pvd.vdata.refNodes[0].ref].pos -- + scenetree.findObjectById(cpreview):getPosition()
lo('?? to_ghost:'..tostring(cpreview)..':'..tostring(cobj)..':'..tostring(scenetree.findObjectById(cobj):getPosition()))
beamdata.ds = -pvd.vdata.nodes[pvd.vdata.refNodes[0].ref].pos -- + scenetree.findObjectById(cpreview):getPosition()
beamdata.anode = pvd.vdata.nodes
beamdata.ds = -pvd.vdata.nodes[pvd.vdata.refNodes[0].ref].pos -- + scenetree.findObjectById(cpreview):getPosition()
beamdata.ds = beamdata.ds + amesh[1].body:getPosition()
-- lo('?? for_VEH:'..tostring(veh:getId()))
local om = scenetree.findObjectById(veh:getId())
-- lo('?? if_PREV:'..tostring(cpreview)..':'..tostring(om))
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))
-- lo('?? for_VEH:'..tostring(veh:getId()))
local om = scenetree.findObjectById(veh:getId())
-- lo('?? if_PREV:'..tostring(cpreview)..':'..tostring(om))
local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
scenetree.findObjectById(tveh:getId()):delete()
spawn.spawnVehicle(amodel[env.ui['model_up']], nil, vec3(0,0,0), quat(0,0,1,0))
-- lo('?? if_PO:'..tostring(po.id)..':'..tostring(po:getId()))
-- local om = scenetree.findObjectById(po:getId())
-- lo('?? if_PREV:'..tostring(cpreview)..':'..tostring(om))
for i,id in pairs(aveh) do
scenetree.findObjectById(id):delete()
end
local om = scenetree.findObjectById(cpreview)
if om then om:delete() end
for i,id in pairs(aveh) do
scenetree.findObjectById(id):delete()
end
pvd = extensions.core_vehicle_manager.getPlayerVehicleData()
-- local vo = scenetree.findObjectById(pvd.id)
beamdata.anode = pvd.vdata.nodes
beamdata.anode = pvd.vdata.nodes
lo('?? to_ghost:'..tostring(cpreview)..':'..tostring(cobj)..':'..tostring(scenetree.findObjectById(cobj):getPosition()))
beamdata.ds = -pvd.vdata.nodes[pvd.vdata.refNodes[0].ref].pos -- + scenetree.findObjectById(cpreview):getPosition()
lo('?? to_ghost:'..tostring(cpreview)..':'..tostring(cobj)..':'..tostring(scenetree.findObjectById(cobj):getPosition()))
beamdata.ds = -pvd.vdata.nodes[pvd.vdata.refNodes[0].ref].pos -- + scenetree.findObjectById(cpreview):getPosition()
if cpreview then
local om = scenetree.findObjectById(cpreview)
if om then
if co then
local box = scenetree.findObjectById(co):getWorldBox()
z = box.maxExtents.z - box.minExtents.z
if co then
local box = scenetree.findObjectById(co):getWorldBox()
z = box.maxExtents.z - box.minExtents.z
if env.ui[key] == val then
local om = scenetree.findObjectById(cpreview)
if om then om:delete() end
for i,id in pairs(aveh) do
scenetree.findObjectById(id).hidden = false
end
for i,id in pairs(aveh) do
scenetree.findObjectById(id).hidden = true
end
for i,m in pairs(amesh) do
local obj = scenetree.findObjectById(m.id)
if obj then
lo('?? for_VEH:'..tostring(veh:getId()))
local om = scenetree.findObjectById(veh:getId())
lo('?? if_PREV:'..tostring(cpreview)..':'..tostring(om))
local tveh = spawn.spawnVehicle('metal_box', nil, vec3(0,0,0), quat(0,0,1,0))
scenetree.findObjectById(tveh:getId()):delete()
spawn.spawnVehicle('pickup', nil, vec3(0,0,0), quat(0,0,1,0))
-- lo('?? if_PO:'..tostring(po.id)..':'..tostring(po:getId()))
-- local om = scenetree.findObjectById(po:getId())
-- lo('?? if_PREV:'..tostring(cpreview)..':'..tostring(om))
@/lua/ge/extensions/core/environment.lua
if envObjectIdCache[className] == 0 then return nil end
return scenetree.findObjectById(envObjectIdCache[className])
end
local function getCloudCoverByID(objectID)
local cloudObj = scenetree.findObjectById(objectID)
local cloud
local function setCloudCoverByID(objectID, coverage)
local cloudObj = scenetree.findObjectById(objectID)
local cloud
local function getCloudExposureByID(objectID)
local cloudObj = scenetree.findObjectById(objectID)
local exposure
local function setCloudExposureByID(objectID, exposure)
local cloudObj = scenetree.findObjectById(objectID)
local cloud
local function getCloudWindByID(objectID)
local cloudObj = scenetree.findObjectById(objectID)
local windSpeed
local function setCloudWindByID(objectID, windSpeed)
local cloudObj = scenetree.findObjectById(objectID)
local cloud
local function getCloudHeightByID(objectID)
local cloudObj = scenetree.findObjectById(objectID)
local height
local function setCloudHeightByID(objectID, height)
local cloudObj = scenetree.findObjectById(objectID)
local cloud
@/lua/ge/extensions/gameplay/drag/general.lua
local vehicle = scenetree.findObjectById(vehicleId)
if not vehicle or vehicle.className ~= "BeamNGVehicle" then
@/gameplay/missions/gridmap_v2/delivery/004-obstaclecourse/script.lua
function C:onVehicleReset(id)
local veh = scenetree.findObjectById(id)
if not veh then return end
@/lua/ge/extensions/gameplay/drift/sounds.lua
local function updateContinuousDriftSoundParameters()
local sound = scenetree.findObjectById(continuousDriftSoundId)
if sound then
local sound = scenetree.findObjectById(soundId)
if sound and (isSoundPlaying[soundId] == not active or not isSoundPlaying[soundId]) then
@/lua/ge/extensions/editor/assetBrowser.lua
local function createObjectUndo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
if var.editorLastSelection then
local obj = scenetree.findObjectById(var.editorLastSelection)
if obj then
-- Gets asset file path
local object = scenetree.findObjectById(node.id)
local assetPath = object:getModelFile() --node.upcastedObject:getModelFile()
if node then
local object = scenetree.findObjectById(node.id)
-- Applicable for TSStatic objects
@/lua/ge/extensions/editor/particleEditor.lua
local function createEmitterActionUndo(actionData)
local emitter = scenetree.findObjectById(actionData.id)
editor.removeDataBlockFromFile(emitter)
actionData.id = editor.createDataBlock(newEmitterName, "ParticleEmitterData", "DefaultEmitter", defaultEmitterFile)
emitter = scenetree.findObjectById(actionData.id)
else
else
emitter = scenetree.findObjectById(actionData.id)
Sim.getDataBlockSet():addObject(emitter)
local function deleteEmitterActionUndo(actionData)
local emitter = scenetree.findObjectById(actionData.id)
editor.addDataBlockToFile(emitter, emitter:getFileName())
local function deleteEmitterActionRedo(actionData)
local emitter = scenetree.findObjectById(actionData.id)
editor.removeDataBlockFromFile(emitter)
local function createParticleActionUndo(actionData)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
actionData.emitterID = emitter:getID()
particle = scenetree.findObjectById(actionData.particleID)
else
else
particle = scenetree.findObjectById(actionData.particleID)
emitter = scenetree.findObjectById(actionData.emitterID)
particle = scenetree.findObjectById(actionData.particleID)
emitter = scenetree.findObjectById(actionData.emitterID)
Sim.getDataBlockSet():addObject(particle)
local function deleteParticleActionUndo(actionData)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
emitter:setField("particles", "", emitter:getField("particles", "") .. "\t" .. particle:getName())
local function deleteParticleActionRedo(actionData)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
local particle = scenetree.findObjectById(actionData.particleID)
local emitter = scenetree.findObjectById(actionData.emitterID)
@/lua/ge/extensions/editor/terrainMaterialsEditor.lua
local function propertyUndo(actionData)
local obj = scenetree.findObjectById(actionData.objectId)
if obj then
local function propertyRedo(actionData)
local obj = scenetree.findObjectById(actionData.objectId)
if obj then
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenLapTimesPanel.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/roadTemplateEditor.lua
for _, id in ipairs(decorations) do
scenetree.findObjectById(id):deleteObject()
clearSelection = true
local decoInfo = {}
local decoObject = scenetree.findObjectById(id)
for _, field in ipairs(decoObject:getDynamicFields()) do
if im.Button("Clone##Decoration") then
local selectedDeco = scenetree.findObjectById(decorations[decorationSelectionIndex[0]+1])
local cloneID = createDecoObject()
-- Delete the selected deco object
scenetree.findObjectById(decorations[decorationSelectionIndex[0]+1]):deleteObject()
table.remove(decorations, decorationSelectionIndex[0]+1)
@/lua/ge/extensions/flowgraph/nodes/scene/raceLineParking.lua
if self.pinIn.vehicleID.value then
veh = scenetree.findObjectById(self.pinIn.vehicleID.value)
else
@/lua/vehicle/extensions/tech/techCore.lua
local targetName = request['target']
obj:queueGameEngineLua('scenetree.findObjectById(' .. obj:getID() .. '):queueLuaCommand("ai.setTargetObjectID(" .. scenetree.findObject(\'' .. targetName .. '\'):getID() .. ")")')
request:sendACK('AiTargetSet')
@/gameplay/missions/automation_test_track/flowgraph/001-Dam/customNodes/hitTargetNode.lua
function C:work()
if not scenetree.findObjectById(self.pinIn.vehId.value or 0) or not scenetree.findObjectById(self.pinIn.targetId.value or 0) then
self:onNodeReset()
function C:work()
if not scenetree.findObjectById(self.pinIn.vehId.value or 0) or not scenetree.findObjectById(self.pinIn.targetId.value or 0) then
self:onNodeReset()
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
local target = scenetree.findObjectById(self.pinIn.targetId.value)
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
local target = scenetree.findObjectById(self.pinIn.targetId.value)
local oobb = veh:getSpawnWorldOOBB()
@/lua/ge/extensions/editor/api/object.lua
for _, objId in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(objId)
if obj and obj.getTransform then
for i = 1, tableSize(editor.selection.object) do
local obj = Sim.findObjectById(editor.selection.object[i])
if obj and obj.getWorldBox then
local function getFieldValue(objectId, fieldName, arrayIndex)
local obj = Sim.findObjectById(objectId)
if arrayIndex and arrayIndex >= 0 then arrayIndex = tostring(arrayIndex) elseif not arrayIndex then arrayIndex = "" end
for _, objId in ipairs(objectIds) do
local obj = scenetree.findObjectById(objId)
if obj then obj:setSelected(selected or false) end
if objectId then
local obj = scenetree.findObjectById(objectId)
if obj then obj:setSelected(selected) end
local function setFieldValue(objectId, fieldName, value, arrayIndex)
local obj = Sim.findObjectById(objectId)
if obj then
local function setDynamicFieldValue(objectId, fieldName, value, arrayIndex)
local obj = Sim.findObjectById(objectId)
if obj then
local function getFieldInfo(objectId, fieldName)
local obj = Sim.findObjectById(objectId)
if obj then
local function getFields(objectId)
local obj = Sim.findObjectById(objectId)
if obj then
local function getDynamicFields(objectId)
local obj = Sim.findObjectById(objectId)
if obj then
for i = 2, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if object then
if i ~= baseObjIndex then
local object = Sim.findObjectById(editor.selection.object[i])
if object then
end
local object = Sim.findObjectById(editor.selection.object[1])
if not object then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if canManipulateObject(object) then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if canManipulateObject(object) then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if canManipulateObject(object) then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if canManipulateObject(object) then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if canManipulateObject(object) and object.getPosition then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if editor.canManipulateObject(object) then
for i = 1, tableSize(editor.selection.object) do
objects[i] = Sim.findObjectById(editor.selection.object[i])
local object = objects[i]
for i, id in ipairs(objects) do
local object = scenetree.findObjectById(id)
local level = getObjectLevel(object)
local currentObject = scenetree.findObjectById(id)
if currentObject and currentObject:getClassName() == "SimGroup" then
local childObjId = groupData[index]
local child = scenetree.findObjectById(childObjId)
if child then
local currentObject = scenetree.findObjectById(id)
if currentObject and currentObject:getClassName() == "SimGroup" then
local childObjId = groupData[index]
local child = scenetree.findObjectById(childObjId)
if child then
for i = 1, tableSize(editor.selection.object) do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj then table.insert(stack, obj) end
for i = 1, #editor.selection.object do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj then
for i = 1, #editor.selection.object do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj and obj:getClassName() == "Prefab" then
for i = 1, #editor.selection.object do
local obj = scenetree.findObjectById(editor.selection.object[i])
if obj then
for i = 1, tableSize(editor.selection.object) do
local object = Sim.findObjectById(editor.selection.object[i])
if object then
for i = 1, tableSize(editor.selection.object) do
local selectedObject = scenetree.findObjectById(editor.selection.object[i])
if selectedObject and selectedObject:getClassName() == classname then
for _, id in ipairs(selection) do
if scenetree.findObjectById(id) then
table.insert(objectIds, id)
local objId = Sim.deserializeObjectFromText(cleanedJsonString, true, true)
local obj = scenetree.findObjectById(objId)
if obj and name then
@/lua/ge/extensions/editor/gen/test.lua
for _,o in pairs(list) do
local om = scenetree.findObjectById(tonumber(o))
lo('?? if_DEL:'..tostring(o)..':'..tostring(om))
for _,o in pairs(list) do
local om = scenetree.findObjectById(tonumber(o))
if om then
-- W.houseDown(d)
-- scenetree.findObjectById(d.id):delete()
break
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)))
clear()
-- local obj = scenetree.findObjectById(desc.id)
-- obj:delete()
-- cleanup
local obj = scenetree.findObjectById(dlod.id)
obj:delete()
@/lua/ge/extensions/gameplay/discover/discover_037.lua
end
if not scenetree.findObjectById(limoId) then
step.complete = true
@/lua/ge/extensions/gameplay/markers/crawlMarker.lua
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
@/lua/ge/extensions/flowgraph/nodes/vehicle/shiftToGearIndex.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/core/forest.lua
local function getForestObject()
local forest = forestId and scenetree.findObjectById(forestId)
if not forest then
@/lua/ge/spawn.lua
end
local sgPpointID = scenetree.findObjectById(spawngroupPoint:getId())
if not sgPpointID then
if dps then
return scenetree.findObjectById(dps.obj:getId())
end
end
if gameConnection and gameConnection.player and scenetree.findObjectById(gameConnection.player) then
log('E', logTag, 'Attempting to create a player for a client that already has one!')
if gameConnection and gameConnection.freeCamera then
local freeCamera = scenetree.findObjectById(tonumber(gameConnection.freeCamera))
if freeCamera then
-- Spawn the trailer behind the vehicle
local car = scenetree.findObjectById(carID)
local carBB = car:getSpawnWorldOOBB()
local trailer = scenetree.findObjectById(trailerID)
local trailerBB = trailer:getSpawnWorldOOBB()
@/lua/ge/extensions/career/modules/testDrive.lua
local veh = scenetree.findObjectById(vehicleId)
local oobb = veh:getSpawnWorldOOBB()
@/lua/ge/extensions/tech/impactgen/crashOutput.lua
local ground = scenetree.findClassObjects('GroundPlane')[1]
ground = scenetree.findObjectById(ground)
ground:setField('material', 0, groundMat)
@/lua/ge/extensions/freeroam/bigMapMode.lua
if airSoundId then
local sound = scenetree.findObjectById(airSoundId)
if sound then
if not transitionActive then
local iconRenderer = scenetree.findObjectById(iconRendererId)
local playerVehicle = getPlayerVehicle(0)
local function activateBigMapCallback()
local iconRenderer = scenetree.findObjectById(iconRendererId)
if not iconRenderer then return end
if stopTransitionSound and transitionSoundId then
local sfxSource = scenetree.findObjectById(transitionSoundId)
if sfxSource then
local sound = scenetree.findObjectById(airSoundId)
if sound then
end
local sound = scenetree.findObjectById(airSoundId)
if sound then
local iconRenderer = scenetree.findObjectById(iconRendererId)
if iconRenderer then
if not transitionActive then
local iconRenderer = scenetree.findObjectById(iconRendererId)
if iconRenderer then
@/lua/ge/extensions/editor/materialEditor.lua
local function propertyUndo(actionData)
local obj = scenetree.findObjectById(actionData.objectId)
if obj then
local function propertyRedo(actionData)
local obj = scenetree.findObjectById(actionData.objectId)
if obj then
@/lua/ge/extensions/editor/inspector.lua
for k, v in ipairs(editor.getObjectSelection()) do
local obj = scenetree.findObjectById(v)
-- we call inspectUpdate so the objects compute internal things and return true if inspector needs to be refreshed
local firstObj = scenetree.findObjectById(valueInspector.selectedIds[1])
local firstId = valueInspector.selectedIds[1]
local obj = scenetree.findObjectById(firstId)
if obj then
local groundCoverId = valueInspector.selectedIds[#valueInspector.selectedIds]
local groundCover = scenetree.findObjectById(groundCoverId)
local groundCoverMaterialName = groundCover:getField("Material", "")
if editor.pickingLinkTo and #editor.selection.object then
-- local pid = Sim.findObjectById(editor.selection.object[1]):getOrCreatePersistentID() -- Note: 11/06/2024 - Only TerrainMaterial and DecalRoad still have persistent id. Persistent Id will soon be no more.
-- editor.pickingLinkTo.child:setField("linkToParent", 0, pid)
@/lua/ge/extensions/editor/sidewalkSpline/splineMgr.lua
-- Create a new scene tree folder for the sidewalk spline.
if not spline.sceneTreeFolderId or not scenetree.findObjectById(spline.sceneTreeFolderId) then
local newFolder = createObject("SimGroup")
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
if data.isUpdateSceneTree then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
@/lua/ge/extensions/flowgraph/nodes/vehicle/colors.lua
local veh = self.pinIn.vehId.value or be:getPlayerVehicleID(0)
local obj = scenetree.findObjectById(veh)
@/lua/ge/extensions/core/paths.lua
if markerId >= 0 then
local marker = scenetree.findObjectById(markerId)
if marker then
@/gameplay/missionTypes/collection/customNodes/collectionNode.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/gen/decal.lua
for id,_ in pairs(rdlist) do
local obj = scenetree.findObjectById(id)
-- lo('?? if_ROAD:'..tostring(id)..':'..tostring(obj))
local rd = adec[ind]
if rd and scenetree.findObjectById(rd.id) then
if rd and U._PRD == 0 then
editor.deleteObject(tonumber(o))
-- scenetree.findObjectById(tonumber(o)):delete()
-- o:delete()
local rd = adec[ind]
if rd and scenetree.findObjectById(rd.id) then
if rd.listrad then
for id,_ in pairs(adec) do
local obj = scenetree.findObjectById(id)
-- lo('?? for_DEC:'..id..':'..tostring(obj))
for roadID,_ in pairs(rdlist) do
local rd = scenetree.findObjectById(roadID)
-- lo('?? PI:'..tostring(`rd and rd:getOrCreatePersistentID())) -- getField('material')) or) --rd.persistentId))
for id,_ in pairs(rdlist) do
local obj = scenetree.findObjectById(id)
if not obj then
for i,rd in pairs(adec) do
local obj = scenetree.findObjectById(rd.id)
if obj then
if not rd then return end
local obj = scenetree.findObjectById(rd.id)
if obj then
editor_roadUtils.reloadDecals(rd)
rd = scenetree.findObjectById(roadID)
list = editor.getNodes(rd)
-- {{pos = apos[1], width = w, drivability = 1}},
local road = scenetree.findObjectById(id)
road:setField('material', 0, desc.mat or default.mat)
for i = 1, tableSize(editor.selection.object) do
local selectedObject = scenetree.findObjectById(editor.selection.object[i])
lo('?? SO:'..tostring(selectedObject:getClassName()))
-- local id = editor.selection.object[i]
croad = scenetree.findObjectById(editor.selection.object[i])
lo('?? R_seld:'..tostring(croad))
else
-- croad = scenetree.findObjectById(editor.selection.object[1])
croad = scenetree.findObjectById(cpick)
-- croad = scenetree.findObjectById(editor.selection.object[1])
croad = scenetree.findObjectById(cpick)
-- lo('>> ter2road:'..tostring(editor.selection.object[1]))
return croad or #apick --and croad:getField("material", "") ~= 'WarningMaterial'
-- return tableSize(editor.selection.object) == 1 and scenetree.findObjectById(editor.selection.object[1]):getClassName() == "DecalRoad"
-- return croad
local obj = scenetree.findObjectById(rd.id)
obj:setField('hidden', 0, 'true')
-- for roadID, _ in pairs(rdlist) do
local road = scenetree.findObjectById(roadID)
if road and not rd.skip and #U.index(askip,rd.id) == 0 and (not road.name or string.find(road.name, 'line_') ~= 1) then
out.apoint = nil
croad = scenetree.findObjectById(cpick)
local ind = inAdec(cpick)
if im.IsMouseClicked(0) and inView() and rayCast then
lo('?? D.click:'..tostring(rayCast.pos)..':'..tostring(out.pdrag)..':'..tostring(cmover)..':'..tostring(cmover and scenetree.findObjectById(cmover):getOrCreatePersistentID() or nil))
if editor.keyModifiers.shift then
croad = scenetree.findObjectById(cpick)
local ind = inAdec(cpick)
-- forRoad()
-- local rd = scenetree.findObjectById(roadID)
-- lo('?? PI:'..tostring(rd and rd:getOrCreatePersistentID())) -- getField('material')) or) --rd.persistentId))
@/lua/ge/extensions/editor/roadSpline.lua
if group.sceneTreeFolderId then
local folder = scenetree.findObjectById(group.sceneTreeFolderId)
if folder then
if node then
local object = scenetree.findObjectById(node.id)
if object then
@/lua/ge/extensions/core/sounds.lua
local function initEngineSound(vehicleId, engineId, jsonPath, nodeIdArray, noloadVol, loadVol)
local vehicle = scenetree.findObjectById(vehicleId)
if vehicle then
local function initExhaustSound(vehicleId, engineId, jsonPath, nodeIdPairArray, noloadVol, loadVol)
local vehicle = scenetree.findObjectById(vehicleId)
if vehicle then
local function updateEngineSound(vehicleId, engineId, rpm, onLoad, engineVolume)
local vehicle = scenetree.findObjectById(vehicleId)
if not vehicle then return end
local function setEngineSoundParameter(vehicleId, engineId, paramName, paramValue)
local vehicle = scenetree.findObjectById(vehicleId)
if not vehicle then return end
local function setEngineSoundParameterList(vehicleId, engineId, parameters)
local vehicle = scenetree.findObjectById(vehicleId)
if not vehicle then return end
local function setExhaustSoundNodes(vehicleId, engineId, nodeIdPairArray)
local vehicle = scenetree.findObjectById(vehicleId)
if not vehicle then return end
@/lua/ge/extensions/flowgraph/nodes/vehicle/setGearbox.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/customVlua.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/career/modules/inventory.lua
local vehicle = scenetree.findObjectById(vehId)
local vehicleData = core_vehicle_manager.getVehicleData(vehId)
local function applyPartConditions(inventoryId, vehId)
local veh = scenetree.findObjectById(vehId or inventoryIdToVehId[inventoryId])
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/vehicleStoppedNearPlane.lua
veh = scenetree.findObjectById(self.pinIn.vehId.value)
if not veh then
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/reload.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleWheels.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/environment/planet.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/scenario/positionGoal.lua
end
local vehicle = scenetree.findObjectById(instance.vId)
if endobj and vehicle then
@/lua/ge/extensions/scenario/raceMarkers/attention.lua
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/gameplay/missionTypes/crawl/customNodes/getDynamicObjectsFromPrefabNode.lua
function C:workOnce()
local prefab = scenetree.findObjectById(self.pinIn.prefabId.value)
local dynamicObjects = {}
@/gameplay/missionTypes/cannon/customNodes/MarkersNode.lua
for _, id in ipairs(vehIds) do
local veh = scenetree.findObjectById(id)
if veh and not self.mgr.modules.vehicle:getVehicle(id).dead then
@/lua/ge/extensions/gameplay/discover/discover_038.lua
for _, vehId in ipairs(scenetree.findClassObjects("BeamNGVehicle")) do
local vehicle = scenetree.findObjectById(tonumber(vehId))
local name = vehicle:getInternalName()
for _, vehId in ipairs(scenetree.findClassObjects("BeamNGVehicle")) do
local vehicle = scenetree.findObjectById(tonumber(vehId))
local name = vehicle:getInternalName()
M.onVehicleSwitched = function(oldId, newId, player)
local newVeh = scenetree.findObjectById(newId)
if newVeh and newVeh:getName() == "truck" then
@/lua/ge/extensions/ui/uiNavi.lua
if headless_mode then return end
local targetVeh = vehId and scenetree.findObjectById(vehId) or getPlayerVehicle(0)
if targetVeh then
@/lua/ge/extensions/career/modules/fuel.lua
local function activateSound(soundId, active)
local sound = scenetree.findObjectById(soundId)
if sound then
local relativeFuelLevel = getRelativeFuelLevel()
local sound = scenetree.findObjectById(gasSoundId)
if sound then
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/vehicleStoppedNearPos.lua
-- if self.pinIn.vehId.value then
-- veh = scenetree.findObjectById(self.pinIn.vehId.value)
-- else
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/measuresInspectorHeader.lua
if tableSize(selection.object) == 1 then
local obj = scenetree.findObjectById(selection.object[1])
local localBBox
@/lua/ge/extensions/gameplay/markers/missionMarker.lua
if self.iconMeshId and (missionIconAlpha > 0 or self.missionIconAlphaLastFrame > 0) then
local meshObj = scenetree.findObjectById(self.iconMeshId)
if meshObj then
-- setting up the icon
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
if iconRendererObj then
if self.iconMeshId then
local meshObj = scenetree.findObjectById(self.iconMeshId)
if meshObj then
if self.iconMeshId then
local meshObj = scenetree.findObjectById(self.iconMeshId)
if meshObj then
@/lua/ge/extensions/gameplay/race/race.lua
function C:getVehiclePosition(id)
local veh = scenetree.findObjectById(id)
if veh then
core_camera.resetCamera(0)
--local veh = scenetree.findObjectById(id)
--veh:resetBrokenFlexMesh()
@/lua/ge/extensions/editor/api/camera.lua
local function deleteCameraBookmark(objectId)
local obj = scenetree.findObjectById(objectId)
if obj then
local function jumpToCameraBookmark(objectId)
local obj = Sim.findObjectById(objectId)
if obj then
@/lua/ge/extensions/scenario/driftGoal.lua
local fobjData = map.objects[map.objectNames[instance.vehicleName]]
local vehicle = scenetree.findObjectById(instance.vId)
if fobjData then
@/lua/ge/extensions/flowgraph/nodes/scene/getPointOnDecalroad.lua
if self.pinIn.roadId.value ~= self.oldRoadId then
self.roadObj = scenetree.findObjectById(self.pinIn.roadId.value)
@/flowgraphEditor/Tower/customNodes/towerNode.lua
for _, id in ipairs(allChildrenIds) do
local obj = scenetree.findObjectById(id)
if obj:getInternalName() == "start" then
for _, id in ipairs(allChildrenIds) do
local obj = scenetree.findObjectById(id)
local pos, rot = obj:getPosition(), quat(obj:getRotation())
@/lua/ge/extensions/scenario/raceMarkers/sideHologramMarker.lua
leftPillar = scenetree.findObjectById(self.leftId)
if leftPillar then
end
rightPillar = scenetree.findObjectById(self.rightId)
if rightPillar then
leftCone = scenetree.findObjectById(self.leftConeId)
if leftCone then
end
rightCone = scenetree.findObjectById(self.rightConeId)
if rightCone then
leftColumn = scenetree.findObjectById(self.leftColumnId)
if leftColumn then
end
rightColumn = scenetree.findObjectById(self.rightColumnId)
if rightColumn then
leftCylinder = scenetree.findObjectById(self.leftCylinderId)
if leftCylinder then
end
rightCylinder = scenetree.findObjectById(self.rightCylinderId)
if rightCylinder then
arrow = scenetree.findObjectById(self.arrowId)
if arrow and self.nextPos then
leftPillar = scenetree.findObjectById(self.leftId)
if leftPillar then
end
rightPillar = scenetree.findObjectById(self.rightId)
if rightPillar then
leftColumn = scenetree.findObjectById(self.leftColumnId)
if leftColumn then
end
rightColumn = scenetree.findObjectById(self.rightColumnId)
if rightColumn then
leftCone = scenetree.findObjectById(self.leftConeId)
if leftCone then
end
rightCone = scenetree.findObjectById(self.rightConeId)
if rightCone then
leftCylinder = scenetree.findObjectById(self.leftCylinderId)
if leftCylinder then
end
rightCylinder = scenetree.findObjectById(self.rightCylinderId)
if rightCylinder then
self.visible = v
-- base = scenetree.findObjectById(self.baseId)
-- if base then
-- end
leftPillar = scenetree.findObjectById(self.leftId)
if leftPillar then
end
rightPillar = scenetree.findObjectById(self.rightId)
if rightPillar then
end
leftColumn = scenetree.findObjectById(self.leftColumnId)
if leftColumn then
end
rightColumn = scenetree.findObjectById(self.rightColumnId)
if rightColumn then
end
leftCone = scenetree.findObjectById(self.leftConeId)
if leftCone then
end
rightCone = scenetree.findObjectById(self.rightConeId)
if rightCone then
end
leftCylinder = scenetree.findObjectById(self.leftCylinderId)
if leftCylinder then
end
rightCylinder = scenetree.findObjectById(self.rightCylinderId)
if rightCylinder then
end
arrow = scenetree.findObjectById(self.arrowId)
if arrow then
if id then
local obj = scenetree.findObjectById(id)
if obj then obj:delete() end
@/lua/ge/extensions/editor/waterObjectHelper.lua
if fieldName == "rippleTex" or fieldName == "foamTex" or fieldName == "depthGradientTex" or fieldName == "cubemap" then
local object = scenetree.findObjectById(selectedIds[i])
if object:isSubClassOf("WaterObject") then
@/lua/ge/extensions/core/vehicle/manager.lua
vehicles[oldID].activePlayer = nil
local vehicle = scenetree.findObjectById(oldID)
if not vehicle then return end
local function liveUpdateVehicleColors(objID, _vehicleObj, index, paint)
local vehicleObj = _vehicleObj or scenetree.findObjectById(objID)
if not vehicleObj or not vehicles[objID] or not vehicles[objID].config or not vehicles[objID].config.paints then return end
id = id or be:getPlayerVehicleID(0)
local vehicle = scenetree.findObjectById(id)
if not vehicle or not paintNames then return end
@/lua/ge/extensions/gameplay/markers/walkingMarker.lua
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
for idx, ntuple in ipairs(cluster.doors or {}) do
--simpleDebugText3d(idx, area.iconPos, 0.25)
screenObjTemp = scenetree.findObjectById(area.screenObjId) or nil
if area.screenObjId then
screenObjTemp = scenetree.findObjectById(area.screenObjId)
if screenObjTemp then screenObjTemp:setHidden(true) end
if area.screenObjId then
screenObjTemp = scenetree.findObjectById(area.screenObjId)
if screenObjTemp then screenObjTemp:setHidden(true) end
@/lua/ge/extensions/flowgraph/modules/vehicleModule.lua
if not data.ready then
local veh = scenetree.findObjectById(id)
if veh then
local data = self.vehicles[id]
local veh = scenetree.findObjectById(id)
data.ready = true
end
local veh = scenetree.findObjectById(id)
if veh then
self.vehicles[id].dontDelete = keep
local prefab = Prefab.getPrefabByChild(scenetree.findObjectById(id))
--print("preabid: " .. prefab:getID())
--[[
local veh = scenetree.findObjectById(id)
if veh then
local parentId = tonumber(veh:getField("parentGroup", 0))
local parent = scenetree.findObjectById(parentId)
if parent then
if not data.dontDelete then
local obj = scenetree.findObjectById(id)
if obj then
-- restore fuel if needed
local veh = scenetree.findObjectById(id)
for _, tank in ipairs(self.vehicles[id].storedEnergyStorage or {}) do
if not id then return end
local veh = scenetree.findObjectById(id)
if veh then
if not id then return end
local veh = scenetree.findObjectById(id)
if veh then
function C:registerBusChangeNotification(id)
local veh = scenetree.findObjectById(id)
if veh then
function C:requestBusStop(id, data)
local veh = scenetree.findObjectById(id)
if veh then
@/lua/ge/extensions/editor/gen/world.lua
-- TODO: a TerrainBlock with the same name has been found: can we overwrite it?
terrBlock = scenetree.findObjectById(tbData.id)
lo('?? forTB:'..tostring(terrBlock))
for id,d in pairs(adesc) do
local obj = scenetree.findObjectById(id)
if obj then
scenetree.findObject('edit'):deleteAllObjects()
local obj = scenetree.findObjectById(desc.id)
if obj then
-- save edited
local om = scenetree.findObjectById(adesc[cedit.mesh].idstatic)
lo('?? proc2stat:'..cedit.mesh..':'..tostring(nm)..':'..tostring(adesc[cedit.mesh].idstatic))
for _,o in pairs(list) do
local om = scenetree.findObjectById(tonumber(o))
if om then
if wp.id then
local obj = scenetree.findObjectById(wp.id)
if obj then obj:delete() end
for id,_ in pairs(adec) do
local obj = scenetree.findObjectById(id)
if obj then
for id,desc in pairs(adesc) do
local obj = scenetree.findObjectById(id)
if obj ~= nil then
if desc.id then
scenetree.findObjectById(desc.id):delete()
end
if c.id then
scenetree.findObjectById(c.id):delete()
end
if c.id then
local obj = scenetree.findObjectById(c.id)
obj:delete()
-- cleanup
scenetree.findObjectById(c.id):delete()
forestClean(c)
if c.id then
local obj = scenetree.findObjectById(c.id)
obj:delete()
end
om = scenetree.findObjectById(toedit)
if om then
if wp.id then
-- lo('?? to_DEL:'..k..':'..tostring(scenetree.findObjectById(wp.id)))
scenetree.findObjectById(wp.id):delete()
-- lo('?? to_DEL:'..k..':'..tostring(scenetree.findObjectById(wp.id)))
scenetree.findObjectById(wp.id):delete()
-- wp.id = nil
--lo('??^^^^^^^^^^^^ if_WID:'..tostring(w.id))
local wo = scenetree.findObjectById(w.id)
if wo then
-- lo('?? for_wall:'..tostring(w.id)..':'..i..':'..j)
local wall = scenetree.findObjectById(w.id)
if wall ~= nil then
-- update
local obj = scenetree.findObjectById(dsc.id)
-- lo('?? r2:',true)
if f.top.id ~= nil then
local otop = scenetree.findObjectById(f.top.id)
if otop then
if f.top.border and f.top.border.id then
local border = scenetree.findObjectById(f.top.border.id)
-- lo('??+++++++++++++++++++++ if_BORDER:'..tostring(border)..':'..tostring(f.top.border.yes))
-- lo('?? wp_ID:'..i..':'..tostring(wp.id),true)
local wallplus = scenetree.findObjectById(wp.id)
-- lo('?? for_DIRTY:'..tostring(wallplus)..':'..tostring(f.awplus.id),true)
id = toedit
local obj = scenetree.findObjectById(id)
-- if not indrag then lo('?? to_update:'..id..':'..#out.avedit) end
id = desc.id
local obj = scenetree.findObjectById(id)
if obj then
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(id):delete()
adesc[id] = nil
-- cleanup
local lodobj = scenetree.findObjectById(dlod.id)
if lodobj then lodobj:delete() end
-- mesh.uvs = auv
local obj = scenetree.findObjectById(id)
obj:createMesh({})
mesh.uvs = auv
local obj = scenetree.findObjectById(w.id)
obj:createMesh({})
-- aedit[idobj]
local obj = scenetree.findObjectById(idobj)
-- obj:createMesh({{{}}})
lo('?? for_ID:'..tostring(desc.afloor[2].awall[2].id))
local wo = scenetree.findObjectById(desc.afloor[2].awall[2].id)
wo:delete()
if c.id then
scenetree.findObjectById(c.id):delete()
end
if wp.id then
scenetree.findObjectById(wp.id):delete()
end
for i,c in pairs(desctop.achild) do
local cobj = scenetree.findObjectById(c.id)
if cobj then
if floor.awall[ij[2]].id then
scenetree.findObjectById(floor.awall[ij[2]].id):delete()
end
if id ~= nil then
nm = scenetree.findObjectById(id).name
end
partOn(id)
local part = scenetree.findObjectById(cedit.part)
if part then
local key = forKey(rayCast)
U.dump(cij, '?? for_cij0:'..tostring(key)) --..':'..tostring(dforest[key].mesh)..':'..scenetree.findObjectById(dforest[key].mesh).name)
if not cij and not cedit.mesh then
if key and dforest[key].mesh then
local obj = scenetree.findObjectById(dforest[key].mesh)
if obj then nm = obj.name end
-- to edit
local obj = scenetree.findObjectById(id)
local ext = obj:getObjectBox():getExtents()
if cedit.part ~= nil then
local obj = scenetree.findObjectById(cedit.part)
if obj ~= nil then
if cedit.part ~= nil then
local obj = scenetree.findObjectById(cedit.part)
if obj ~= nil and string.find(obj.name, 'o_lid_') == 1 then nm = obj.name end
-- local obj = scenetree.findObjectById(cedit.mesh)
-- lo('?? goAround:'..tostring(obj:getPosition()))
forestClean(w)
scenetree.findObjectById(w.id):delete()
aedit[w.id] = nil
if floor.top.id then
local otop = scenetree.findObjectById(floor.top.id)
if otop then
for i,c in pairs(floor.top.achild) do
local cobj = scenetree.findObjectById(c.id)
if cobj then
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(cedit.mesh):delete()
adesc[cedit.mesh] = nil
forestClean(w)
scenetree.findObjectById(w.id):delete()
aedit[w.id] = nil
forestClean(floor.top)
scenetree.findObjectById(floor.top.id):delete()
aedit[floor.top.id] = nil
scenetree.findObject('edit'):deleteAllObjects()
scenetree.findObjectById(desc.id):delete()
lo('?? RESTORE:'..csave..':'..tostring(asave[csave])..'-'..desc.id)
forestClean(w)
scenetree.findObjectById(w.id):delete()
end
forestClean(floor.top)
scenetree.findObjectById(floor.top.id):delete()
lo('?? to_del:'..w.id)
scenetree.findObjectById(w.id):delete()
end
-- wall down
scenetree.findObjectById(floor.awall[jmi].id):delete()
forestClean(floor.awall[jmi])
end
local obj = scenetree.findObjectById(w.id)
obj:createMesh({})
forestClean(s)
local om = scenetree.findObjectById(s.id)
if om then
for _,o in pairs(list) do
local om = scenetree.findObjectById(tonumber(o))
lo('?? if_DEL:'..tostring(o)..':'..tostring(om))
lo('?? for_TEST:'..tostring(W.out.testOM.id))
local obj = scenetree.findObjectById(W.out.testOM.id)
obj:createMesh({{}})
if #floor.top.achild == 1 then
local obj = scenetree.findObjectById(floor.top.achild[1].id)
if obj then
-- lo('?? to_rem:'..floor.awplus[ic].id)
scenetree.findObjectById(floor.awplus[ic].id):delete()
end
-- if id then
-- scenetree.findObjectById(id):delete()
-- end
forestClean(w)
scenetree.findObjectById(w.id):delete()
end
forestClean(desc.afloor[#desc.afloor].top)
scenetree.findObjectById(floor.top.id):delete()
for _,c in pairs(floor.top.achild) do
scenetree.findObjectById(c.id):delete()
end
if w.id then
scenetree.findObjectById(w.id):delete()
end
-- lo('?? to_del:'..j..':'..tostring(w.id), true)
-- scenetree.findObjectById(w.id):delete()
end
lo('?? REBUILD:',true)
--!! scenetree.findObjectById(desc.afloor[cij[1]].top.id):delete()
-- roofSet('gable')
@/lua/ge/extensions/editor/forestEditor.lua
local forestItemSortByNameFunc = function(a, b)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
return string.lower(aObj.internalName or "unnamed") < string.lower(bObj.internalName or "unnamed")
local forestBrushElemSortByNameFunc = function(a, b)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
return string.lower(aObj.internalName) < string.lower(bObj.internalName)
editor.selectObjectById(var.selectedForestBrushes[1].id)
local obj = scenetree.findObjectById(var.selectedForestBrushes[1].id)
local shapeFilename = ""
editor.selectObjectById(var.selectedForestItemDatas[1].id)
local obj = scenetree.findObjectById(var.selectedForestItemDatas[1].id)
local shapeFilename = ""
if group then
local obj = scenetree.findObjectById(group.id)
if obj then
local objId = editor.createDataBlock(name, "ForestItemData", nil, editor.levelPath .. "art/forest/managedItemData.json")
local obj = scenetree.findObjectById(objId)
obj:setName(name)
if internalName ~= item.internalName then
local obj = scenetree.findObjectById(item.id)
if obj then
local function forestItemDataTreeNode(item)
local obj = scenetree.findObjectById(item.id)
if not obj then return end
for i, item in ipairs(copyItemsArray) do
newItems[i] = var.forestData:createNewItem(scenetree.findObjectById(item.itemDataId), editor.tableToMatrix(item.transform), item.scale)
end
for _, item in ipairs(var.forestItemData) do
local obj = scenetree.findObjectById(item.id)
if obj and editor.isDataBlockDirty(obj) then
if tableSize(selectedIds) == 1 then
local object = scenetree.findObjectById(selectedIds[1])
if object and object:getClassName() == "ForestBrushElement" or object:getClassName() == "ForestBrush" then
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua
function C:setToVehicle(vehId)
local veh = scenetree.findObjectById(vehId)
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/vehicle/bus/registerBusData.lua
local fun = function()
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
self.mgr.modules.vehicle:registerBusChangeNotification(self.pinIn.vehId.value)
@/lua/ge/extensions/editor/vehicleBridgeTest.lua
if im.Button("Get Value!") then
core_vehicleBridge.requestValue(scenetree.findObjectById(vehId),function(...) editor_vehicleBridgeTest.callback(...) end, key)
result = "Waiting for Reply..."
@/lua/ge/extensions/editor/api/core.lua
local function deleteObject(objectId)
local obj = Sim.findObjectById(objectId)
if obj and not obj:isLocked() then
@/lua/ge/extensions/core/recoveryPrompt.lua
vehicleSlow = function(type, vehId)
local veh = scenetree.findObjectById(vehId)
if veh then
vehicleStopped = function(type, vehId)
local veh = scenetree.findObjectById(vehId)
if veh then
atFadeFunction = function(target)
local veh = scenetree.findObjectById(target.vehId)
if veh then
atFadeFunction = function(target)
local veh = scenetree.findObjectById(target.vehId)
if veh then
atFadeFunction = function(target)
career_modules_playerDriving.teleportToGarage(garage.id, scenetree.findObjectById(target.vehId), false)
@/lua/ge/extensions/editor/roadArchitect.lua
if node then
local object = scenetree.findObjectById(node.id)
if object then
@/lua/ge/extensions/gameplay/drift/stuntZones/hitPole.lua
if self.activeData.veh then
local veh = scenetree.findObjectById(self.activeData.veh:getId())
local vehPos = veh:getPosition()
@/lua/ge/extensions/editor/sidewalkSpline.lua
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
@/lua/ge/extensions/ui/credits.lua
creditsSoundId = Engine.Audio.createSource('AudioGui', 'event:>Music>credits')
local snd = scenetree.findObjectById(creditsSoundId)
if snd then
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/vehicleAction.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/career/modules/delivery/generator.lua
elseif loc.type == "vehicle" then
local veh = scenetree.findObjectById(loc.vehId)
if veh then return veh:getPosition() end
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallySuperCountdown.lua
veh = scenetree.findObjectById(self.pinIn.vehId.value)
if not veh then
@/lua/ge/extensions/editor/assemblySpline/populate.lua
local splineId = spline.id
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
for i = 1, #meshesBySpline do
local obj = scenetree.findObjectById(meshesBySpline[i])
if obj then
local function ensureFolderExists(spline, splineIdx)
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if not folder then
for i = 1, #meshesBySpline do
local obj = scenetree.findObjectById(meshesBySpline[i])
if obj then
@/lua/ge/extensions/editor/assemblySpline/import.lua
end
local parent = entry.groupId and scenetree.findObjectById(entry.groupId)
if parent then
for i = 1, #collection do
local obj = scenetree.findObjectById(collection[i])
if validateToolCompatibleTSStatic(obj) then
@/lua/ge/extensions/flowgraph/nodes/gameplay/toggleWalking.lua
if id then
self.mgr.modules.vehicle:addVehicle(scenetree.findObjectById(id), { ignoreReadyUp = true })
end
@/lua/ge/extensions/gameplay/crashTest/crashTestBoundaries.lua
veh = scenetree.findObjectById(vehId)
@/gameplay/missions/gridmap_v2/aiRace/001-grindergrandprix/script.lua
if math.random() < (timer-5)*0.25 then
local veh = scenetree.findObjectById(id)
if veh then
function C:onVehicleReset(id)
local veh = scenetree.findObjectById(id)
if not veh then return end
@/lua/ge/extensions/editor/meshSpline/populate.lua
mesh.scale = scaleVec
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
folder:addObject(mesh.obj)
-- [If it doesn't exist (maybe user deleted it), then create a new one.]
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if not folder then
@/gameplay/missionTypes/targetjump/customNodes/CalculateZonePointRewardNode.lua
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
local testPositions = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/playerUsable.lua
if self.pinIn.vehId.value and self.pinIn.vehId.value ~= 0 then
source = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/gameplay/missionTypes/hypermiling/customNodes/getFuelLevelNode.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/gameplay/rally/tools/loopToolbox.lua
-- Verify object still exists
local obj = scenetree.findObjectById(signboard.id)
if obj then
@/lua/ge/extensions/scenario/raceMarkers/overhead.lua
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/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
local forestItem = locationInfo.forestItem
local veh = scenetree.findObjectById(locationInfo.linkedPropId)
veh:resetBrokenFlexMesh()
for id, _ in pairs(self.props) do
source = scenetree.findObjectById(id)
if editor and editor.onRemoveSceneTreeObjects then
@/lua/ge/extensions/editor/api/roadRiver.lua
local function addRoadNode(roadObjectId, nodeInfo)
local decalRoad = scenetree.findObjectById(roadObjectId)
local res = decalRoad:insertNode(nodeInfo.pos, nodeInfo.width, nodeInfo.index)
local function deleteRoad(roadObjectId)
local road = scenetree.findObjectById(roadObjectId)
for decoID in string.gmatch(decorationIDs, "%d+") do
scenetree.findObjectById(tonumber(decoID)):deleteObject()
end
local function deleteRoadNode(roadObjectId, nodeID)
local road = scenetree.findObjectById(roadObjectId)
road:deleteNode(nodeID)
local function addMeshNode(meshObjectId, nodeInfo)
local mesh = scenetree.findObjectById(meshObjectId)
local res = mesh:insertNode(nodeInfo.pos, nodeInfo.width, nodeInfo.depth, nodeInfo.normal, nodeInfo.index)
for id, _ in pairs(allRoads) do
local road = scenetree.findObjectById(id)
if road then
@/gameplay/missionTypes/cannon/customNodes/cannonBallInfoNode.lua
if not self.mgr.modules.vehicle:getVehicle(id).dead then
local pos = scenetree.findObjectById(id):getPosition()
local dist = (pos - vec3(self.pinIn.ballPos.value)):length()
@/lua/ge/extensions/scenario/raceMarkers/singleHologramMarker.lua
centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
self.visible = v
centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
if id then
local obj = scenetree.findObjectById(id)
if obj then obj:delete() end
@/lua/ge/extensions/flowgraph/nodes/vehicle/getElectricsValue.lua
if self._setupData then
local veh = scenetree.findObjectById(self._setupData.vehId)
if veh then
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/roadEditor.lua
for _, roadID in ipairs(selectedRoadsIds) do
local road = scenetree.findObjectById(roadID)
if road then
for roadID, nodeWidthsTbl in pairs(actionData.oldWidths) do
local road = scenetree.findObjectById(roadID)
if road then
for roadID, nodeWidthsTbl in pairs(actionData.newWidths) do
local road = scenetree.findObjectById(roadID)
if road then
for roadID, nodes in pairs(actionData.roadAndNodeIDs) do
local road = scenetree.findObjectById(roadID)
if not road then goto continue end
for roadID, nodes in pairs(actionData.roadAndNodeIDs) do
local road = scenetree.findObjectById(roadID)
if not road then goto continue end
for roadID, nodeInfo in pairs(actionData.roadInfos) do
local road = scenetree.findObjectById(roadID)
deleteNode(road, nodeInfo.index)
for _, nodeInfo in ipairs(nodeInfos) do
local road = scenetree.findObjectById(roadID)
deleteNode(road, nodeInfo.index)
for originalRoadID, nodeID in pairs(actionData.originalRoadAndNodeIDs) do
local originalRoad = scenetree.findObjectById(originalRoadID)
deleteNode(originalRoad, originalRoad:getNodeCount() - 1)
deleteNode(originalRoad, originalRoad:getNodeCount() - 1)
local newRoad = scenetree.findObjectById(actionData.newRoadIDs[roadIndex])
-- Loop through all the nodes
for originalRoadID, nodeID in pairs(actionData.originalRoadAndNodeIDs) do
local originalRoad = scenetree.findObjectById(originalRoadID)
if originalRoad then
for roadID, nodeID in pairs(roadAndNodeIDs) do
local road = scenetree.findObjectById(roadID)
if nodeID == 0 or nodeID == road:getNodeCount() - 1 then
local road1 = scenetree.findObjectById(road1Data.roadID)
local road2 = scenetree.findObjectById(road2Data.roadID)
local road1 = scenetree.findObjectById(road1Data.roadID)
local road2 = scenetree.findObjectById(road2Data.roadID)
if tableSize(selectedRoadsIds) ~= 2 then return end
local selectedRoad1 = scenetree.findObjectById(selectedRoadsIds[1])
local selectedRoad2 = scenetree.findObjectById(selectedRoadsIds[2])
local selectedRoad1 = scenetree.findObjectById(selectedRoadsIds[1])
local selectedRoad2 = scenetree.findObjectById(selectedRoadsIds[2])
if not selectedRoad1 or not selectedRoad2 then return end
local roadObj = scenetree.findObjectById(r.id)
if roadObj then
if r.groupId then
local grp = scenetree.findObjectById(r.groupId)
if grp and grp.addObject then
local roadObj = scenetree.findObjectById(r.id)
if roadObj then
if r.groupId then
local grp = scenetree.findObjectById(r.groupId)
if grp and grp.addObject then
for _, id in ipairs(selectedRoadsIds) do
local road = scenetree.findObjectById(id)
if road and not Prefab.getPrefabByChild(road) then
for roadID, nodesTbl in pairs(selectedNodes) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
local selectedRoad = scenetree.findObjectById(selectedRoadsIds[1])
if selectedRoad and #selectedRoadsIds == 1 then
local oldPosTbl = oldPositionsTbl[roadID]
local road = scenetree.findObjectById(roadID)
for _, nodeID in ipairs(nodes) do
local oldWidthsTbl = oldWidths[roadID]
local road = scenetree.findObjectById(roadID)
for _, nodeID in ipairs(nodes) do
if isRoadSelected(roadID) then
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
local roadTempNodeIndex = getRoadTempNodeIndex(roadID)
for _, roadID in ipairs(selectedRoadsIds) do
local road = scenetree.findObjectById(roadID)
if not road then goto continue end
for _, roadId in ipairs(selectedRoadsIds) do
local selRoad = scenetree.findObjectById(roadId)
local selectedNode = getSelectedSingleNodeInRoad(roadId)
for _, roadId in ipairs(selectedRoadsIds) do
local selRoad = scenetree.findObjectById(roadId)
local selectedNode = getSelectedSingleNodeInRoad(roadId)
for _, roadID in ipairs(selectedRoadsIds) do
local road = scenetree.findObjectById(roadID)
if road and road:containsPoint(focusPointP3F) ~= -1 or hoveredNodeInfo[roadID] then
if scenetree.decalRoadContainsPoint(roadID, focusPointP3F) then
local road = scenetree.findObjectById(roadID)
local drivability = road.drivability
elseif roadID == hoveredRoadID then
local road = scenetree.findObjectById(roadID)
if road then
else
local road = scenetree.findObjectById(roadID)
if road then
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
local roadTempNodeIndex = getRoadTempNodeIndex(roadID)
local tempNodeIndex = getRoadTempNodeIndex(activeRoadID)
local activeRoad = scenetree.findObjectById(activeRoadID)
if tempNodeIndex == -1 or not activeRoad then goto continue end
local posTbl = newPositionsTbl[roadID]
local selectedRoad = scenetree.findObjectById(roadID)
for _, nodeID in ipairs(nodes) do
for _, roadID in pairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
local roadTempNodeIndex = getRoadTempNodeIndex(roadID)
if nodePosTbl[nodeID] then
local selectedRoad = scenetree.findObjectById(roadID)
setNodePosition(selectedRoad, nodeID, nodePosTbl[nodeID] + vec3(diff.x, diff.y, 0))
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
local roadTempNodeIndex = getRoadTempNodeIndex(roadID)
for _, roadID in ipairs(selectedRoadsIds) do
selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
editor.selectObjectById(newRoadID)
selectedRoad = scenetree.findObjectById(newRoadID)
-- If the mouse button is held down, change the width of the created node
if hoveredRoadID and roadTempNodeIndex == -1 then
local roadObj = scenetree.findObjectById(hoveredRoadID)
if tableIsEmpty(hoveredNodeInfo) then
for roadID, nodes in pairs(selectedNodes) do
local selectedRoad = scenetree.findObjectById(roadID)
if not dragNodesStartPositions[roadID] then
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
for i = 1, numSelectedRoads do
local selectedRoad = scenetree.findObjectById(selectedRoadsIds[i])
if not selectedRoad then goto continue end
if #selectedRoadsIds == 1 then
selectedRoad = scenetree.findObjectById(selectedRoadsIds[1])
end
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad and not isAnyNodeSelected(roadID) then
for roadID, nodeIDs in pairs(selectedNodes) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad and selectedNodes[roadID] then
for _, roadID in ipairs(selectedRoadsIds) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
for _, roadID in ipairs(duplicatedRoadIds) do
local selectedRoad = scenetree.findObjectById(roadID)
if selectedRoad then
for i = 1, tableSize(editor.selection.object) do
local selectedObject = scenetree.findObjectById(editor.selection.object[i])
if selectedObject and selectedObject:getClassName() == "DecalRoad" then
@/lua/ge/extensions/gameplay/drag/utils.lua
local function stopAiVehicle(racer)
local veh = scenetree.findObjectById(racer.vehId)
if veh then
local stageWaypoint = laneData.waypoints.stage.waypoint
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then return end
local endLineName = laneData.waypoints.endLine.name
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then return end
local endLine = laneData.waypoints.endLine
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then return end
local spawnWaypoint = laneData.waypoints.spawn.waypoint
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then return end
local spawnWaypoint = laneData.waypoints.spawn.waypoint
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then return end
local vehObj = scenetree.findObjectById(racer.vehId)
if not vehObj then
@/lua/ge/extensions/career/modules/delivery/precisionParking.lua
local function calculateVehiclePrecisionScore(vehId, targetParkingSpot)
local vehicle = scenetree.findObjectById(vehId)
if not vehicle then return nil end
local vehicle = scenetree.findObjectById(playerVehId)
if not vehicle then return nil end
@/lua/ge/extensions/tech/techCore.lua
local name = ''
local veh = scenetree.findObjectById(vehicleID)
if veh ~= nil then
if playerVeh then
be:enterVehicle(0, scenetree.findObjectById(currentId))
else
local id = request['id']
local obj = Sim.findObjectById(id)
if obj ~= nil then
if cur ~= nil then
veh = scenetree.findObjectById(cur)
be:enterVehicle(0, veh)
local resp = {type = 'PartOptions', options = slotMap}
veh = scenetree.findObjectById(cur)
be:enterVehicle(0, veh)
if cur ~= nil then
veh = scenetree.findObjectById(cur)
be:enterVehicle(0, veh)
@/lua/ge/extensions/gameplay/delivery/delivery.lua
function C:checkFail(dt)
local veh = scenetree.findObjectById(self.vehId)
local vData = map.objects[self.vehId]
@/lua/ge/extensions/flowgraph/nodes/activity/attemptVehicle.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/levelValidator.lua
if logItem.objectId then
local object = scenetree.findObjectById(logItem.objectId)
if object then
if logItem.objectId then
local object = scenetree.findObjectById(logItem.objectId)
if object then
local function deleteObjectRedo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
if not node.planted then
local object = scenetree.findObjectById(id)
local prefab = Prefab.getPrefabByChild(object)
elseif logItem.objectId then
local obj = Sim.findObjectById(logItem.objectId)
if obj then
local object
if logItem.objectId then object = scenetree.findObjectById(logItem.objectId) end
local isIgnored = logItem._originalLogLevel ~= nil
if log.objectId or log.prefabChildId then
local object = scenetree.findObjectById(l.objectId)
if log.prefabChildId then
if log.prefabChildId then
object = scenetree.findObjectById(log.prefabChildId)
end
@/lua/ge/extensions/gameplay/taxi.lua
local function isTaxi(vehId)
local obj = scenetree.findObjectById(vehId)
if not obj then return false end
@/lua/ge/extensions/editor/buildingEditor.lua
U.hightOnCurve = function(p, rdinfo, start, dbg) --, av, step, dbg)
local decal = scenetree.findObjectById(rdinfo.id)
local av, step = rdinfo.av, rdinfo.avstep
-- {{pos = apos[1], width = w, drivability = 1}},
local road = scenetree.findObjectById(id)
if m == nil then
rd.w = w
local road = scenetree.findObjectById(newRoadID)
road:setField("material", 0, mat)
else
-- local branch = scenetree.findObjectById(rdinfo.id)
if dbg then
end
local droot = scenetree.findObjectById(rdinfo.id)
local dp
lo('?? for_s:'..s[1]..':'..s[2])
local decal = scenetree.findObjectById(roads[s[1]].id)
for _,dir in pairs {1, -1} do
end
local decal = scenetree.findObjectById(r.id)
U.dump(inedge[i], '?? junctionUp_inedge:'..i)
---- in/out decals
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
lo('?? d_io:'..tostring(deco)..':'..tostring(deci))
---- in/out decals
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
lo('?? d_io:'..tostring(deco)..':'..tostring(deci))
end
local deco, deci = scenetree.findObjectById(inforo.id), scenetree.findObjectById(infori.id)
pout = fedge(inforo, -1)(eo)
end
local deco, deci = scenetree.findObjectById(inforo.id), scenetree.findObjectById(infori.id)
pout = fedge(inforo, -1)(eo)
local function forLimits(ro, ri, dec, eo, ei, cho, chi)
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
local jb, je
local function forLimits(ro, ri, dec, eo, ei, cho, chi)
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
local jb, je
end
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
-- set edges indices
end
local deco, deci = scenetree.findObjectById(ro.id), scenetree.findObjectById(ri.id)
-- set edges indices
local hmap = road.hmap
local rd = scenetree.findObjectById(road.id)
local adec = editor.getNodes(rd)
be:reloadCollision()
-- local dec = scenetree.findObjectById(id)
local adec = editor.getNodes(dec)
-- rdmesh.decal = id
local road = scenetree.findObjectById(idnew)
road:setField("material", 0, mat)
--TODO: this print was in production, please comment when releasing
--lo('>> onEditorObjectSelectionChanged:'..tostring(editor.selection.object[1])) --..tostring(scenetree.findObjectById(editor.selection.object[1]).name))
-- D.ter2road()
@/lua/ge/extensions/editor/terraform/fetchSources.lua
for _, v in pairs(editor.selection.object) do
local sel = scenetree.findObjectById(v)
if sel and sel:getClassName() == "MeshRoad" then
@/lua/ge/extensions/campaign/photoSafari.lua
local function on_siteLocation(campos,sceneObject)
local vehicle = scenetree.findObjectById(be:getPlayerVehicleID(0))
local camTriggerObj = scenetree.findObject('camtrig')
end
local vehicle = scenetree.findObjectById(be:getPlayerVehicleID(0))
local photoTrigger = scenetree.findObject(M.location)
@/lua/ge/extensions/editor/decalSpline/populate.lua
if numInstances < 1 then
local template = scenetree.findObjectById(templateIds[material])
if template then
if templateFolderId then
local folder = scenetree.findObjectById(templateFolderId)
if folder then
-- Ensure we have a folder for the shared templates.
if not templateFolderId or not scenetree.findObjectById(templateFolderId) then
local uniqueName = util.generateUniqueName("DecalSpline - Templates", toolPrefixStr)
if templateFolderId then
local folder = scenetree.findObjectById(templateFolderId)
if folder then
-- Create the decal instance and store it in the decal instances table.
local template = scenetree.findObjectById(templateIds[componentPath])
if template then
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresLap.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehiclePing.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/setLightbar.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/meshSpline/import.lua
end
local parent = entry.groupId and scenetree.findObjectById(entry.groupId)
if parent then
for i = 1, #collection do
local obj = scenetree.findObjectById(collection[i])
if obj and obj:getClassName() == "TSStatic" then -- Check if the object is a TSStatic.
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleOOBB.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/scenario/nomoveGoal.lua
if state == 'onCountdownEnded' then
local vehicle = instance.vId and scenetree.findObjectById(instance.vId) or nil
if vehicle then
if state == 'onRaceResult' or state=='onRaceTick' then
local vehicle = scenetree.findObjectById(instance.vId)
if vehicle and (instance.startPos - vehicle:getPosition()):len() > 0.1 then
if instance.id == 'nomove' then
local vehicle = instance.vId and scenetree.findObjectById(instance.vId) or nil
if not vehicle then
@/lua/ge/extensions/gameplay/drag/display.lua
if prefabId then
local prefabInstance = scenetree.findObjectById(prefabId)
if prefabInstance then
@/lua/ge/extensions/career/modules/insurance/insurance.lua
if activeInsuranceId > 0 then -- if the vehicle is insured ...
local newVeh = scenetree.findObjectById(newVehId)
if newVeh then
@/lua/ge/extensions/flowgraph/nodes/vehicle/spawnVehicle.lua
if self.spawnedObjectId and not self.pinIn.replacePlayer.value then -- if replacing the player vehicle, we don't need to delete the current vehicle
local obj = scenetree.findObjectById(self.spawnedObjectId)
if obj and not self.pinIn.keepOnReset.value then
@/lua/ge/extensions/editor/roadSpline/import.lua
-- Add to parent group.
local parent = entry.groupId and scenetree.findObjectById(entry.groupId)
if parent then
@/lua/ge/extensions/editor/audioEventsList.lua
if sfxIDPlaying then
local oldSFX = scenetree.findObjectById(sfxIDPlaying)
if oldSFX then
@/lua/ge/extensions/editor/textEditor.lua
guiInstancer.instances[index].fieldName = fieldName
local obj = scenetree.findObjectById(objIds[1])
guiInstancer.instances[index].textInput = imgui.ArrayChar(textInputSize, tableSize(objIds) == 1 and obj:getField(fieldName, "") or "")
@/lua/ge/extensions/scenario/raceMarkers/sideColumnMarker.lua
local baseHeight = clamp(inverseLerp(10,40,distanceFromMarker),self.radius,self.radius*3)
base = scenetree.findObjectById(self.baseId)
if base then
--debugDrawer:drawTextAdvanced(self.pos, String(string.format("%0.2f -> %0.2f / %0.2f / %0.2f", distanceFromMarker, sideRadius, sideHeight, baseHeight)), ColorF(1,1,1,1), true, false, ColorI(0,0,0,192))
left = scenetree.findObjectById(self.leftId)
if left then
end
right = scenetree.findObjectById(self.rightId)
if right then
self.minAlpha = wp.minAlpha or self.minAlpha
base = scenetree.findObjectById(self.baseId)
if base then
end
left = scenetree.findObjectById(self.leftId)
if left then
end
right = scenetree.findObjectById(self.rightId)
if right then
self.visible = v
base = scenetree.findObjectById(self.baseId)
if base then
end
left = scenetree.findObjectById(self.leftId)
if left then
end
right = scenetree.findObjectById(self.rightId)
if right then
if id then
local obj = scenetree.findObjectById(id)
if obj then obj:delete() end
@/lua/ge/extensions/flowgraph/nodes/mission/knockAwayCheck.lua
for _, id in ipairs(data.allChildrenIds['BeamNGVehicle'] or {}) do
local veh = scenetree.findObjectById(id)
if veh then
self.vehicleHit[id] = false
local veh = scenetree.findObjectById(id)
local pts = tonumber(veh:getDynDataFieldbyName("knockAwayPoints", 0)) or self.pinIn.defaultPoints.value or 1
@/lua/ge/extensions/gameplay/crawl/boundary.lua
for objectId, objectInfo in pairs(boundaryObjects) do
local obj = scenetree.findObjectById(objectId)
if obj then
for objectId, objectInfo in pairs(boundaryObjects) do
local obj = scenetree.findObjectById(objectId)
if obj then
if spawnedBoundaryMarkersId then
local group = scenetree.findObjectById(spawnedBoundaryMarkersId)
if group then
if spawnedBoundaryMarkersId then
local group = scenetree.findObjectById(spawnedBoundaryMarkersId)
if group then
for objectId, objectInfo in pairs(boundaryObjects) do
local obj = scenetree.findObjectById(objectId)
if obj and not obj.hidden then
@/lua/ge/extensions/editor/prefabInstanceEditor.lua
local function prefabInstanceMatchesParent(prefabInstanceId)
local object = scenetree.findObjectById(prefabInstanceId)
for i, id in ipairs(inspectorInfo.previousSelectedIds) do
local object = scenetree.findObjectById(id)
if not object or (object and object:getClassName() ~= "PrefabInstance") then
@/lua/ge/extensions/gameplay/rally/audioManager.lua
-- function C:stopSfxSource(sourceId)
-- local sfxSource = scenetree.findObjectById(sourceId)
-- if sfxSource then
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/beamstate.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/getPowertrainData.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/enterVehicle.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/mission/postClean.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/removeVehicle.lua
if self.pinIn.vehId.value and self.pinIn.vehId.value ~= 0 then
source = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/forestView.lua
if not item then return end
local obj = scenetree.findObjectById(item.id)
if not obj then return end
local forestItemSortByNameFunc = function(a, b)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
local aObj = scenetree.findObjectById(a.id)
local bObj = scenetree.findObjectById(b.id)
return string.lower(aObj.internalName or "unnamed_"..a.id) < string.lower(bObj.internalName or "unnamed_"..b.id)
@/lua/ge/extensions/editor/gen/region.lua
U.dump(side, '>> dist2base:'..d)
local n2d = D.node2edge(scenetree.findObjectById(adec[side.rd].id))
local anode = adec[side.rd].list
local vt = (anode[ni] - anode[ni-side.dir]):normalized()
local wd = editor.getNodes(scenetree.findObjectById(adec[side.rd].id))[ni].width
return p + vec3(-vt.y,vt.x)*(mrg + wd/2)
local vt = (anode[side.to] - anode[side.to-side.dir]):normalized()
local wd = editor.getNodes(scenetree.findObjectById(adec[side.rd].id))[side.to].width
-- distance to match prev side
-- local anobj = editor.getNodes(scenetree.findObjectById(adec[sto.rd].id))
local wd = anobj[sto.fr].width
dstart = (pc - anode[sto.fr]):dot(forStem(sto,0))
local wfr = editor.getNodes(scenetree.findObjectById(adec[sfr.rd].id))[sfr.to].width
dstart = dstart + (margin+wfr/2)/math.cos(ang - math.pi/2)
if not anobj and side then
ano = editor.getNodes(scenetree.findObjectById(adec[side.rd].id))
-- lo('?? for_ano:'..tostring(ano))
-- local rd = scenetree.findObjectById(adec[side.rd].id)
local anode = adec[side.rd].list
local anode = adec[side.rd].list
local n2d = D.node2edge(scenetree.findObjectById(adec[side.rd].id))
local L = U.rand(mm_len[1], mm_len[2])
-- out.awhite = {}
-- local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sfr.rd].id))
-- go along buildings
if not anobjthem then
anobjthem = editor.getNodes(scenetree.findObjectById(adec[sfr.rd].id))
end
-- in-area point
local anobjus = editor.getNodes(scenetree.findObjectById(adec[side.rd].id))
local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sthem.rd].id))
local anobjus = editor.getNodes(scenetree.findObjectById(adec[side.rd].id))
local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sthem.rd].id))
local p,igreen,ired = branchPush(sthem, side,
if not node_dist then
node_dist = D.node2edge(scenetree.findObjectById(adec[side.rd].id))
end
U.dump(sideprev, '?? IF_CORNER:')
local anobjprev = editor.getNodes(scenetree.findObjectById(adec[sideprev.rd].id))
-- lo('?? for_PREV:'..tostring(anobjprev[side.fr]))
-- U.dump(sideprev, '?? sprev:')
local anthem = editor.getNodes(scenetree.findObjectById(adec[sideprev.rd].id))
local ppushed = branchPush(sideprev, side,
aswitch[#aswitch + 1] = #abase
anobj = editor.getNodes(scenetree.findObjectById(adec[aside[i].rd].id))
local sidenxt = aside[i % #aside + 1]
local sidenxt = aside[i % #aside + 1]
local anobjnxt = editor.getNodes(scenetree.findObjectById(adec[sidenxt.rd].id))
local side = aside[i]
U.dump(adec[aside[i].rd])
n2d = D.node2edge(scenetree.findObjectById(adec[side.rd].id), true)
local anode = adec[side.rd].list
sideprev = {rd = stem.rdi, fr = fr, to = stem.fr, dir = stem.fr>fr and 1 or -1}
local anthem = editor.getNodes(scenetree.findObjectById(adec[sideprev.rd].id))
local ppushed = branchPush(sideprev, side,
for _,sadj in pairs(asadj) do
local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sadj.rd].id))
local n2dthem = D.node2edge(scenetree.findObjectById(adec[sadj.rd].id))
local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sadj.rd].id))
local n2dthem = D.node2edge(scenetree.findObjectById(adec[sadj.rd].id))
igreen = sadj.fr
end
local anobjthem = editor.getNodes(scenetree.findObjectById(adec[sideprev.rd].id))
local p = branchPush(sideprev, side,
acorner = {{rd = rmi, to = ie, fr = ib, dir = (ie > ib and 1 or -1)}}
dn2d[rmi] = D.node2edge(scenetree.findObjectById(adec[rmi].id))
-- U.dump(acorner, '?? first_side:'..rmi)
acorner[#acorner+1] = {rd = stem.rdi, to = k, fr = fr, dir = (k > fr and 1 or -1)}
dn2d[stem.rdi] = D.node2edge(scenetree.findObjectById(adec[stem.rdi].id))
hasnext = true
--!!
D.matApply('road_asphalt_unmarked', scenetree.findObjectById(adec[p.rd].id))
end
local acorner = {{rd = rmi, to = ie, fr = ib, dir = (ie > ib and 1 or -1)}}
dn2d[rmi] = D.node2edge(scenetree.findObjectById(adec[rmi].id))
U.dump(acorner, '?? first_side:'..rmi)
acorner[#acorner+1] = {rd = stem.rdi, to = k, fr = fr, dir = (k > fr and 1 or -1)}
dn2d[stem.rdi] = D.node2edge(scenetree.findObjectById(adec[stem.rdi].id))
hasnext = true
out.avedit[#out.avedit + 1] = adec[p.rd].list[p.to]
--!! D.matApply('road_asphalt_unmarked', scenetree.findObjectById(adec[p.rd].id))
end
desc.pos.z = hbase
lo('?? obi:'..tostring(scenetree.findObjectById(desc.id)))
-- for _,s in pairs(dforest) do
-- scenetree.findObjectById(desc.id).hidden = true --:setMeshAlpha(1, "", false)
--!!
@/lua/ge/extensions/flowgraph/nodes/environment/simplePlanet.lua
if self.pinIn.vehId.value then
self.vehicle = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/scenario/distanceGoal.lua
--distance instance: Distance between two vehicles must not be lower(minDistance) or higher(maxDistance) than X
local vehicle = scenetree.findObjectById(instance.vId)
if state == 'onRaceTick' and vehicle then
@/lua/ge/extensions/editor/gen/network.lua
U.hightOnCurve = function(p, rdinfo, start, dbg) --, av, step, dbg)
local decal = scenetree.findObjectById(rdinfo.id)
local av, step = rdinfo.av, rdinfo.avstep
rd.w = w
local road = scenetree.findObjectById(newRoadID)
road:setField("material", 0, mat)
local road
local road = scenetree.findObjectById(newRoadID)
groupEdit:add(road)
)
road = scenetree.findObjectById(newRoadID)
road:setField("material", 0, mat)
]]
-- scenetree.findObjectById(newRoadID):delete()
local hmap = road.hmap
local rd = scenetree.findObjectById(road.id)
local adec = editor.getNodes(rd)
lo('>> decalUpdate:'..tostring(#hmap)..':'..tostring(#apin))
-- local dec = scenetree.findObjectById(id)
local adec = editor.getNodes(dec)
-- rdmesh.decal = id
local road = scenetree.findObjectById(idnew)
road:setField("material", 0, mat)
else
-- local branch = scenetree.findObjectById(rdinfo.id)
if dbg then
end
local droot = scenetree.findObjectById(rdinfo.id)
local dp
-- {{pos = apos[1], width = w, drivability = 1}},
local road = scenetree.findObjectById(id)
if m == nil then
print('?? for_s:'..s[1]..':'..s[2])
local decal = scenetree.findObjectById(roads[s[1]].id)
for _,dir in pairs {1, -1} do
@/lua/ge/extensions/flowgraph/nodes/career/setFuelLevel.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleData.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/gameplay/missions/missionScreen.lua
setupSounds()
local sound = scenetree.findObjectById(soundId)
if sound then
--[[
local sound = scenetree.findObjectById(soundId)
if sound then
if active then
local sound = scenetree.findObjectById(soundObjectIds[soundLabel])
if sound then
for label, _ in pairs(soundNames) do
local sound = scenetree.findObjectById(soundObjectIds[label])
if sound then
@/lua/ge/extensions/career/modules/delivery/cargoScreen.lua
if not hasTooFastVehicle then
local veh = scenetree.findObjectById(con.vehId)
if veh then
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua
for _, id in ipairs(v) do
local name = scenetree.findObjectById(id):getName() or ""
if k == "BeamNGVehicle" then
if not contains then
local static = scenetree.findObjectById(id)
if static then
for _, id in ipairs(data.allChildrenIds['BeamNGVehicle'] or {}) do
local veh = scenetree.findObjectById(id)
if veh then
if not requires then
local wp = scenetree.findObjectById(id)
if wp and not wp.excludeFromMap then
if not requires then
local dr = scenetree.findObjectById(id)
if dr and dr.drivability > 0 then
local obj = scenetree.findObjectById(id)
if not obj then
for vid, val in pairs(data.originalVehicleTransforms or {}) do
local veh = scenetree.findObjectById(vid)
if veh then
for k, _ in pairs(self.prefabs[id].originalVehicleTransforms) do
local veh = scenetree.findObjectById(k)
if veh then
--dump("Extracting object: " .. i)
local veh = scenetree.findObjectById(k)
if veh then
if not data.dontDelete or force then
local obj = scenetree.findObjectById(id)
if obj then
if not data.dontDelete then
local obj = scenetree.findObjectById(id)
--print("data.unpackVehiclesBeforeDeletion ->" .. dumps(data.unpackVehiclesBeforeDeletion))
@/lua/ge/extensions/editor/sceneView.lua
if editor.selection.object and editor.selection.object[1] then
local cam = scenetree.findObjectById(editor.selection.object[1])
if cam and (cam:getClassName() == "Camera" or cam:getClassName() == "CameraBookmark") then
if 0 ~= lastCameraSceneNodeId then
local cam = scenetree.findObjectById(lastCameraSceneNodeId)
if cam then
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficSpawnGroup.lua
for _, id in ipairs(self.vehicleIds) do
local obj = scenetree.findObjectById(id)
if obj then
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallyDebugNode.lua
local vehicle = scenetree.findObjectById(self.pinIn.vehId.value)
@/lua/ge/extensions/flowgraph/nodes/scene/rectMarker.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/setLights.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/shapeEditor.lua
local function showShapeEditorGui(objectId)
local obj = scenetree.findObjectById(objectId)
if obj and obj.getClassName and obj:getClassName() == "TSStatic" then
if editor.getPreference("shapeEditor.general.autoOpenSelectedObject") and editor.selection.object and #editor.selection.object > 0 then
local obj = scenetree.findObjectById(editor.selection.object[1])
if obj and obj.getClassName and obj:getClassName() == "TSStatic" then
@/lua/ge/extensions/scenario/raceMarkers/sideMarker.lua
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/lua/ge/extensions/editor/sidewalkSpline/populate.lua
local function getOrCreateFolder(spline, splineIdx)
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if not folder then
@/gameplay/missionTypes/cannon/customNodes/cannonBallTouchdownNode.lua
function C:getBallPosition(id)
local veh = scenetree.findObjectById(id)
if not (veh and string.find(veh:getInternalName() or "cannon", "cannon")) then
@/lua/ge/extensions/gameplay/markers/inspectVehicleMarker.lua
function C:setup(cluster)
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
@/lua/ge/extensions/flowgraph/nodes/vehicle/recoverInPlace.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/mission/ARunForLife.lua
id = props[i]
veh = scenetree.findObjectById(id)
local flag = false
pl = scenetree.findObjectById(self.pinIn.plId.value)
end
for _, id in pairs(containers) do
local veh = scenetree.findObjectById(id)
if not veh then return end
for i = 1, #props do
local prop = scenetree.findObjectById(props[i])
if prop and prop:getActive() and prop:getPosition().y - camPos.y > propDespawn then
veh = scenetree.findObjectById(randomPropId)
propPool:setVeh(randomPropId, true)
for i = 1, #props do
veh = scenetree.findObjectById(props[i])
pos = veh:getPosition()
for i = 1, #props do
local pl = scenetree.findObjectById(props[i])
if pl then
if t.decal then
local prop = scenetree.findObjectById(t.id)
@/lua/ge/extensions/editor/masterSpline/jumpTables.lua
if fullSplines[idx].sceneTreeFolderId then -- Update scene tree folder name.
local folder = scenetree.findObjectById(fullSplines[idx].sceneTreeFolderId)
if folder then
if fullSplines[idx].sceneTreeFolderId then -- Update scene tree folder name.
local folder = scenetree.findObjectById(fullSplines[idx].sceneTreeFolderId)
if folder then
if fullSplines[idx].sceneTreeFolderId then -- Update scene tree folder name.
local folder = scenetree.findObjectById(fullSplines[idx].sceneTreeFolderId)
if folder then
@/lua/ge/extensions/editor/terrainEditor.lua
local function updatePaintMaterialProxies()
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if not terrainBlock then return end
local function reorderMaterial(from, to)
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if not terrainBlock then return end
end
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if not terrainBlock then return end
saveMaterials()
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
for tbName, tbData in pairs(terrainBlockProxies) do
local tb = scenetree.findObjectById(tbData.id)
if tb then
-- TODO: a TerrainBlock with the same name has been found: can we overwrite it?
terrBlock = scenetree.findObjectById(tbData.id)
createNewTerrainBlock = false
for tbName, tbData in pairs(terrainBlockProxies) do
local tb = scenetree.findObjectById(tbData.id)
if tb and (tbData.selected == true) then
local function showAddLayerMaterialGui()
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if not terrainBlock then return end
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock and terrainBlock:getField('materialTextureSet', 0) == "" then
editor.setPreference("terrainEditor.general.brushSize", value)
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
for tbName, tbData in pairs(terrainBlockProxies) do
local tb = scenetree.findObjectById(tbData.id)
if not tb then updateEditorTerrainBlocks() break end
if brushCenter and state ~= stateEnum.terraforming then
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
var.brushHeightPicking = false
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
if notifications["terrainDirty"] then
local terrainBlock = terrainBlockId and scenetree.findObjectById(terrainBlockId)
if terrainBlock then
local function onEditorObjectAdded(id)
local obj = scenetree.findObjectById(id)
if obj and obj:getClassName() == "TerrainBlock" then
M.getTerrainEditor = function() return terrainEditor end
M.getTerrainBlock = function() return terrainBlockId and scenetree.findObjectById(terrainBlockId) end
M.getMaterialsInJson = function() return materialsInJson end
@/lua/ge/extensions/editor/objectToSplineEditor.lua
local function getNewExtents(objId, useWorldBox) -- returns the scaled object extents
local obj = scenetree.findObjectById(objId)
local extents = useWorldBox and obj:getWorldBox():getExtents() or obj:getObjectBox():getExtents()
local function setObjectTransform(id, pos, rot) -- sets the object position and rotation
local obj = scenetree.findObjectById(id)
if not obj then return end
local function createObjects(objId, points, params, presetIds) -- actually creates objects with the given positions
local obj = scenetree.findObjectById(objId)
if not obj or not points then return end
local newIds = {}
local newGroup = scenetree.findObjectById(tonumber(obj:getField("parentGroup", 0)))
local groupId
local function createSplineArray(guideId, gap, startOffset, endOffset, params) -- returns an array of positions and rotations along the decal road
local guide = scenetree.findObjectById(guideId)
if not guide then return end
local obj = scenetree.findObjectById(objId or 0)
if obj then
local currId = editor.selection.object[1]
if not classNames or arrayFindValueIndex(classNames, scenetree.findObjectById(currId).className) then
id = currId
if editor.beginWindow(toolWindowName, toolName) then
if objId and not scenetree.findObjectById(objId) then
objId = nil
end
if guideId and not scenetree.findObjectById(guideId) then
guideId = nil
im.SameLine()
str = tostring(scenetree.findObjectById(objId):getName()).." ["..objId.."]"
end
im.SameLine()
str = tostring(scenetree.findObjectById(guideId):getName()).." ["..guideId.."]"
end
guideErrorTxt = nil
if scenetree.findObjectById(guideId).className == "MeshRoad" then
be:reloadCollision() -- rebuild collision for mesh roads
if objId then
local obj = scenetree.findObjectById(objId)
local offset = vec3(0, 0, 0)
if guideId then
local guide = scenetree.findObjectById(guideId)
local up = vecUp * 0.01
@/lua/ge/extensions/flowgraph/nodes/vehicle/trackVehicle.lua
function C:work()
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
if veh then
@/lua/ge/extensions/editor/meshEditor.lua
if selectedMeshId then
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh then
local function updateGizmoPos()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh and selectedMesh:getNodeCount() > 0 then
local function pasteFieldsAM()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh and fieldsCopy then
local function setAllNodesWidthActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for index, oldWidth in pairs(actionData.oldWidths) do
local function setAllNodesWidthActionRedo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for index, _ in pairs(actionData.oldWidths) do
local function setAllNodesDepthActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for index, oldDepth in pairs(actionData.oldDepths) do
local function setAllNodesDepthActionRedo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for index, _ in pairs(actionData.oldDepths) do
local function setNodeWidthDepthActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function setNodeWidthDepthActionRedo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function positionNodeActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function positionNodeActionRedo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function rotateNodeActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function rotateNodeActionRedo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for _, nodeID in ipairs(actionData.nodeIDs) do
local function insertNodeActionUndo(actionData)
local mesh = scenetree.findObjectById(actionData.meshID)
for index = #actionData.nodeInfos, 1, -1 do
local function onDeleteSelection()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh then
local function splitMeshActionUndo(actionData)
local originalMesh = scenetree.findObjectById(actionData.originalMeshID)
editor.deleteMeshNode(originalMesh, originalMesh:getNodeCount() - 1)
local newMesh = scenetree.findObjectById(actionData.newMeshID)
local nodes = editor.getNodes(newMesh)
local function splitMeshActionRedo(actionData)
local originalMesh = scenetree.findObjectById(actionData.originalMeshID)
local newMeshNodes = {}
end
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh and (not tableIsEmpty(selectedNodes)) and selectedMesh:getNodeCount() > 0 then
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh and editor.keyModifiers.shift and tableSize(selectedNodes) == 1 and selectedNode and (selectedNode == 0 or selectedNode == selectedMesh:getNodeCount() - 1) then
local function gizmoDragging()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if not selectedMesh then return end
local function gizmoEndDrag()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh then
local function finishMesh()
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
if selectedMesh then
local selectedMesh = selectedMeshId and scenetree.findObjectById(selectedMeshId)
editor.selectObjectById(meshInfo.meshID)
selectedMesh = scenetree.findObjectById(meshInfo.meshID)
end
editor.selectObjectById(newMeshID)
selectedMesh = scenetree.findObjectById(newMeshID)
end
for _, id in ipairs(selectedIds) do
local object = scenetree.findObjectById(id)
if object:getClassName() == M.type then
@/lua/ge/extensions/flowgraph/nodes/debug/aiDebug.lua
if self.pinIn.vehId.value and self.pinIn.vehId.value ~= 0 then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/decalEditor.lua
local function createTemplateActionUndo(actionData)
local template = scenetree.findObjectById(actionData.id)
if selectedTemplate and selectedTemplate:getID() == template:getID() then
editor.setFieldValue(actionData.id, "name", actionData.name)
local template = scenetree.findObjectById(actionData.id)
local function deleteTemplateActionRedo(actionData)
local template = scenetree.findObjectById(actionData.id)
for i = 1, #selectedIds do
local template = scenetree.findObjectById(selectedIds[i])
if template:getClassName() == "DecalData" then
@/lua/ge/extensions/flowgraph/nodes/vehicle/flipUpright.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/scenario/speedGoal.lua
local fobjData = map.objects[map.objectNames[instance.vehicleName]]
local vehicle = scenetree.findObjectById(instance.vId)
if not fobjData and vehicle then
@/lua/ge/extensions/core/input/vehicleSwitching.lua
local nextId = vehicleOrder[nextIndex]
if scenetree.findObjectById(nextId) then
if be then
if be then
be:enterVehicle(player, scenetree.findObjectById(nextId))
extensions.hook('trackNewVeh')
@/lua/ge/extensions/core/terrain.lua
local function getTerrain()
local terrain = terrainId and scenetree.findObjectById(terrainId)
if not terrain then
@/lua/ge/extensions/flowgraph/nodes/vehicle/freeze.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/customVehicleGetter.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/editor/tech/roadArchitect/roads.lua
local selObj = editor.selection.object[i]
local sel = scenetree.findObjectById(selObj)
if sel and sel:getClassName() == "DecalRoad" then -- Filter into decal roads only.
@/gameplay/missionTypes/scatterPickup/customNodes/scatterPrefabSetupNode.lua
if id then
local obj = scenetree.findObjectById(id)
if editor and editor.onRemoveSceneTreeObjects then
@/lua/ge/extensions/gameplay/util/crashDetection.lua
local damageSum = scenetree.findObjectById(crashData.vehId):getSectionDamageSum() or 0
lastFrameDamage = vehMapObject.damage or 0,
lastFrameDamageSum = scenetree.findObjectById(vehId_):getSectionDamageSum() or 0,
totalPreImpactDamage = 0,
@/lua/ge/extensions/editor/gen/top.lua
if c.id then
scenetree.findObjectById(c.id):delete()
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallyMoveVehicleTo.lua
local vehId = self.pinIn.vehId.value
local veh = scenetree.findObjectById(vehId)
if not veh then
@/lua/ge/extensions/util/stepHandler.lua
else
local veh = scenetree.findObjectById(step.vehId)
if veh then
@/lua/ge/extensions/editor/assemblySpline/splineMgr.lua
-- Create a new scene tree folder for the assembly spline.
if not spline.sceneTreeFolderId or not scenetree.findObjectById(spline.sceneTreeFolderId) then
local newFolder = createObject("SimGroup")
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder and simObjectExists(folder) then
if data.isUpdateSceneTree then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
@/lua/ge/extensions/flowgraph/nodes/scene/hide.lua
if self.pinIn.objID.value then
obj = scenetree.findObjectById(self.pinIn.objID.value)
self:__setNodeError("input", nil)
@/lua/ge/extensions/editor/bulkRename.lua
for _, id in ipairs(objectIds) do
obj = scenetree.findObjectById(id)
@/gameplay/missionTypes/cannon/customNodes/cannonBallDistNode.lua
function C:getBallPosition(id)
local veh = scenetree.findObjectById(id)
if not (veh and string.find(veh:getInternalName() or "cannon", "cannon")) then
local targetPos = scenetree.findObjectById(self.pinIn.targetId.value):getPosition()
local dist = (targetPos - self:getBallPosition(self.pinIn.cannonId.value)):length()
@/lua/ge/extensions/flowgraph/nodes/vehicle/setIgnition.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/scenario/raceMarkers/crawlMarker.lua
if self.columnId then
local centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
if self.columnId then
local centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
if self.columnId then
local centerColumn = scenetree.findObjectById(self.columnId)
if centerColumn then
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/lua/ge/ge_utils.lua
scenetree.findObjectById = function(objectId)
return Sim.findObjectById(objectId)
end
if vehicleID then
vehicle = scenetree.findObjectById(vehicleID)
else
function getVehicleColorPalette(index, vehicleId)
local vehicle = vehicleId and scenetree.findObjectById(vehicleId) or getPlayerVehicle(0)
if not vehicle then return end
function checkVehicleProperty(vid, propertyName, value)
local sceneVehicle = scenetree.findObjectById(vid)
return sceneVehicle and sceneVehicle[propertyName] == value
function setVehicleProperty(vid, propertyName, value)
local sceneVehicle = scenetree.findObjectById(vid)
if sceneVehicle then
obj2 = Sim.findObject('hey')
obj2:findObjectById(3)
function getVehiclePaint(vehicleId)
local vehicle = vehicleId and scenetree.findObjectById(vehicleId) or getPlayerVehicle(0)
if not vehicle then return nil end
if not vehicleData then
local vehicle = scenetree.findObjectById(vid)
if not vehicle then
@/lua/ge/extensions/gameplay/drift/drift.lua
if vehId and not veh then
veh = scenetree.findObjectById(vehId)
else
@/lua/ge/extensions/editor/veMain.lua
for i = 1, #selectedIds do
local object = scenetree.findObjectById(selectedIds[i])
if object and object:getClassName() == "BeamNGVehicle" then
@/lua/ge/extensions/editor/api/objectHistoryActions.lua
local function createObjectUndo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
if actionData.parentId then
local parent = scenetree.findObjectById(actionData.parentId)
parent:addObject(obj.obj)
end
local obj = scenetree.findObjectById(actionData.objectId)
if obj and actionData.nextObjIdInGroup then
if obj and actionData.nextObjIdInGroup then
local otherObj = scenetree.findObjectById(actionData.nextObjIdInGroup)
if otherObj then
if parentGroupID then
local parentGroup = scenetree.findObjectById(parentGroupID)
if parentGroup then
local function deleteObjectRedo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj and not obj:isLocked() then
local function setObjectTransformUndo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
local function setObjectTransformRedo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
local function setObjectScaleUndo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
local function setObjectScaleRedo(actionData)
local obj = Sim.findObjectById(actionData.objectId)
if obj then
for i, id in ipairs(objIds) do
local obj = Sim.findObjectById(id)
if obj then
for i, id in ipairs(objIds) do
local obj = Sim.findObjectById(id)
if obj then
for i, id in ipairs(objIds) do
local obj = Sim.findObjectById(id)
if obj then
@/lua/ge/extensions/flowgraph/nodes/vehicle/toShowroom.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/flowgraph/nodes/mission/getCustomVehicleData.lua
if self.pinIn.vehId.value then
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua
if self.pinIn.vehId.value then
v1 = scenetree.findObjectById(self.pinIn.vehId.value)
end
if self.pinIn.trailerId.value then
v2 = scenetree.findObjectById(self.pinIn.trailerId.value)
end
@/lua/ge/extensions/freeroam/crashCamMode.lua
local function buildPath()
local veh1 = scenetree.findObjectById(crashCamData.id1)
local veh2 = scenetree.findObjectById(crashCamData.id2)
local veh1 = scenetree.findObjectById(crashCamData.id1)
local veh2 = scenetree.findObjectById(crashCamData.id2)
local bb1 = veh1:getSpawnWorldOOBB()
-- check if the two vehicles are intersecting
local otherVeh = scenetree.findObjectById(crashCamData.id2)
if bbsIntersect(playerVeh:getSpawnWorldOOBB(), otherVeh:getSpawnWorldOOBB()) then
@/lua/ge/extensions/gameplay/crawl/crawlFlowgraphBridge.lua
if vehicleId then
veh = scenetree.findObjectById(vehicleId)
else
local veh = scenetree.findObjectById(bridgeState.activeCrawlerId)
if not veh then
@/lua/ge/extensions/flowgraph/nodes/vehicle/groundDistance.lua
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
if not veh then return end
@/lua/ge/extensions/flowgraph/nodes/scene/getObjectField.lua
if not self.pinIn.objectId.value or not self.pinIn.fieldName.value then return end
local obj = scenetree.findObjectById(self.pinIn.objectId.value)
if not obj then return end
@/gameplay/missionTypes/collection/customNodes/collectionMarkersNode.lua
for _, m in ipairs(self.mgr.markerData or {}) do
local markerObj = scenetree.findObjectById(m.markerObjectId)
if markerObj then
end
local lightObj = scenetree.findObjectById(m.lightObjectId)
if lightObj then
local clr = m.colorTimer
local markerObj = scenetree.findObjectById(m.markerObjectId)
if markerObj then
local lightObj = scenetree.findObjectById(m.lightObjectId)
if lightObj then
@/lua/ge/extensions/gameplay/rally/loop/stagedCountdownUtils.lua
local veh = scenetree.findObjectById(vehId)
if veh then
local veh = scenetree.findObjectById(vehId)
if veh then
@/lua/ge/extensions/editor/sceneTree.lua
local function getGroupNodeIcon(node)
local object = scenetree.findObjectById(node.id)
if object and object:getField("unpacked_prefab", "") == "1" then
if #instance.selectedNodes == 1 then
if instance.selectedNodes[1].isGroup then return scenetree.findObjectById(instance.selectedNodes[1].id) end
end
end
if instance.selectedNodes[1].parent then return scenetree.findObjectById(instance.selectedNodes[1].parent.id) end
end
for _, objId in ipairs(childrenIds) do
local object = scenetree.findObjectById(objId)
if object then
if passed and searchRange > 0 then
local object = scenetree.findObjectById(node.id)
node.cameraDistance = math.huge
sceneTreeInstance.selectedNodes = {}
local obj = scenetree.findObjectById(actionData.objectID)
if obj then obj:deleteObject() end
else
local parentObject = scenetree.findObjectById(actionData.groupParentID)
if parentObject then
for _, node in ipairs(instance.selectedNodes) do
local object = scenetree.findObjectById(node.id)
if object then
local newName = ffi.string(inputTextValue)
local object = scenetree.findObjectById(editingNodeName.id)
if object then
for i = #actionData.objects, 1, -1 do
local object = scenetree.findObjectById(actionData.objects[i])
if object then
if object then
local oldGroup = scenetree.findObjectById(actionData.oldGroups[i])
if oldGroup then
if actionData.placeholderObjects[i] then
local placeholderObject = scenetree.findObjectById(actionData.placeholderObjects[i])
if placeholderObject then
-- Add to New Group
local newGroup = scenetree.findObjectById(actionData.newGroup)
if not newGroup then return end
if actionData.destObject then
local destObject = scenetree.findObjectById(actionData.destObject)
for i = 1, #actionData.objects do
for i = 1, #actionData.objects do
local object = scenetree.findObjectById(actionData.objects[i])
if object then
for i = #actionData.objects, 1, -1 do
local object = scenetree.findObjectById(actionData.objects[i])
if object and newGroup.add and newGroup.bringToFront then
if oldGroupId ~= actionData.newGroup then
local group = scenetree.findObjectById(oldGroupId)
if group then
if selNode then
local object = scenetree.findObjectById(selNode.id)
if selNode.isGroup and not addSelectedObjects then
return scenetree.findObjectById(actionInfo.newGroup)
end
local function sortGroupNode(instance, node, recursive)
local object = scenetree.findObjectById(node.id)
if node.isGroup and object then
groupProcessed[groupId] = true
local group = scenetree.findObjectById(groupId)
for _, instance in pairs(guiInstancer.instances) do
local function boolFieldButton(instance, node, field, iconOn, iconOff)
local object = scenetree.findObjectById(node.id)
if not object then return end
local object = scenetree.findObjectById(node.id)
local textCol = textColor
local parent = scenetree.findObjectById(node.parent.id)
if imgui.IsMouseReleased(0) and parent and not node.parent.selected and not isGroupChildOfSelection(instance, parent) then
for _, node in ipairs(instance.selectedNodes) do
local object = scenetree.findObjectById(node.id)
local parent = scenetree.findObjectById(node.parent.id)
local object = scenetree.findObjectById(node.id)
local parent = scenetree.findObjectById(node.parent.id)
if object and parent then
local object = scenetree.findObjectById(node.id)
if not object then
imgui.Separator()
local object = scenetree.findObjectById(node.id)
if object and node.className ~= "Prefab" then
local newName = ffi.string(inputTextValue)
local object = scenetree.findObjectById(node.id)
if object then
if tableContains(objectIds, node.id) then
local object = scenetree.findObjectById(node.id)
node.name = getNameOrClassName(object)
if node then
local obj = scenetree.findObjectById(node.id)
local prefabInstance = Engine.Prefab.findPrefabForChild(obj)
local function debugNode(id, level)
local object = scenetree.findObjectById(id)
if object then
@/lua/ge/extensions/freeroam/specialTriggers.lua
local function setState(id, state) -- updates the state of a single object
local obj = scenetree.findObjectById(id)
if not obj then return end
local function setGroupState(id, state) -- sets the visible state of a single object or SimGroup
local obj = scenetree.findObjectById(id or 0)
if obj 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 _, 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 _, 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
@/lua/ge/extensions/editor/meshSpline/splineMgr.lua
-- Create a new scene tree folder for the mesh spline.
if not spline.sceneTreeFolderId or not scenetree.findObjectById(spline.sceneTreeFolderId) then
local newFolder = createObject("SimGroup")
if spline.sceneTreeFolderId then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder and simObjectExists(folder) then
if data.isUpdateSceneTree then
local folder = scenetree.findObjectById(spline.sceneTreeFolderId)
if folder then
@/lua/ge/extensions/gameplay/backgroundActivities/g2g.lua
for _, data in ipairs(vehicleIds) do
local obj = scenetree.findObjectById(data.vehId)
if obj then
@/lua/ge/extensions/flowgraph/nodes/scene/setObjectField.lua
if not self.pinIn.objectId.value or not self.pinIn.fieldName.value or not self.pinIn.value.value then return end
local obj = scenetree.findObjectById(self.pinIn.objectId.value)
self.pinOut.objectFound.value = (obj ~= nil)
@/lua/ge/extensions/scenario/raceMarkers/ringMarker.lua
for _, id in ipairs(self._ids or {}) do
local obj = scenetree.findObjectById(id)
if obj then
@/lua/ge/extensions/gameplay/crawl/flowgraphBridge.lua
if vehicleId then
veh = scenetree.findObjectById(vehicleId)
else
if vehicleId then
veh = scenetree.findObjectById(vehicleId)
else
elseif crawlersData[1] and crawlersData[1].id then
veh = scenetree.findObjectById(crawlersData[1].id)
else
local veh = scenetree.findObjectById(activeCrawlerId)
if not veh then
@/lua/ge/extensions/flowgraph/nodes/vehicle/isPlayerUsable.lua
if self.pinIn.vehId.value and self.pinIn.vehId.value ~= 0 then
source = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/client/postFx/dof.lua
if veh then
local sceneObject = scenetree.findObjectById(be:getPlayerVehicleID(0))
if sceneObject and not Engine.sceneGetCameraFrustum():isBoxOutside(sceneObject:getWorldBox()) then
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/gameplay/rally/util.lua
local function getVehFrontCenter(vehId)
local veh = scenetree.findObjectById(vehId)
if not veh then return nil end
local function getVehFrontBottom(vehId)
local veh = scenetree.findObjectById(vehId)
if not veh then return nil end
local function drawVehBB(vehId)
local veh = scenetree.findObjectById(vehId)
if not veh then return end
@/lua/ge/extensions/gameplay/drag/debug.lua
local currId = editor.selection.object[1]
if not classNames or arrayFindValueIndex(classNames, scenetree.findObjectById(currId).className) then
id = currId
@/gameplay/missionTypes/cannon/customNodes/cannonPreviewNode.lua
function C:work()
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
if veh and string.find(veh:getInternalName() or "",'cannon') then
@/lua/ge/extensions/flowgraph/nodes/environment/directionalGravity.lua
function C:_executionStopped()
local veh = self.pinIn.vehId.value and scenetree.findObjectById(self.pinIn.vehId.value) or getPlayerVehicle(0)
local veh = self.pinIn.vehId.value and scenetree.findObjectById(self.pinIn.vehId.value) or getPlayerVehicle(0)
if not veh then return end
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/career/modules/delivery/progress.lua
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
if active then
local sound = scenetree.findObjectById(soundObjectIds[soundLabel])
if sound then
for label, _ in pairs(soundNames) do
local sound = scenetree.findObjectById(soundObjectIds[label])
if sound then
@/lua/ge/extensions/core/trafficSignals.lua
for _, id in ipairs(self.linkedObjects) do -- actual traffic signal objects
local obj = scenetree.findObjectById(id)
if obj then
if alsoDelete then
scenetree.findObjectById(objId):delete()
else
else
scenetree.findObjectById(objId):setDynDataFieldbyName('signalInstance', 0, '')
end
if scenetree.objectExists(objId) then
scenetree.findObjectById(objId):setDynDataFieldbyName('signalInstance', 0, self.name)
end
if scenetree.objectExists(objId) then
scenetree.findObjectById(objId):setDynDataFieldbyName('signalInstance', 0, '')
end
for _, oid in ipairs(signalObjects) do
local obj = scenetree.findObjectById(oid)
if obj then
-- generally unused; see SignalInstance:setStrictState
local obj = scenetree.findObjectById(id)
stateArray = stateArray or {false, false, false}
@/lua/ge/extensions/core/camera.lua
if not vehId then return end
local veh = scenetree.findObjectById(vehId)
if not veh then
if not vehId then return end
local veh = scenetree.findObjectById(vehId)
if not veh then return end -- no LUA camera is being used atm
@/lua/ge/extensions/core/couplerCameraModifier.lua
local obj1 = scenetree.findObjectById(objId1_)
local obj2 = scenetree.findObjectById(objId2_)
local obj1 = scenetree.findObjectById(objId1_)
local obj2 = scenetree.findObjectById(objId2_)
local obj1, obj2
if objId1 then obj1 = scenetree.findObjectById(objId1) end
if objId2 then obj2 = scenetree.findObjectById(objId2) end
if objId1 then obj1 = scenetree.findObjectById(objId1) end
if objId2 then obj2 = scenetree.findObjectById(objId2) end
local obj1 = scenetree.findObjectById(objId1)
local obj2 = scenetree.findObjectById(objId2)
local obj1 = scenetree.findObjectById(objId1)
local obj2 = scenetree.findObjectById(objId2)
@/lua/ge/extensions/gameplay/crashTest/scenarioManager.lua
local function freezeVehicleById(vehId, freeze)
local veh = scenetree.findObjectById(vehId)
if veh then
gameplay_walk.getInVehicle(scenetree.findObjectById(currentStepParameters.plVehId))
core_camera.setByName(0, "orbit")
deactivateVehiclesFromOtherStepsFunc(currentStepIndex)
gameplay_walk.getInVehicle(scenetree.findObjectById(currentStepParameters.plVehId))
gameplay_crashTest_crashTestTaskList.onNewCrashTestStep(sanitizedStepsData[currentStepIndex])
local veh = scenetree.findObjectById(currentStepParameters.plVehId)
core_vehicleBridge.executeAction(veh,'setFreeze', true)
@/lua/ge/extensions/core/groundMarkerArrows.lua
--log('I', 'arrow', 'Found unused arrow in proxies: ' .. tostring(id))
return scenetree.findObjectById(id)
end
for id, proxy in pairs(arrowProxies) do
local arrow = scenetree.findObjectById(id)
if arrow then arrow:delete() end
proxy.alphaSmootherTarget = 0
local arrow = scenetree.findObjectById(id)
if arrow then
end
local arrow = scenetree.findObjectById(id)
if arrow then
if im.Button("Delete##"..id) then
local arrow = scenetree.findObjectById(id)
if arrow then arrow:delete() end
@/lua/ge/extensions/editor/driftDataEditor.lua
if im.MenuItem1("Create Stunt Zones around Vehicle") then
local obj = scenetree.findObjectById(be:getPlayerVehicleID(0))
if obj then
if im.MenuItem1("Add Donut") then
local obj = scenetree.findObjectById(be:getPlayerVehicleID(0))
if obj then
if im.MenuItem1("Add Drift Through") then
local obj = scenetree.findObjectById(be:getPlayerVehicleID(0))
if obj then
if im.MenuItem1("Add Hit Pole") then
local obj = scenetree.findObjectById(be:getPlayerVehicleID(0))
if obj then
if im.Button("TP player to drift spot") then
local player = scenetree.findObjectById(be:getPlayerVehicleID(0))
if player then
@/lua/ge/extensions/flowgraph/nodes/gameplay/zone.lua
local sites = self.pinIn.sitesData.value
local veh = scenetree.findObjectById(self.pinIn.vehId.value)
local oobb = veh:getSpawnWorldOOBB()
@/lua/ge/extensions/editor/roadSpline/groupMgr.lua
-- Create a new folder for the group.
if not group.sceneTreeFolderId or not scenetree.findObjectById(group.sceneTreeFolderId) then
local newFolder = createObject("SimGroup")
if group.sceneTreeFolderId then
local folder = scenetree.findObjectById(group.sceneTreeFolderId)
if folder then
if group.sceneTreeFolderId then
local folder = scenetree.findObjectById(group.sceneTreeFolderId)
if folder then
@/lua/ge/extensions/gameplay/race/startPosition.lua
function C:calculateVehiclePosRot(vehId, lowPrecision)
local veh = scenetree.findObjectById(vehId)
if not veh then return nil, nil end
function C:moveResetVehicleTo(vehId, lowPrecision, repair)
local veh = scenetree.findObjectById(vehId)
log('D', logTag, 'moving vehicle to start position')
function C:setToVehicle(vehId)
local veh = scenetree.findObjectById(vehId)
if not veh then return end
@/lua/ge/extensions/editor/trafficManager.lua
if scenetree.objectExistsById(session.lights[id].spawnedObjectId or 0) then
scenetree.findObjectById(session.lights[id].spawnedObjectId):delete()
end
if scenetree.objectExistsById(session.lights[currSelection.light].spawnedObjectId or 0) then
scenetree.findObjectById(session.lights[currSelection.light].spawnedObjectId):delete()
end
@/lua/ge/extensions/editor/dataBlockEditor.lua
local function createDataBlockActionUndo(actionData)
local dataBlock = scenetree.findObjectById(actionData.id)
editor.clearObjectSelection()
else
local dataBlock = scenetree.findObjectById(actionData.id)
Sim.getDataBlockSet():addObject(dataBlock)
local function deleteDataBlockActionUndo(actionData)
local dataBlock = scenetree.findObjectById(actionData.id)
editor.addDataBlockToFile(dataBlock, dataBlock:getFileName())
local function deleteDataBlockActionRedo(actionData)
local dataBlock = scenetree.findObjectById(actionData.id)
editor.removeDataBlockFromFile(dataBlock)
if editor.selection.object and editor.selection.object[1] then
local selected = scenetree.findObjectById(editor.selection.object[1])
if selected then
if isDataBlock(editor.selection.object[1]) then
editor.saveDataBlockToFile(scenetree.findObjectById(editor.selection.object[1]))
end
if isDataBlock(selectedID) then
editor.setDataBlockDirty(scenetree.findObjectById(selectedID))
end
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/customVlua_string.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
customLUAString = self.pinIn.customLUA.value
@/lua/ge/extensions/gameplay/garageMode.lua
if spawnPoint then
local vehicle = scenetree.findObjectById(vehicleId)
spawn.safeTeleport(vehicle, spawnPoint:getPosition(), quat(0,0,1,0) * spawnPoint:getRotation(), nil, nil, nil, true)
@/lua/ge/extensions/career/modules/delivery/general.lua
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
for vehId, data in pairs(data) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.executeAction(veh, 'setFreeze', false)
for vehId, data in pairs(updatePerVehicle) do
local veh = scenetree.findObjectById(vehId)
for vehId, data in pairs(updatePerVehicle) do
local veh = scenetree.findObjectById(vehId)
core_vehicleBridge.requestValue(veh, function(vehCargoContainerData)
@/lua/ge/extensions/flowgraph/nodes/vehicle/teleportToLastRoad.lua
if self.pinIn.vehId.value then
veh = scenetree.findObjectById(self.pinIn.vehId.value)
else
@/lua/ge/extensions/gameplay/crawl/utils.lua
for _, id in ipairs(spawnedPrefabIds) do
local obj = scenetree.findObjectById(id)
if obj then
local prefab = scenetree.findObjectById(prefabId)
if not prefab then
@/lua/ge/extensions/editor/main.lua
for _, objId in ipairs(editor.selection.object) do
local obj = scenetree.findObjectById(objId)
if obj then obj:setSelected(enable) end
@/lua/ge/extensions/gameplay/markers/gasStationMarker.lua
self.pumps = {}
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
for idx, pair in ipairs(cluster.pumps or {}) do
@/lua/ge/extensions/gameplay/markers/parkingMarker.lua
function C:setup(cluster)
iconRendererObj = scenetree.findObjectById(self.iconRendererId)
end
outlineTmp = scenetree.findObjectById(self.outlineId)
if outlineTmp then
if self.lastAlpha ~= cruisingFactor then
outlineTmp = scenetree.findObjectById(self.outlineId)
if outlineTmp then
outlineTmp = scenetree.findObjectById(self.outlineId)
if outlineTmp then
end
outlineTmp = scenetree.findObjectById(self.outlineId)
if outlineTmp then
@/lua/ge/extensions/editor/roadSpline/layerMgr.lua
for i = 1, #layer.decalRoadIds do
local decalRoad = scenetree.findObjectById(layer.decalRoadIds[i])
if decalRoad then
if layer.decalRoadId then
local decalRoad = scenetree.findObjectById(layer.decalRoadId)
if decalRoad then
-- Get the Road Spline's scene tree folder.
local folder = scenetree.findObjectById(group.sceneTreeFolderId)
if not layer.decalRoadId or not scenetree.findObjectById(layer.decalRoadId) then
local drtest = scenetree.findObjectById(layer.decalRoadId)
if not layer.decalRoadId or not scenetree.findObjectById(layer.decalRoadId) then
local drtest = scenetree.findObjectById(layer.decalRoadId)
if not drtest or drtest:getClassName() ~= "DecalRoad" then -- Even if there is an id, we need to ensure it is a decal road object.
-- Update the properties of the decal road object.
local dRoad = scenetree.findObjectById(layer.decalRoadId)
dRoad:setField("textureLength", 0, layer.texLen)