> For the complete documentation index, see [llms.txt](https://yevas-development.gitbook.io/yeva/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yevas-development.gitbook.io/yeva/paid-resources/police-impound/configuration.md).

# Configuration

### Notify

```lua
function core.notify(text, type)
    -- add your custom notification script
end
```

### Vehicle Key

```lua
function core.setVehicleKey(plate)
    -- add your vehicle script here
end
```

### Exports

```lua
exports['yeva_impound']:openimpmenu()
```

## Add More Vehicles

```lua
vehlist = {
    { model = 'blista', name = 'Blista', category = 'compacts', type = 'automobile' }
}
```

## Add More Location

```lua
-- location id
lsCar = {
        -- Blip settings for the impound location (used on map)
        blip = {
            use = true,
            label = 'LS Impound',
            color = 63,
            sprite = 67,
            scale = 0.8
        },

        -- Zone information for this impound location
        zone = {
            title = 'Title',
            description = 'Description',
            label = 'Label',
            catlabel = 'Sub Label',
            category = config.vehicleclass['car'],
            text = 'Text UI Label',
            dist = 2.0,
            take = vector3(847.37, -1315.39, 26.46),
            fine = 50, -- return fine
            spawn = {
                vector4(844.61, -1340.83, 25.8, 245.06)
            }
        }
    },
```

## Config

{% tabs %}
{% tab title="config.lua" %}

```lua
config = {}

config.debug = false
config.framework = 'esx' -- esx or qb

config.impound = {
    -- impound zone radius
    radius = 4.0,
    -- no charge will be applied to the officer
    nocost = false,
    -- player is in the vehicle when it spawns
    invehicle = false,
    -- set vehicle key and add on utils.lua
    vehkey = false,
    -- vehicle damage includes doors, tires, and windows
    -- you don't need this config if are using a lastet framework
    vehdamage = false,
    -- allow exports for functionality
    useexports = false,
    -- allow the command to be used
    usecommand = true,
    -- command used for impounding vehicles
    command = 'impound',
    -- officer dutty is required
    countrequire = false,
    -- job dutty required
    jobrequire = 'police',
    -- minimum number of required jobs
    minrequire = 1
}

-- Configuration for target interaction (such as for ox_target or similar systems)
config.target = {
    use = true,
    label = 'Impound',
    model = 'ox', -- ox or qb
    icon = 'fas fa-car-alt',
    dist = 2.0,
    bones = {
        'door_dside_f',
        'door_dside_r',
        'door_pside_f',
        'door_pside_r',
        'seat_pside_r',
        'seat_dside_r'
    }
}

-- Duration options (in hours) for impoundment
config.duration = {
    2, 4, 6, 8, 10, 12, 14, 16, 18, 20
}

-- Classification of vehicle types based on in-game vehicle classes
config.vehicleclass = {
    -- Any vehicle class (includes all classes)
    any = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 },
    -- Classes representing cars (excluding trucks, airplanes, etc)
    car = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 18, 22 },
    -- Classes representing trucks or rigs
    rig = { 10, 11, 17, 19, 20 },
    -- Classes representing aircraft
    air = { 15, 16 },
    -- Classes representing boats and other watercraft
    sea = { 14 }
}

-- Permission settings for who can access the impound system
config.permission = {
    police = true,
    mechanic = false,
    --sherif = false
}

-- Database configuration for storing vehicle and impound information
-- Adjust the column name if you have different names
config.database = {
    table = 'owned_vehicles', -- owned_vehicles or player_vehicles
    column = 'impound', -- vehicle impound
    state = 'stored', -- stored or state
    props = 'vehicle', -- vehicle or mods
    player = 'owner' -- owner or citizenid
}

-- This configuration is used to determine if the impounded vehicle remains visible in the public/private garage and public impound
-- This configuration is useful if you have a similar script like the latest esx_garage or qb-garages or etc
-- Set to false if you don't need this configuration
config.checking = {
    havegarage = true, -- enable this if you want to set the garage column to NULL when the vehicle is impounded
    garage = 'parking', -- garage column name
    setgarage = 'LosSantos',

    poundpublic = false, -- enable this if you have a specific public impound
    public = 'pound', -- public impound column name
    setname = 'LosSantos' -- set the name for the public impound
}

-- Vehicle state configuration (for use in the database)
-- Adjust the column name if you have different number
config.state = {
    vehout = 0, -- store to public impound
    vehin = 1, -- return vehicle to garage
    impound = 2 -- store to police impound
}

-- Configuration for different impound locations (this one is for Los Santos)
config.location = {
    lsCar = {
        -- Blip settings for the impound location (used on map)
        blip = {
            use = true,
            label = 'LS Impound',
            color = 63,
            sprite = 67,
            scale = 0.8
        },

        -- Zone information for this impound location
        zone = {
            title = 'Impound',
            description = 'Police impound is the seizure and storage of vehicles for legal violations or unpaid fines.',
            label = 'Los Santos',
            catlabel = 'Car & Motorcycle',
            category = config.vehicleclass['car'],
            text = 'Check Impound',
            dist = 2.0,
            take = vector3(847.37, -1315.39, 26.46),
            fine = 50, -- return fine
            spawn = {
                vector4(844.61, -1340.83, 25.8, 245.06)
            }
        }
    },

    lsBoat = {
        -- Blip settings for the impound location (used on map)
		blip = {
			use = true,
			label = 'LS Boat Impound',
			color = 5,
			sprite = 410,
			scale = 0.8
		},

        -- Zone information for this impound location
		zone = {
			title = 'Boat Impound',
			description = 'Police impound is the seizure and storage of vehicles for legal violations or unpaid fines.',
			label = 'Los Santos',
			catlabel = 'Boats',
			category = config.vehicleclass['sea'],
			text = 'Check Impound',
			dist = 2.0,
			take = vector3(-712.8395, -1298.466, 5.101923),
			fine = 50, -- return fine
			spawn = {
				vector4(-714.8527, -1335.211, 0.3856759, 143.9128)
			}
		}
	}
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yevas-development.gitbook.io/yeva/paid-resources/police-impound/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
