# Dealers

## Dealers

Edit or create new or existing dealers according to this structure

```lua
['DEALER ID'] = { --Dealer ID
        name = "DEALER NAME", --Dealer Name
        description = "DEALER DESCRIPTION", -- Dealer description for the UI
        shop = {},
        upgrades = {},
        tasks = {}
    },
```

## Shop

Add new items or edit existing ones by following this structure. All of the items should be added inside the shop value of the dealer

<pre class="language-lua"><code class="lang-lua">["ITEM NAME"] = { --Item name
    price = 500, -- Item price
<strong>    item = "ITEM NAME", -- Item name
</strong><strong>    requiredRep = 0, -- Required reputation to buy the item    
</strong><strong>    requiredTask = "REQUIRED TASK OR FALSE TO DISABLE", -- Required task to buy the item
</strong>},
</code></pre>

## Upgrades

Add or remove possible upgrades from the dealer inside the upgrades value of each dealer. Possible upgrades can be found inside the sh\_upgrades.lua file.

```lua
upgrades = { --Available upgrades for the dealer
    "stashhouse", --Upgrade name
    "grandma" --Upgrade name
},
```

## Tasks

Add new or edit existing tasks by following this structure. All of these should be added inside the tasks value of each dealer.

```lua
["TASK NAME"] = { --Task name
    type = "giveItem/event/stat/upgrade", --Task type
    item = "ITEM TO GIVE", --Item name (If type is item),
    event = "TASK EVENT", --Task Event (If type is event),
    stat = "STAT NAME", --Stat Name (If type is stat),
    --Possible values: highest_power, contracts_completed, contracts_failed
    --currency_earned, currency_spent, graffiti_sprayed, graffiti_cleaned
    upgrade = "UPGRADE NAME", --Upgrade Name (If type is upgrade)
    --Possible values can be found in the sh_upgrades.lua file.
    amount = 3, --Amount of the progress needed to complete the task
    title = "TASK TITLE", --Task title
    description = "TASK DESCRIPTION", --Task description
    requiredRep = 0, --Required reputation of the dealer to start the task
    requiredTasks = {
        "TASK NAME",
        "TASK NAME",
    }, --Required tasks to start the task
    rewards = { --Task rewards
         coins = 10, --Coins reward
         reputation = 5, --Reputation reward
    }, 
    requiredUpgrades = { --Required upgrades to start the task
         ['UPGRADE NAME'] = 1, --Upgrade name and level
    },
},
```

## Example Configuration

````lua
Config.Dealers = {
    ['lamar'] = { --Dealer ID
        name = "Lamar Davis", --Dealer Name
        description = "Your local hood buddy for everything", -- Dealer description for the UI
        shop = { -- Don't touch this line
            ["lockpick"] = { --Item name
                price = 500, -- Item price
                item = "lockpick", -- Item name
                requiredRep = 0, -- Required reputation to buy the item
                requiredTask = "bringlockpicks", -- Required task to buy the item
            },
            --{ other values }
        },
        upgrades = { --Available upgrades for the dealer
            "stashhouse", --Upgrade name
            "grandma" --Upgrade name
        },
        tasks = { --Tasks for the dealer
            ["bringlockpicks"] = { --Task name
                type = "giveItem", --Task type
                item = "lockpick", --Item name
                amount = 3, --Amount of the item
                title = "Gathering #1", --Task title
                description = "Hey buddy, I need a few of them lockpicks. Can you help me out on this?", --Task description
                requiredRep = 0, --Required reputation to start the task
                requiredTasks = {}, --Required tasks to start the task
                rewards = { --Task rewards
                    coins = 10, --Coins reward
                    reputation = 5, --Reputation reward
                }, 
                requiredUpgrades = { --Required upgrades to start the task
                    ['security'] = 1, --Upgrade name and level
                },
            },
            --{ other values }
        }
    },
    ['madrazo'] = { --Dealer ID
        name = "Martin Madrazo", --Dealer Name
        description = 'The "legitamate" businessman', -- Dealer description for the UI
        shop = { -- Don't touch this line
            ["electronickit"] = { --Item name
                price = 500, -- Item price
                item = "electronickit", -- Item name
                requiredRep = 0, -- Required reputation to buy the item
            },
        },
        tasks = {
            ["metting_madrazo"] = { --Task name
                type = "stat", --Task type
                stat = "highest_power", --Item name
                amount = 50, --Amount of the item
                title = "Metting Madrazo", --Task title
                description = "Who the hell are you? Don't talk to me until you've made a presence in the field, reach 50 power and then we'll see", --Task description
                requiredRep = 0, --Required reputation to start the task
                rewards = { --Task rewards
                    coins = 10, --Coins reward
                    reputation = 5, --Reputation reward
                }, 
            },
            --{ other values }
        },
        upgrades = { --Available upgrades for the dealer
            "security", --Upgrade name
            "refinery" --Upgrade name
        }
    },
    ['lester'] = { --Dealer ID
        name = "Lester Davis", --Dealer Name
        description = 'The perfect guy for all of your needs', -- Dealer description for the UI
        shop = { -- Don't touch this line
            ["steel"] = { --Item name
                price = 500, -- Item price
                item = "steel", -- Item name
                requiredRep = 0, -- Required reputation to buy the item
            },
        },
        upgrades = { --Available upgrades for the dealer
            "intel", --Upgrade name
            "privacy" --Upgrade name
        },
        tasks = { --Tasks for the dealer
            ["turn_off_security"] = { --Task name
                type = "event", --Task type
                event = "turn_off_security", --Item name
                amount = 1, --Amount of the item
                title = "Hacker #1", --Task title
                description = "I need you to turn off the security at the Legion Square Flecca bank. You can find the security box at the back of the bank inside of the garage.", --Task description
                requiredRep = 0, --Required reputation to start the task
                rewards = { --Task rewards
                    coins = 10, --Coins reward
                    reputation = 10, --Reputation reward
                }, 
            },
            --{ other values }
        }
    },
}
```

-- This part of the config is for the Dark Web shop drop offs.
Config.DropOffs = { -- Drop Off Locations
    objectModel = "prop_boxpile_05a", -- Object model
    blip = { -- Blip settings
        sprite = 478, -- Blip sprite
        color = 16, -- Blip color
        scale = 1.0, -- Blip scale
        shortRange = true, -- Short range blip
    },
    stealBlip = { -- Steal blip settings
        sprite = 478,--Blip icon id
        color = 1,--Blip color id
        scale = 1.0,--Blip scale
        shortRange = true, -- Short range blip
        radius = {
            sprite = 4, --Radius icon id
            color = 1,--Radius color id
            offsets = math.random(-170.0, 170.0),--Radius offset,
            radius = 250--Radius size,
        }
    },
    points = { -- Drop off points
        {pos = vector3(875.3893, -1996.4425, 30.3708), busy = false}, -- Drop off point
        {pos = vector3(1378.2104, -736.8406, 66.2329), busy = false}
        {pos = vector3(-437.1280, 1580.7349, 357.9242), busy = false}, -- Drop off point
        {pos = vector3(-632.9796, 2026.5339, 159.1572), busy = false}, -- Drop off point
    }
}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://peuren.gitbook.io/peuren/peuren_gangs/configuration/dealers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
