Configuration
Provider, interaction, security, item, and editable-hook reference.
Configuration
Providers
Config.Framework = 'auto' -- auto | qbox | qb | esx | standalone
Config.Inventory = 'auto' -- auto | ox | qb | esx | custom
Config.Notify = 'auto' -- auto | ox | qbox | qb | esx
Config.Target = 'auto' -- auto | ox | qb
Config.Appearance = 'illenium' -- illenium | custom
Config.Minigame = 'ox_lib' -- ox_lib | at-minigames | your_minigame | none
Config.NotificationTitle = 'Interactions'auto selects the first supported running provider. Use explicit values when multiple compatible resources are running.
Gameplay
Config.PoliceGroups = { 'police' }
Config.Durations = {
PoliceSearch = 5000,
Search = 15000,
PutBagOn = 4000,
TakeBagOff = 4000,
TrimHair = 10000,
}
Config.CuffEscapeChance = 50
Config.RestraintAutoReleaseMinutes = 20Police groups only receive the faster search duration; they do not exclusively own the interactions.
Security
Config.Security = {
InteractionDistance = 4.0,
VehicleDistance = 6.0,
RateLimitMs = 500,
CarryRequestTimeoutMs = 15000,
RequireRestrainedForEscort = true,
RequireRestrainedForVehicle = true,
RequireRestrainedForBag = true,
RequireRestrainedForSearch = false,
}Disabled options and security rules are enforced server-side, not only hidden from target menus.
Interaction toggles
Config.Options = {
Search = true,
Cuff = true,
CuffZipties = true,
UnlockHandcuffs = true,
RemoveZipties = true,
Drag = true,
ReleaseDrag = true,
PutIntoCar = true,
BagOnHead = true,
BagOffHead = true,
Carry = true,
TakeOutOfCar = true,
PutIntoCarFromCarry = true,
PutIntoTrunk = false,
TakeOutOfTrunk = false,
HairTrim = true,
}Items
Config.Items = {
ziptiesItem = 'zipties',
handcuffsItem = 'handcuffs',
bagItem = 'blindfold',
hair_trimmerItem = 'hair_trimmer',
}Custom minigame
Select a name in Config.Minigame, then edit the single function in client_editable.lua:
function PlayInteractionMinigame()
if Config.Minigame == 'ox_lib' then
return lib.skillCheck({ 'medium', 'hard' }, { 'w', 'a', 's', 'd' }) == true
elseif Config.Minigame == 'at-minigames' then
return exports['at-minigames']:Play('skillbar', {
difficulty = 'medium',
}) == true
end
return false
endReturn true only when the restrained player wins and escapes.
Editable hooks
client_editable.lua exposes custom appearance, inventory opening, minigame, phone, progress, carry confirmation, text UI, and medical/death hooks.
server_editable.lua exposes permission checks, interaction logging, restraint lifecycle, medical/death detection, and custom inventory item operations.
