🚭Illicit Sales

⚑ Quick Overview

  • No database required: All logic is handled in memory.

  • Ready-to-use with VORP, including menu and interaction support.

  • All sales, police, and NPC reactions are configurable via config.lua.


🟦 Client Side

πŸ”Œ Export: Protect NPCs from Illicit Sales

Prevent any NPC entity from being used for illicit sales with:

exports.bt_illicitsales:addNPCToBlackList(entity)

βš™οΈ Configuration (config.lua)

Config = {}
Config.DEBUG = false
Config.UseVorpMenu = true -- true -> use VORP MENU/false-> use Warmenu
-- Chance for an NPC to alert authorities, ignore you or to fight you. If alerted, the NPC will run to the AlertPoint defined in Config.TownAllowed.
Config.AlertChance = 5 -- Chance in percent to alert
Config.FightChance = 5 -- Chance in percent to fight
Config.IgnoreChance = 5 -- Chance in percent to ignore
Config.OnlyMaleCanFight = true -- Only male npc ped can fight
Config.CanSellToPoliceNPC = false -- You can sell to Policeman :)
Config.SellKey = keys["U"] -- The key for open sell menu
Config.ShowGuilty = keys["G"] -- The key for show guilty to player who can talk to NPC (Config.PoliceJobs)

-- Define whether illegal sales are restricted to certain hours or allowed all day long.
Config.IllegalSellClock = true -- true -> sells only during the hours defined in Config.IllegalHours / false -> sells all day long
Config.IllegalHours = {
        start = { hour = 20, min = 0 },  -- Start time for illegal sales
        finish = { hour = 23, min = 0 }, -- End time for illegal sales
        timeFormat = '24h' -- Format of the hours: '24h' or '12h'
}
--
-- min Police connected to enable players to sell
Config.MinPolice = 0
-- List of jobs that can talk to NPC to see the guilty
Config.PoliceJobs = {
    "sheriff", -- Sheriff
    "gouv"    -- Government official
}
--
-- List of jobs that are not allowed to engage in illegal sales.
Config.BlackListedJobs = {
    "sheriff", -- Sheriff
    "gouv"    -- Government official
}


-- Pricing for illegal items.
-- Action (animation) : "drink" or "smoke" or "pocket"
Config.IllegalPrice = {
    ["beer"] = { -- item name (from DB items)
        label = "Beer", -- item label
        price = 5, -- item price
        action = "drink", -- animation
        description = "a good and nice beer !" -- description for vorp menu
    },
    -- this content is hidden in the excerpt
}

-- Zones where illegal sales are allowed. Each zone has a type, a name hash, and an alert point for NPCs to run to if they alert authorities.
Config.TownAllowed = {
    ["BlackWater"] = {
        ZoneTypeId = 1,
        ZoneNameHashDec = 1053078005,
        AlertPoint = { x = -755.23, y = -1268.97, z = 44.02 }
    },
    -- this content is hidden in the excerpt
}

πŸ“Œ Notes

  • No database setup required: Items and settings are fully configurable.

  • Flexible: NPC behavior, pricing, police rules, and allowed areas can be tweaked easily.

  • Safe NPCs: You can blacklist any NPC entity from illicit sales via client export.

Last updated