Lusty94
Tebex StoreSupport DiscordGitHubCFX Profile
  • 👋 Lusty94 Scripts
  • 💵Store Discounts
  • 📥 Script Installation
  • 🤝Supported Scripts
  • 📜Paid Resouces
    • 🍻Bars
      • 🔧Changelogs
      • 💼 Jobs
      • 📦Stashes
      • 👁️Blips
      • 🧩Props
      • 👆Interaction Locations
      • 📸CCTV
      • 🍳Recipes
      • 📬Supplies
      • 🥦Ingredients
    • 🍁Weed Shops
      • 🔧Changelogs
      • 💼 Jobs
      • 📦Stashes
      • 👁️Blips
      • 🧩Props
      • 👆Interaction Locations
      • 🍃Picking
      • 📸CCTV
      • 🍳Recipes
      • 📬Supplies
      • 🥦Ingredients
      • 🚬Consumables
    • 💲Money Wash
    • 💰Pawn Shop
      • 🔧Changelogs
      • 🛒Pawnshop Locations
    • 📲Drug Sales
      • 🔧Changelogs
      • 📲Selling
      • 💻Default Configuration
    • 🚗Chop Shop
      • 🔧Changelogs
      • 📅SQL
      • 🗣️Commands
      • 📋Reputation
      • 💰Selling
      • 🚗Chop Shops
      • 💻Default Configuration
    • 🚗Rental
    • 🚙Towing
    • 🍲Restaurants
    • 💊Drugs
    • 🍁Weed
  • 📜Free Resources
    • 🛒Shops
      • 🔧Changelogs
      • 🛒Adding Shops
      • 🪛Configuration
    • 🖥️Boss Menu
      • 🔧Changelogs
      • 💻Adding Job Locations
Powered by GitBook
On this page
  1. Paid Resouces
  2. Drug Sales

Selling

Cooldown

  • A cooldown in seconds is set to prevent players from exploits and abuse with sales

  • This adds a short delay before players are able to sell again once a transaction has been completed

  • Don't set this value too high, 5 seems reasonable

Cooldown = 5, -- seconds between each sell attempt

Cash Symbol

  • The cash symbol used in your server

CashSymbol = '$', -- cash symbol used in your server

Required Item

  • You can set an item to be required in order to start selling

  • If RequiredItemis set to true you must define the item name in RequiredItemName

  • The RequiredItemName becomes a useable item giving players the option to use the item instead of the chat command

RequiredItem = true, -- set to true to require an item to start selling
RequiredItemName = 'burnerphone', -- if RequiresItem is set to true define the item name required to start selling here

Sell Anywhere

  • Setting SellAnywhereto true will skip the zone checks when players toggle selling drugs and allows them to sell to locals anywhere instead of specific zones

  • If you want to restrict players to selling in zones only then set SellAnywhere to false and then define your zones in the Zones table - This is covered in more detail below!

SellAnywhere = true, -- if set to true allow players to sell anywhere - if set to false they must be inside the zones specified below

Commands

  • These are string values to start and stop selling

  • You can set these to whatever you wish and then type them in chat

Commands = {
    Start = 'startselling', -- command used to start selling which adds target option to peds to offer items for sale
    Stop = 'stopselling', -- command used to stop selling which removes target option from peds
},

Target Settings

  • Define target settings for the peds when selling

  • When setting the maximum target distance please bare in mind the value you set for MaxDistance in Config.CoreSettings.Security to prevent false kicks

Target = {
    Icon = 'fa-solid fa-syringe', -- target icon
    Label = 'Offer Drugs', -- target label
    Distance = 2.0, -- target distance (do not set this higher than the value you set in Config.CoreSettings.Security.MaxDistance)
},

Payment Types

  • You can choose between a clean cash payment or an item (like dirty cash for example)

  • If you are using 'item' then make sure you define the item name correctly and ensure it is in your items.lua file

  • ox_inventory users wanting clean cash leave the payment type as 'cash' - this is due to ox_inventory handling money as an item instead

Payment = {
    Type = 'cash', -- payment type either 'cash' or 'item' - ox_inventory users leave this as cash, the function gives an item anyway as ox_inventory handles money as an item
    Item = {
        name = 'dirtycash', --if using an item as payment define that item name here
    },
},

Chances

  • Define chances for accepted sales and a police notification for rejected sales

Chances = {
    Selling = 75, -- chance for a successful sale - if not it gets rejected for 'crap quality' - default is 75% 
    Police = 50, -- chance to call the police if the sale is rejected - default is 50%
},

Ped Models

  • Define ped models that will spawn and interact with the player when toggling selling

PedModels = { --name of ped models to spawn around the player when sellings
    'a_m_m_business_01',
    'a_m_y_stwhi_02',
    'a_f_y_hipster_01',
    'a_m_y_downtown_01',
    'a_f_m_tourist_01'
},

Items

  • Define items available for sale

  • Set minimum and maximum quantities that a ped can request to buy at once

  • Set minimum and maximum prices that a ped will pay for that item

Items = {
    ['coke_baggy'] = { --the key is the item name available to sell
        quantity = { min = 1, max = 6, }, -- min and max amount of this item that can be sold at once
        prices = { min = 100, max = 250, }, -- min and max price for this item
    },
    ['crack_baggy'] = { --the key is the item name available to sell
        quantity = { min = 1, max = 4, }, -- min and max amount of this item that can be sold at once
        prices = { min = 300, max = 500, }, -- min and max price for this item
    },
    ['blue_methbaggy'] = { --the key is the item name available to sell
        quantity = { min = 3, max = 7, }, -- min and max amount of this item that can be sold at once
        prices = { min = 200, max = 450, }, -- min and max price for this item
    },
    --add more sellable items below as required using the template above
},

Zones

  • If SellAnywhere is set to false then you must define zones that players can toggle selling inside

  • the key is the zone name

  • the info table is for debugging purposes - setting the zone thickness and debug values

  • The points table is for coordinates of where your zone will be - these MUST be vec3 values

Zones = {
    ['grove_street'] = { -- the key is the zone name
        info = { -- zone settings
            thickness = 20, -- thickness of zone
            debug = true, -- toggle debug for this specific zone
        },
        points = { -- define points for zone location must be vec3
            vec3(251.0, -1860.0, 27.0),
            vec3(139.0, -1997.0, 27.0),
            vec3(132.0, -2025.0, 27.0),
            vec3(91.0, -2023.0, 27.0),
            vec3(-151.0, -1788.0, 27.0),
            vec3(-110.0, -1751.0, 27.0),
            vec3(42.0, -1688.0, 27.0),
            vec3(60.0, -1699.0, 27.0),
        },
    },
    ['vinewood'] = { -- the key is the zone name
        info = { -- zone settings
            thickness = 20, -- thickness of zone
            debug = true, -- toggle debug for this specific zone
        },
        points = { -- define points for zone location must be vec3
            vec3(-663.80639648438, 114.2766418457, 97.0),
            vec3(-660.09497070312, 299.65426635742, 97.0),
            vec3(-546.58837890625, 275.86111450196, 97.0),
            vec3(-542.21002197266, 357.8136291504, 97.0),
            vec3(-519.6430053711, 349.90490722656, 97.0),
            vec3(-512.67572021484, 276.3483581543, 97.0),
            vec3(21.216751098632, 278.6813659668, 97.0),
            vec3(49.785594940186, 339.29946899414, 97.0),
            vec3(108.84923553466, 399.87518310546, 97.0),
            vec3(124.068069458, 384.4684753418, 97.0),
            vec3(92.195236206054, 354.55239868164, 97.0),
            vec3(170.3550567627, 377.32186889648, 97.0),
            vec3(841.11456298828, 199.74020385742, 97.0),
            vec3(530.7640991211, -193.10136413574, 97.0)
        },
    },
    ['forum_drive'] = { -- the key is the zone name
        info = { -- zone settings
            thickness = 20, -- thickness of zone
            debug = true, -- toggle debug for this specific zone
        },
        points = { -- define points for zone location must be vec3
            vec3(-181.78276062012, -1767.562133789, 32.0),
            vec3(-232.15049743652, -1728.5841064454, 32.0),
            vec3(-257.00219726562, -1706.3781738282, 32.0),
            vec3(-316.23831176758, -1670.7681884766, 32.0),
            vec3(-317.6089477539, -1671.6815185546, 32.0),
            vec3(-339.08483886718, -1659.1655273438, 32.0),
            vec3(-345.54052734375, -1655.4389648438, 32.0),
            vec3(-370.05755615234, -1640.6751708984, 32.0),
            vec3(-357.4814453125, -1617.630859375, 32.0),
            vec3(-344.98095703125, -1605.980834961, 32.0),
            vec3(-308.92208862304, -1544.8927001954, 32.0),
            vec3(-304.6683959961, -1535.6296386718, 32.0),
            vec3(-307.36282348632, -1531.2420654296, 32.0),
            vec3(-303.91906738282, -1514.8071289062, 32.0),
            vec3(-302.4489440918, -1508.5216064454, 32.0),
            vec3(-299.51068115234, -1489.9995117188, 32.0),
            vec3(-297.42388916016, -1452.6616210938, 32.0),
            vec3(-297.9144897461, -1445.0788574218, 32.0),
            vec3(-300.47821044922, -1410.740600586, 32.0),
            vec3(-243.52647399902, -1409.9093017578, 32.0),
            vec3(-228.14682006836, -1408.454711914, 32.0),
            vec3(-214.2696685791, -1404.2430419922, 32.0),
            vec3(-202.69938659668, -1398.415649414, 32.0),
            vec3(-176.32830810546, -1382.9993896484, 32.0),
            vec3(-140.07070922852, -1360.1298828125, 32.0),
            vec3(-131.92518615722, -1353.8952636718, 32.0),
            vec3(-126.67826080322, -1347.0697021484, 32.0),
            vec3(-122.79215240478, -1338.1767578125, 32.0),
            vec3(-122.24575042724, -1335.2940673828, 32.0),
            vec3(-88.574974060058, -1337.8919677734, 32.0),
            vec3(-83.885818481446, -1337.3891601562, 32.0),
            vec3(-72.32137298584, -1347.8657226562, 32.0),
            vec3(-55.457233428956, -1349.6873779296, 32.0),
            vec3(-46.141300201416, -1350.8635253906, 32.0),
            vec3(0.30536636710166, -1350.3518066406, 32.0),
            vec3(19.377029418946, -1349.9018554688, 32.0),
            vec3(46.155563354492, -1350.2407226562, 32.0),
            vec3(56.231525421142, -1346.1237792968, 32.0),
            vec3(61.976043701172, -1336.847290039, 32.0),
            vec3(61.876712799072, -1331.4219970704, 32.0),
            vec3(94.016792297364, -1317.3137207032, 32.0),
            vec3(98.473731994628, -1315.1446533204, 32.0),
            vec3(100.91152191162, -1318.8972167968, 32.0),
            vec3(116.59771728516, -1309.0223388672, 32.0),
            vec3(115.354637146, -1306.6965332032, 32.0),
            vec3(142.13439941406, -1291.261352539, 32.0),
            vec3(143.9640197754, -1293.9191894532, 32.0),
            vec3(159.81324768066, -1280.7825927734, 32.0),
            vec3(166.5573272705, -1270.3135986328, 32.0),
            vec3(203.52110290528, -1282.7435302734, 32.0),
            vec3(231.76536560058, -1329.863647461, 32.0),
            vec3(215.84732055664, -1346.2076416016, 32.0),
            vec3(190.12483215332, -1387.3775634766, 32.0),
            vec3(162.40365600586, -1423.5834960938, 32.0),
            vec3(154.98637390136, -1424.7723388672, 32.0),
            vec3(126.23979187012, -1458.2556152344, 32.0),
            vec3(108.94204711914, -1478.851196289, 32.0),
            vec3(113.4779586792, -1482.6186523438, 32.0),
            vec3(111.75213623046, -1484.7049560546, 32.0),
            vec3(109.91118621826, -1483.4962158204, 32.0),
            vec3(92.817611694336, -1503.7390136718, 32.0),
            vec3(69.58283996582, -1526.8861083984, 32.0),
            vec3(39.489440917968, -1562.9592285156, 32.0),
            vec3(16.217784881592, -1590.7109375, 32.0),
            vec3(0.90857058763504, -1609.6218261718, 32.0),
            vec3(-22.47274017334, -1636.7037353516, 32.0),
            vec3(-65.98893737793, -1687.4913330078, 32.0)
        },
    },
    --add more sale zones below as required using the template above
},

Last updated 19 days ago

📜
📲
📲
Page cover image