Config Files
The script is fully configurable, enabling you to tailor its behavior and features to your needs. Below is a list of the configuration files included in the resource.
--[[
Thank you for purchasing from iZAAP STUDIOS
Documentation: https://izaap-studios.gitbook.io/izaap-studios
Need support? Join our official Discord: https://discord.gg/kNC9HJeskV
Configure the values below according to your server.
]]
----------------------------------------
-- Core / Framework
----------------------------------------
Config = {}
-- Framework in use: 'qb' or 'esx'
Config.Framework = 'qb'
----------------------------------------
-- Notifications (Configurable)
----------------------------------------
Config.Notify = {
-- Escape messages
PedEscapeText = "You can't escape your punishment...",
CleanEscapeText = "You can't escape the cleaning punishment...",
-- Other messages
NoPermissionText = "You don't have permission to use this command.",
NoReloadSkinText = "You can't use this command while punished.",
SweepCooldownText = "Wait 5 seconds between sweeps.",
CommandBlockedText = "You can't use that command while punished.",
-- Notify type (qb: 'error'/'success'/'primary', esx ignores type)
Type = "error",
-- Anti-spam cooldown (ms). Example: 5000 = max 1 notification every 5 seconds
Cooldown = 5000
}
----------------------------------------
-- Commands
----------------------------------------
-- Command to open the admin punishment panel
Config.AdminCommand = 'panel'
----------------------------------------
-- Command Blocking (while punished)
-- Notes:
-- - These are command names WITHOUT "/" (e.g. "inventory", "phone", "reloadskin")
-- - Applies only to commands registered through the protected wrapper in this resource.
----------------------------------------
Config.BlockedCommands = {
-- Blocked during PED punishment (isBanned and NOT cleaning)
Ped = {
"reloadskin"
-- Add more here, example:
-- "me",
-- "ooc",
-- "tweet"
},
-- Blocked during Cleaning punishment (isCleaning)
Clean = {
"reloadskin"
-- Add more here if needed
}
}
----------------------------------------
-- PED Punishment Settings
----------------------------------------
-- PED model used for punishment
Config.BanPedModel = 'a_c_pug'
-- Coordinates where PED-punished players are sent
Config.BanCoords = vector4(-427.8036, 1123.9847, 325.8543, 108.6573)
-- 3D text displayed above punished players (only when nearby)
Config.PunishText = "~r~I misbehaved :("
-- Logo shown in the punishment UI (direct image URL)
Config.BanLogoURL = 'https://r2.fivemanage.com/O7HR68Vs2I3U6tSAHnKJU/logo-izaap.png'
-- Remove entire inventory when punished (true = yes, false = no)
Config.ClearInventoryOnPunish = false
-- If true: player can move during PED punishment (still locked to the radius)
-- If false: player is fully frozen (default behavior)
Config.PedBanAllowMovement = false
-- Max allowed radius around BanCoords (in meters)
Config.PedBanRadius = 5.0
----------------------------------------
-- Cleaning Punishment: General Settings
----------------------------------------
-- Exit location after cleaning punishment ends or is manually removed
Config.CleanExit = vector4(-511.3666, -966.3117, 23.5697, 71.5098)
-- Maximum allowed radius around the spawn point of the cleaning location
Config.CleanLockRadius = 45.0
-- Default cleaning location key if none is specified
-- (Keep the ID names if your panel/server uses them)
Config.DefaultCleanLocation = 'barco'
----------------------------------------
-- Cleaning Punishment: Custom Points (Garage only by default)
-- You can freely modify these vectors if you use a custom mapped area.
----------------------------------------
Config.CleanPoints = {}
Config.CleanPoints.garage = {
vector3(209.9678, -904.3438, 30.6954),
vector3(218.8494, -891.7487, 30.7570),
vector3(231.6635, -892.5304, 30.6920),
vector3(237.9444, -881.9534, 30.4951),
vector3(224.0916, -857.8337, 30.1331),
vector3(227.7316, -867.5107, 30.4695),
vector3(222.1317, -883.8396, 30.4921),
vector3(219.0321, -866.2469, 30.7221),
vector3(227.8282, -899.8823, 30.8646),
vector3(208.6366, -914.4272, 30.6924),
vector3(204.8481, -904.3099, 31.0975),
vector3(186.5199, -891.9644, 31.1167)
}
----------------------------------------
-- Cleaning Punishment: Locations (fully configurable)
-- key : identifier sent from panel/server (e.g., "barco", "garage")
-- label : pretty name shown in UI/logs
-- spawn : vector4(x, y, z, w) where the player spawns for cleaning
-- points: table of vector3() used as cleaning targets
----------------------------------------
Config.CleanLocations = {
barco = {
label = "Ship",
spawn = vector4(-1392.4845, 6743.6299, 11.9807, 291.6497),
points = {
vector3(-1392.9098, 6742.0093, 11.9819), vector3(-1387.0553, 6744.4287, 11.9804),
vector3(-1382.3003, 6742.9995, 8.9715), vector3(-1388.7959, 6740.8062, 8.9715),
vector3(-1399.3112, 6746.9893, 11.9076), vector3(-1401.4144, 6742.6572, 11.9076),
vector3(-1392.9626, 6741.2837, 11.9496), vector3(-1390.6560, 6749.5449, 11.9131),
vector3(-1387.2205, 6739.0171, 8.9715), vector3(-1388.3867, 6744.8193, 8.9715),
vector3(-1390.1150, 6749.2783, 11.9076), vector3(-1387.8693, 6745.4976, 11.9807)
}
},
garage = {
label = "Garage",
spawn = vector4(200.6078, -899.7336, 31.1206, 54.9348),
points = Config.CleanPoints.garage
},
prision = {
label = "Prison",
spawn = vector4(1761.3434, 2489.3982, 45.8449, 125.9976),
points = {
vector3(1758.2224, 2483.2534, 45.8473), vector3(1757.7632, 2493.6379, 45.8446),
vector3(1744.4055, 2481.8389, 45.8455), vector3(1776.8232, 2496.1641, 45.8477),
vector3(1766.3768, 2494.1265, 49.2358), vector3(1773.7792, 2489.5583, 49.2436),
vector3(1761.6102, 2482.2244, 49.2765), vector3(1754.2357, 2486.3728, 49.2364),
vector3(1740.7302, 2478.0225, 45.8463), vector3(1757.7570, 2475.0146, 45.8519),
vector3(1758.2618, 2500.5354, 45.8459), vector3(1769.5677, 2483.8606, 45.8488)
}
}
}
----------------------------------------
-- Skin Reload System (after punishment ends)
-- Options:
-- 'illenium' -> triggers: 'illenium-appearance:client:reloadSkin'
-- 'qb' -> triggers: 'qb-clothing:client:loadPlayerClothing'
-- 'esx_skin' -> uses skinchanger to apply DB-stored skin
-- This script calls ReloadPlayerSkin() when a punishment ends.
-- You can customize how skins/clothing are reloaded by editing:
-- - integrations/client/reloadskin.lua
-- - integrations/server/reloadskin.lua
----------------------------------------
Config.ReloadSkinType = 'qb' -- change based on your clothing system
----------------------------------------
-- Cleaning Outfits
----------------------------------------
-- Male cleaning outfit
Config.CleaningOutfitMale = {
tshirt_1 = 15, tshirt_2 = 0,
torso_1 = 363, torso_2 = 0,
arms = 1,
pants_1 = 134, pants_2 = 0,
shoes_1 = 12, shoes_2 = 0,
}
-- Female cleaning outfit
Config.FemaleCleaningOutfit = {
tshirt_1 = 14, tshirt_2 = 0,
torso_1 = 59, torso_2 = 0,
arms = 2,
pants_1 = 35, pants_2 = 0,
shoes_1 = 10, shoes_2 = 0
}
----------------------------------------
-- Discord Logging (Embeds)
-- Placeholders: {staffName}, {staffDiscord}, {targetName}, {targetDiscord}, {reason}, {duration}, {sweeps}, {type}
----------------------------------------
Config.LogTitles = {
PedPunishment = "PED Punishment Applied",
CleanPunishment = "Cleaning Punishment Applied",
PedUnpunish = "PED Punishment Removed",
CleanUnpunish = "Cleaning Punishment Removed"
}
Config.LogTemplates = {
PedPunishment = "**Staff:** {staffName} ({staffDiscord})\n**Player:** {targetName} ({targetDiscord})\n**Reason:** {reason}\n**Duration:** {duration} seconds\n**Type:** PED",
CleanPunishment = "**Staff:** {staffName} ({staffDiscord})\n**Player:** {targetName} ({targetDiscord})\n**Reason:** {reason}\n**Sweeps:** {sweeps}\n**Type:** CLEANING",
PedUnpunish = "**Staff:** {staffName} ({staffDiscord})\n**Player:** {targetName} ({targetDiscord})\n**Type:** PED",
CleanUnpunish = "**Staff:** {staffName} ({staffDiscord})\n**Player:** {targetName} ({targetDiscord})\n**Type:** CLEANING"
}
Last updated