GE Lua Documentation

Press F to search!

arrestVehicle

Definition


-- @/lua/ge/extensions/gameplay/police.lua:323

local function arrestVehicle(id, showMessages) -- instantly sets a vehicle as arrested
  local veh = gameplay_traffic.getTrafficData()[id]
  if not veh then return end
  -- works as intended if the target vehicle role is 'suspect'

  if showMessages then
    if be:getPlayerVehicleID(0) == id then
      local str = veh.pursuit.mode == 1 and 'ui.traffic.policeTicket' or 'ui.traffic.policeArrest'
      ui_message(str, 4, 'traffic', 'traffic')

      if veh.pursuit.offensesList[1] then
        local offensesTranslated = {}
        for _, v in ipairs(veh.pursuit.offensesList) do
          table.insert(offensesTranslated, translateLanguage(string.format('ui.traffic.infractions.%s', v), v))
        end

        ui_message(string.format('%s %s', translateLanguage('ui.traffic.infractions.title', 'Offenses:'), table.concat(offensesTranslated, ', ')), 5, 'trafficInfractions', 'traffic')
      end
    elseif be:getPlayerVehicleID(0) == veh.role.targetId or policeVehs[be:getPlayerVehicleID(0)] then
      ui_message('ui.traffic.suspectArrest', 5, 'traffic', 'traffic')
    end
  end

  suspectActive = false
  suspectTimerDelay = 60

  extensions.hook('onPursuitAction', id, 'arrest', veh.pursuit)

  local tempIds = {}
  for pid, p in pairs(policeVehs) do
    if p.role.targetId == id then
      table.insert(tempIds, pid)
    end
  end
  setPursuitMode(-1, id, tempIds)
end

Callers

@/lua/ge/extensions/gameplay/police.lua
        if pursuit.timers.arrest >= vars.arrestTime then
          arrestVehicle(id, gameplay_traffic.showMessages)
        end