# Events, exports, snippets

* Impound vehicle event

  ```lua
  TriggerServerEvent("mester_impoundgaragesImpoundVehicle", plate)
  ```
* Impound vehicle example function

  ```lua
  function GetClosestVehicle()
      local coords = GetEntityCoords(PlayerPedId())
      local vehicles = GetGamePool('CVehicle')
      local closestDistance = -1
      local closestVehicle = nil
      for _, vehicle in ipairs(vehicles) do
          local vehicleCoords = GetEntityCoords(vehicle)
          local distance = #(coords - vehicleCoords)
          if closestDistance == -1 or distance < closestDistance then
              closestDistance = distance
              closestVehicle = vehicle
          end
      end
      return closestVehicle
  end

  function ImpundVehicle()
      local ped = PlayerPedId()
      local VehicleData = GetClosestVehicle()
      local carCoords = GetEntityCoords(VehicleData)
      local carCoords2 = GetEntityCoords(ped)
      local distance = GetDistanceBetweenCoords(carCoords.x, carCoords.y, carCoords.z, carCoords2.x, carCoords2.y, carCoords2.z, true)
      if VehicleData ~= nil then
          if distance < 5.0 then
              TaskStartScenarioInPlace(ped, "WORLD_HUMAN_COP_IDLES", 0, true)
              Citizen.Wait(5000)
              ClearPedTasksImmediately(ped)
              -- No need to check player's job here, because impoundgarages checks is automatically by the Config.lua
              TriggerServerEvent("mester_impoundgaragesImpoundVehicle", GetVehicleNumberPlateText(VehicleData))
              DeleteVehicle(vehicleData)
          end
      end
  end
  ```
