GE Lua Documentation

Press F to search!

getCouplerOffset

Definition


-- @/lua/ge/extensions/core/vehicles.lua:1425

local function getCouplerOffset(vehId, couplerTag)
  local veh = getObjectByID(vehId)
  if not veh then return end

  local vdata = core_vehicle_manager.getVehicleData(vehId).vdata
  if not vdata.nodes then return end

  local couplerCache = M.vehsCouplerCache[vehId]

  local refPos = vdata.nodes[vdata.refNodes[0].ref].pos
  local couplerOffset = {}
  for _, c in pairs(couplerCache) do
    if c.couplerTag == couplerTag or c.tag == couplerTag or couplerTag == "" or not couplerTag then
      local pos = vdata.nodes[c.cid].pos
      couplerOffset[c.cid] = {x = pos.x - refPos.x, y = pos.y - refPos.y, z = pos.z - refPos.z, couplerTag = c.couplerTag, tag = c.tag}
    end
  end

  return couplerOffset
end

Callers

@/lua/vehicle/beamstate.lua

local function getCouplerOffset(couplerTag)
  if not v.data.nodes then
@/lua/vehicle/extensions/gameplayInterfaceModules/interactBeamstate.lua
  local couplerTag = params[1]
  local couplerOffset = beamstate.getCouplerOffset(couplerTag)
  return {result = couplerOffset}
@/lua/ge/extensions/flowgraph/modules/vehicleModule.lua
    -- instantly get the couple offsets
    --veh:queueLuaCommand('beamstate.getCouplerOffset("core_flowgraphManager.getManagerByID('..self.mgr.id..').modules.vehicle:addCouplerOffset(%s,%s)")')
    for tag, _ in pairs(couplerTags) do