VE Lua Documentation

Press F to search!

getControllersByType

Definition


-- @/lua/vehicle/controller.lua:251

local function getControllersByType(typeName)
  local controllers = {}
  for _, c in pairs(loadedControllers) do
    if c.typeName == typeName then
      table.insert(controllers, c)
    elseif relocatedControllers[typeName] and relocatedControllers[typeName] == c.typeName and not c.hasCustomName then --check if we have a relocated controller that matches
      log("D", "controller.getControllersByType", string.format("Using relocated controller type '%s' instead of original '%s'.", relocatedControllers[typeName], typeName))
      table.insert(controllers, c)
    end
  end
  return controllers
end

Callers

@/lua/vehicle/extensions/escMeasurement.lua

  local CMUControllers = controller.getControllersByType("drivingDynamics/CMU")
  if not CMUControllers or #CMUControllers == 0 or #CMUControllers > 1 then

  local CMUControllers = controller.getControllersByType("drivingDynamics/CMU")
  if not CMUControllers or #CMUControllers == 0 or #CMUControllers > 1 then
@/lua/vehicle/extensions/couplings.lua
local function onBeamstateActivateAutoCoupling()
  local fiftwheels = controller.getControllersByType("couplings/fifthwheel")
  for _, fifthwheel in ipairs(fiftwheels) do
local function onBeamstateDisableAutoLatching()
  local fiftwheels = controller.getControllersByType("couplings/fifthwheel")
  for _, fifthwheel in ipairs(fiftwheels) do
local function onBeamstateDetachCouplers()
  local fiftwheels = controller.getControllersByType("couplings/fifthwheel")
  for _, fifthwheel in ipairs(fiftwheels) do
local function isCouplerAttached()
  local fiftwheels = controller.getControllersByType("couplings/fifthwheel")
  for _, fifthwheel in ipairs(fiftwheels) do
@/lua/vehicle/protocols/outgauge.lua
local function init()
  local shiftLightControllers = controller.getControllersByType("shiftLights")
  hasShiftLights = shiftLightControllers and #shiftLightControllers > 0
@/ui/ui-vue/mockdata/inputBindings.js
                "title": "ui.inputActions.vehicle.toggleDiffMode.title",
                "onDown": "if #controller.getControllersByType('4wd') > 0 then for _,v in pairs(controller.getControllersByType('4wd')) do v.toggleDiffs() return end else powertrain.toggleDefaultDiffs() end",
                "order": 30.1,
                "title": "ui.inputActions.vehicle.toggleDiffMode.title",
                "onDown": "if #controller.getControllersByType('4wd') > 0 then for _,v in pairs(controller.getControllersByType('4wd')) do v.toggleDiffs() return end else powertrain.toggleDefaultDiffs() end",
                "order": 30.1,
                "title": "ui.inputActions.vehicle.toggle4WDStatus.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('4wd')) do v.toggle4WD() end",
                "order": 30.2,
                "title": "ui.inputActions.vehicle.toggleRangeStatus.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('4wd')) do v.toggleRange() end",
                "order": 30.3,
                "title": "ui.inputActions.vehicle.toggleLineLock.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('lineLock')) do v.toggleLineLock() end",
                "order": 32,
                "title": "ui.inputActions.vehicle.overrideNitrousOxide.title",
                "onUp": "for _,v in pairs(controller.getControllersByType('nitrousOxideInjection')) do v.setOverride(false) end",
                "onDown": "for _,v in pairs(controller.getControllersByType('nitrousOxideInjection')) do v.setOverride(true) end",
                "onUp": "for _,v in pairs(controller.getControllersByType('nitrousOxideInjection')) do v.setOverride(false) end",
                "onDown": "for _,v in pairs(controller.getControllersByType('nitrousOxideInjection')) do v.setOverride(true) end",
                "order": 33,
                "title": "ui.inputActions.vehicle.toggleLightbarMode.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('lightbar')) do v.toggleMode() end",
                "order": 37,
                "title": "ui.inputActions.vehicle.toggleNitrousOxide.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('nitrousOxideInjection')) do v.toggleActive() end",
                "order": 34,
                "title": "ui.inputActions.vehicle.toggleTransbrake.title",
                "onDown": "for _,v in pairs(controller.getControllersByType('transbrake')) do v.toggleTransbrake() end",
                "order": 31,
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veTCSDebug.lua
    vEditor.vehicle:queueLuaCommand([[
      local escControllers = controller.getControllersByType("esc")
      local tcsData = (#escControllers >= 1) and escControllers[1].debugData.tcs or nil
@/lua/vehicle/controller/couplings/fifthwheel.lua
  controller.cacheAllControllerFunctions()
  local cmdString = "for _,kingpin in ipairs(controller.getControllersByType('couplings/kingpin')) do kingpin.setKingpinVisibility(%q,%s) end"
  BeamEngine:queueAllObjectLua(string.format(cmdString, fifthwheelKey, visible))
  local kingpinCmd = string.format([[
        local kingpins = controller.getControllersByType("couplings/kingpin")
        for _, kingpin in ipairs(kingpins) do
@/lua/vehicle/extensions/gameplayInterfaceModules/interactMisc.lua
local function latchesOpen()
  for k, v in pairs(controller.getControllersByType("advancedCouplerControl")) do
    v.detachGroup()
local function latchesClose()
  for k, v in pairs(controller.getControllersByType("advancedCouplerControl")) do
    v.tryAttachGroupImpulse()