> For the complete documentation index, see [llms.txt](https://nayzeee-dev.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nayzeee-dev.gitbook.io/docs/nayzeee-scripts/nayzeee-carwipe/configuration.md).

# Configuration

<details>

<summary>View Full Config</summary>

```lua
--[[
    ███╗   ██╗ █████╗ ██╗   ██╗███████╗███████╗███████╗███████╗
    ████╗  ██║██╔══██╗╚██╗ ██╔╝╚══███╔╝██╔════╝██╔════╝██╔════╝
    ██╔██╗ ██║███████║ ╚████╔╝   ███╔╝ █████╗  █████╗  █████╗  
    ██║╚██╗██║██╔══██║  ╚██╔╝   ███╔╝  ██╔══╝  ██╔══╝  ██╔══╝  
    ██║ ╚████║██║  ██║   ██║   ███████╗███████╗███████╗███████╗
    ╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚══════╝╚══════╝╚══════╝╚══════╝
                                                                
    ██████╗ ███████╗██╗   ██╗███████╗██╗      ██████╗ ██████╗ ███╗   ███╗███████╗███╗   ██╗████████╗
    ██╔══██╗██╔════╝██║   ██║██╔════╝██║     ██╔═══██╗██╔══██╗████╗ ████║██╔════╝████╗  ██║╚══██╔══╝
    ██║  ██║█████╗  ██║   ██║█████╗  ██║     ██║   ██║██████╔╝██╔████╔██║█████╗  ██╔██╗ ██║   ██║   
    ██║  ██║██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║     ██║   ██║██╔═══╝ ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   
    ██████╔╝███████╗ ╚████╔╝ ███████╗███████╗╚██████╔╝██║     ██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   
    ╚═════╝ ╚══════╝  ╚═══╝  ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝   
                                                                                                      
    NAYZEEE CAR WIPE - 1.1.1
    Discord: discord.gg/nayzeeedev
]]

Config = {}

--[[ 
     ██████╗ ███████╗███╗   ██╗███████╗██████╗  █████╗ ██╗     
    ██╔════╝ ██╔════╝████╗  ██║██╔════╝██╔══██╗██╔══██╗██║     
    ██║  ███╗█████╗  ██╔██╗ ██║█████╗  ██████╔╝███████║██║     
    ██║   ██║██╔══╝  ██║╚██╗██║██╔══╝  ██╔══██╗██╔══██║██║     
    ╚██████╔╝███████╗██║ ╚████║███████╗██║  ██║██║  ██║███████╗
     ╚═════╝ ╚══════╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝
]]

-- Enable debug messages in F8 console (set to true for development)
Config.Debug = false

--[[ 
    ███╗   ██╗ ██████╗ ████████╗██╗███████╗██╗   ██╗
    ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝╚██╗ ██╔╝
    ██╔██╗ ██║██║   ██║   ██║   ██║█████╗   ╚████╔╝ 
    ██║╚██╗██║██║   ██║   ██║   ██║██╔══╝    ╚██╔╝  
    ██║ ╚████║╚██████╔╝   ██║   ██║██║        ██║   
    ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝╚═╝        ╚═╝   
]]

-- Notification System: 'ox_lib', 'esx', 'qb', 'default'
-- ox_lib = ox_lib notifications (recommended)
-- esx = ESX.ShowNotification
-- qb = QBCore.Functions.Notify
-- default = GTA native notifications
Config.NotificationSystem = 'ox_lib'

-- Notification Header (Customizable by server owners)
Config.NotificationHeader = 'NayZeee Carwipe'

--[[ 
     █████╗ ██╗   ██╗████████╗ ██████╗     ██╗    ██╗██╗██████╗ ███████╗
    ██╔══██╗██║   ██║╚══██╔══╝██╔═══██╗    ██║    ██║██║██╔══██╗██╔════╝
    ███████║██║   ██║   ██║   ██║   ██║    ██║ █╗ ██║██║██████╔╝█████╗  
    ██╔══██║██║   ██║   ██║   ██║   ██║    ██║███╗██║██║██╔═══╝ ██╔══╝  
    ██║  ██║╚██████╔╝   ██║   ╚██████╔╝    ╚███╔███╔╝██║██║     ███████╗
    ╚═╝  ╚═╝ ╚═════╝    ╚═╝    ╚═════╝      ╚══╝╚══╝ ╚═╝╚═╝     ╚══════╝
]]

-- Enable automatic scheduled wipes
Config.EnableAutoWipe = true

-- Auto wipe timer in minutes
Config.AutoWipeTimer = 30

-- Minimum vehicles required for auto wipe to trigger
-- Set to 0 to disable this check (always wipe on schedule)
Config.MinimumVehicleThreshold = 15

--[[ 
     ██████╗ ██████╗ ███╗   ███╗███╗   ███╗ █████╗ ███╗   ██╗██████╗ ███████╗
    ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗  ██║██╔══██╗██╔════╝
    ██║     ██║   ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║  ██║███████╗
    ██║     ██║   ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║  ██║╚════██║
    ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║  ██║██║ ╚████║██████╔╝███████║
     ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═════╝ ╚══════╝
]]

-- Command name for manual car wipe
Config.CarWipeCommand = 'carwipe'

-- Allow instant wipe (true = instant option available, false = always use countdown)
Config.AllowInstantWipe = true

-- Default countdown time in seconds (used when no argument provided)
Config.DefaultCountdownTime = 60

-- Countdown announcement times (in seconds)
-- Notifications will be sent at these intervals before wipe
Config.CountdownTimes = {
    180, -- 3 Minutes
    120, -- 2 Minutes
    60,  -- 1 Minute
    30,  -- 30 Seconds
    10,  -- 10 Seconds
    5,   -- 5 Seconds
    4,   -- 4 Seconds
    3,   -- 3 Seconds
    2,   -- 2 Seconds
    1    -- 1 Second
}

--[[ 
    ██████╗  █████╗ ██████╗ ██╗██╗   ██╗███████╗    ██╗    ██╗██╗██████╗ ███████╗
    ██╔══██╗██╔══██╗██╔══██╗██║██║   ██║██╔════╝    ██║    ██║██║██╔══██╗██╔════╝
    ██████╔╝███████║██║  ██║██║██║   ██║███████╗    ██║ █╗ ██║██║██████╔╝█████╗  
    ██╔══██╗██╔══██║██║  ██║██║██║   ██║╚════██║    ██║███╗██║██║██╔═══╝ ██╔══╝  
    ██║  ██║██║  ██║██████╔╝██║╚██████╔╝███████║    ╚███╔███╔╝██║██║     ███████╗
    ╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝ ╚═╝ ╚═════╝ ╚══════╝     ╚══╝╚══╝ ╚═╝╚═╝     ╚══════╝
]]

-- Command: /carwipe radius [distance]
-- Enables admins to wipe vehicles only within a certain radius

-- Default radius in meters (when no distance specified)
Config.DefaultWipeRadius = 50.0

-- Maximum allowed radius (prevents server-wide radius wipes)
Config.MaxWipeRadius = 200.0

--[[ 
    ██╗    ██╗██╗  ██╗██╗████████╗███████╗██╗     ██╗███████╗████████╗
    ██║    ██║██║  ██║██║╚══██╔══╝██╔════╝██║     ██║██╔════╝╚══██╔══╝
    ██║ █╗ ██║███████║██║   ██║   █████╗  ██║     ██║███████╗   ██║   
    ██║███╗██║██╔══██║██║   ██║   ██╔══╝  ██║     ██║╚════██║   ██║   
    ╚███╔███╔╝██║  ██║██║   ██║   ███████╗███████╗██║███████║   ██║   
     ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝   ╚═╝   ╚══════╝╚══════╝╚═╝╚══════╝   ╚═╝   
]]

-- Vehicles that will NOT be deleted during car wipe (by model name)
Config.WhitelistedVehicles = {
    -- Emergency Vehicles
    ['police'] = true,
    ['police2'] = true,
    ['police3'] = true,
    ['police4'] = true,
    ['policeb'] = true,
    ['policet'] = true,
    ['sheriff'] = true,
    ['sheriff2'] = true,
    ['ambulance'] = true,
    ['firetruk'] = true,
    ['lguard'] = true,
    ['fbi'] = true,
    ['fbi2'] = true,
    ['polmav'] = true,
    
    -- Add more whitelisted vehicles below
    -- ['vehiclename'] = true,
}

--[[ 
    ███████╗ █████╗ ██╗   ██╗███████╗    ███╗   ███╗██╗   ██╗     ██████╗ █████╗ ██████╗ 
    ██╔════╝██╔══██╗██║   ██║██╔════╝    ████╗ ████║╚██╗ ██╔╝    ██╔════╝██╔══██╗██╔══██╗
    ███████╗███████║██║   ██║█████╗      ██╔████╔██║ ╚████╔╝     ██║     ███████║██████╔╝
    ╚════██║██╔══██║╚██╗ ██╔╝██╔══╝      ██║╚██╔╝██║  ╚██╔╝      ██║     ██╔══██║██╔══██╗
    ███████║██║  ██║ ╚████╔╝ ███████╗    ██║ ╚═╝ ██║   ██║       ╚██████╗██║  ██║██║  ██║
    ╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝    ╚═╝     ╚═╝   ╚═╝        ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝
]]

-- Allow players to protect their vehicle from the next wipe
Config.EnableSaveMyCar = true

-- Command name for players to save their car
Config.SaveMyCarCommand = 'savemycar'

-- How many times a player can save their car per wipe cycle
-- Resets after each wipe
Config.SaveMyCarUsesPerCycle = 1

-- Cooldown between uses in seconds (0 = no cooldown)
Config.SaveMyCarCooldown = 300

--[[ 
    ██████╗ ██╗      █████╗ ██╗   ██╗███████╗██████╗     ██████╗ ██████╗ ████████╗ ██████╗ ██╗   ██╗████████╗
    ██╔══██╗██║     ██╔══██╗╚██╗ ██╔╝██╔════╝██╔══██╗   ██╔═══██╗██╔══██╗╚══██╔══╝██╔═══██╗██║   ██║╚══██╔══╝
    ██████╔╝██║     ███████║ ╚████╔╝ █████╗  ██████╔╝   ██║   ██║██████╔╝   ██║   ██║   ██║██║   ██║   ██║   
    ██╔═══╝ ██║     ██╔══██║  ╚██╔╝  ██╔══╝  ██╔══██╗   ██║   ██║██╔═══╝    ██║   ██║   ██║██║   ██║   ██║   
    ██║     ███████╗██║  ██║   ██║   ███████╗██║  ██║   ╚██████╔╝██║        ██║   ╚██████╔╝╚██████╔╝   ██║   
    ╚═╝     ╚══════╝╚═╝  ╚═╝   ╚═╝   ╚══════╝╚═╝  ╚═╝    ╚═════╝ ╚═╝        ╚═╝    ╚═════╝  ╚═════╝    ╚═╝   
]]

-- Allow players to toggle wipe notifications on/off
Config.EnableNotificationOptOut = true

-- Command for players to toggle notifications
Config.ToggleNotificationsCommand = 'wipenotify'

-- Default state for new players (true = receive notifications)
Config.DefaultNotificationsEnabled = true

--[[ 
     █████╗ ██████╗ ███╗   ███╗██╗███╗   ██╗
    ██╔══██╗██╔══██╗████╗ ████║██║████╗  ██║
    ███████║██║  ██║██╔████╔██║██║██╔██╗ ██║
    ██╔══██║██║  ██║██║╚██╔╝██║██║██║╚██╗██║
    ██║  ██║██████╔╝██║ ╚═╝ ██║██║██║ ╚████║
    ╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝
]]

-- Pause/Resume auto wipes command
Config.PauseWipesCommand = 'pausewipes'

-- Skip next scheduled wipe command
Config.SkipWipeCommand = 'skipwipe'

-- Count vehicles command
Config.CountCarsCommand = 'countcars'

-- Supported admin groups across QBCore, ESX, and ACE
Config.AdminGroups = {
    'god',        
    'admin',       
    'mod',         
    'superadmin',  
    'dev'          
}

-- ACE permission for carwipe (players with this ACE can use admin commands)
Config.AcePermission = 'carwipe.admin'

--[[ 
    ██╗    ██╗███████╗██████╗ ██╗  ██╗ ██████╗  ██████╗ ██╗  ██╗
    ██║    ██║██╔════╝██╔══██╗██║  ██║██╔═══██╗██╔═══██╗██║ ██╔╝
    ██║ █╗ ██║█████╗  ██████╔╝███████║██║   ██║██║   ██║█████╔╝ 
    ██║███╗██║██╔══╝  ██╔══██╗██╔══██║██║   ██║██║   ██║██╔═██╗ 
    ╚███╔███╔╝███████╗██████╔╝██║  ██║╚██████╔╝╚██████╔╝██║  ██╗
     ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝
]]

-- Enable Discord webhook logging
Config.EnableDiscordLogs = false

-- Discord Webhook URL (create one in your Discord server settings)
Config.DiscordWebhook = ''

-- Webhook display name
Config.DiscordBotName = 'NayZeee Carwipe'

-- Webhook avatar URL (optional, leave empty for default)
Config.DiscordBotAvatar = ''

-- Embed color (decimal format, blue = 3447003)
Config.DiscordEmbedColor = 3447003

-- What to log
Config.DiscordLogEvents = {
    AutoWipe = true,           -- Log scheduled auto wipes
    ManualWipe = true,         -- Log admin manual wipes
    RadiusWipe = true,         -- Log radius wipes
    WipePaused = true,         -- Log when wipes are paused/resumed
    WipeSkipped = true,        -- Log when a wipe is skipped
    SaveMyCar = true,          -- Log when players save their car
}

--[[ 
    ███╗   ███╗███████╗███████╗███████╗ █████╗  ██████╗ ███████╗███████╗
    ████╗ ████║██╔════╝██╔════╝██╔════╝██╔══██╗██╔════╝ ██╔════╝██╔════╝
    ██╔████╔██║█████╗  ███████╗███████╗███████║██║  ███╗█████╗  ███████╗
    ██║╚██╔╝██║██╔══╝  ╚════██║╚════██║██╔══██║██║   ██║██╔══╝  ╚════██║
    ██║ ╚═╝ ██║███████╗███████║███████║██║  ██║╚██████╔╝███████╗███████║
    ╚═╝     ╚═╝╚══════╝╚══════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝
]]

Config.Messages = {
    -- Countdown messages
    CountdownMinutes = 'Vehicle wipe in %d minute(s)!',
    CountdownSeconds = 'Vehicle wipe in %d second(s)!',
    
    -- Wipe complete messages
    WipeComplete = 'Vehicle wipe complete! %d vehicles removed.',
    WipeCompleteGlobal = 'All inactive vehicles have been deleted.',
    
    -- Admin messages
    NoPermission = 'You don\'t have permission to use this command.',
    WipesPaused = 'Auto wipes have been PAUSED.',
    WipesResumed = 'Auto wipes have been RESUMED.',
    WipeSkipped = 'Next scheduled wipe has been SKIPPED.',
    NoWipeToSkip = 'No scheduled wipe to skip.',
    WipesAlreadyPaused = 'Wipes are already paused.',
    WipesNotPaused = 'Wipes are not currently paused.',
    
    -- Radius wipe messages
    RadiusWipeComplete = 'Radius wipe complete! %d vehicles removed within %dm.',
    InvalidRadius = 'Invalid radius. Use: /%s radius [distance]',
    RadiusTooLarge = 'Maximum radius is %dm.',
    
    -- SaveMyCar messages
    CarSaved = 'Your vehicle has been protected from the next wipe!',
    CarAlreadySaved = 'This vehicle is already protected.',
    NotInVehicle = 'You must be in a vehicle to use this command.',
    NoUsesLeft = 'You have no saves left this cycle. (Resets after wipe)',
    OnCooldown = 'Please wait %d seconds before using this again.',
    
    -- Notification toggle messages
    NotificationsEnabled = 'Wipe notifications ENABLED.',
    NotificationsDisabled = 'Wipe notifications DISABLED.',
    
    -- Vehicle count message
    VehicleCount = 'Vehicles - Total: %d | Occupied: %d | Empty: %d | Protected: %d',
    
    -- Threshold message
    ThresholdNotMet = 'Auto wipe skipped. Only %d vehicles (minimum: %d).',
}

```

</details>
