Kartik Scripts

Turf Dealers

A dealer NPC that only does business with the gang that owns the turf he stands in. Take the turf and his stock is yours; lose it and he deals with the new owner instead.

The member needs the Market permission to buy.


🤝 Buying

  1. Your gang owns the turf. The dealer then shows up on your map as Turf Dealer (only your gang sees the blip).
  2. Walk up to the dealer and choose Talk to the dealer.
  3. Pick an item and enter how many you want (up to 10 per purchase).
  4. The money is paid from the gang's dirty money by default, and the items go straight into your inventory.
  • Items can need a gang level. Locked items show the level they need.
  • Items can have limited stock. Stock refills every 60 minutes.
  • If you have no room in your inventory, nothing is paid.
  • Purchases appear in the gang's Activity Logs.

When the turf changes hands, the dealer moves to the new owner's map at once.


📍 Adding dealers

The easiest way is the admin panel: open /gangadmin → Turf Dealers, place the dealer in the world and pick what it sells. Changes apply live.

Dealers can also be set in shared/territory.lua under BlackMarket → Dealers. Each dealer belongs to the turf it stands in, so place it inside a turf you created in Admin → Turfs. A dealer outside every turf stays hidden.

Dealers = {
    {
        label = 'Grove Street Dealer',
        coords = vec4(105.48, -1940.75, 20.80, 45.0),
        model = 'g_m_y_famca_01',
        -- turf = 'Grove Street', -- optional: the turf name from the admin panel
        items = {
            { name = 'lockpick', price = 250 },
            { name = 'weapon_switchblade', price = 3500, minLevel = 2 },
            { name = 'weapon_pistol', price = 15000, minLevel = 3, stock = 3 },
        },
    },
},
FieldMeaning
labelName shown on the blip and the menu
coordsWhere the dealer stands (vec4 with heading)
modelPed model
scenarioOptional idle scenario for this dealer (default from Ped.Scenario)
turfOptional turf name. Without it, the turf at coords is used
items[].nameItem name in your inventory
items[].pricePrice per item
items[].labelOptional label (default: the inventory label)
items[].minLevelOptional gang level needed
items[].stockOptional amount until the next restock (leave out for no limit)

All settings are on the Territory config page.

On this page