DRS Drug Sales
Dealers espalhados pela cidade compram droga aos jogadores, com preços aleatórios, negócios com tempo, polícias mínimos e alertas.
Dealers espalhados pela cidade que compram droga aos jogadores, com preços aleatórios, negócios com tempo, polícias mínimos e alertas à polícia. Tudo validado no servidor.
#Requisitos
| Framework | QBCore, Qbox ou ESX (deteção automática) |
| Inventário | ox_inventory (se estiver ligado) ou o inventário do framework |
#Instalação
- Coloca
drs_drugsalesemresources. - Adiciona ao
server.cfg, depois do framework e do inventário:
server.cfg
ensure drs_drugsales- Ajusta os dealers e os nomes dos itens do teu servidor em
Config.Dealers.
Atenção
Os itens de exemplo são os do QBCore (weed_skunk, cokebaggy…). No ESX ou noutros servidores troca-os pelos teus (ex.: esx_drugs usa weed_pooch, coke_pooch).
#Utilização
- Aproxima-te de um dealer e carrega em E quando aparecer Negociar com….
- O dealer compra os itens que tens da lista dele, até
maxPerDealunidades de cada. - O negócio demora
durationsegundos, com animação de troca. Se te afastares mais de 3 metros, é cancelado. - Recebes o dinheiro na conta
Config.Account. Há uma hipótese (alertChance) de a polícia ser alertada, com um blip no local.
#Dealers
config.lua
{
id = 'weed_dealer',
label = 'Dealer de Erva',
coords = vector4(-1172.5, -1571.9, 4.66, 125.0),
ped = 'g_m_y_ballaeast_01',
scenario = 'WORLD_HUMAN_SMOKING_POT',
blip = { enabled = false, sprite = 140, color = 2 },
copsRequired = 0,
duration = 8,
cooldown = 60,
maxPerDeal = 10,
items = {
{ item = 'weed_skunk', price = { min = 90, max = 130 } },
},
},| Campo | Descrição |
|---|---|
copsRequired | Polícias de serviço necessários para o dealer negociar |
duration | Segundos que o negócio demora |
cooldown | Segundos entre negócios, por jogador |
maxPerDeal | Unidades máximas de cada item por negócio |
items[].price | Preço por unidade, aleatório entre min e max |
#Polícia
| Opção | Por defeito | Descrição |
|---|---|---|
Config.Police.jobs | police, sheriff | Empregos que contam como polícia |
Config.Police.requireDuty | true | Só conta quem está de serviço (QBCore/Qbox) |
Config.Police.alertChance | 35 | % de alertar a polícia em cada venda |
Config.Police.alertBlipSeconds | 60 | Duração do blip do alerta |
#Configuração completa
config.lua
Config = {}
-- Idioma / Language: 'pt' ou 'en'
Config.Locale = 'pt'
-- Framework: 'auto' deteta Qbox/QBCore/ESX. Inventário: ox_inventory é usado se estiver ligado.
-- Framework: 'auto' detects Qbox/QBCore/ESX. Inventory: ox_inventory is used when running.
Config.Framework = 'auto'
-- Conta onde entra o dinheiro: 'cash', 'bank' ou 'black' (ESX: black_money) / Account paid into
Config.Account = 'cash'
-- Polícia / Police
Config.Police = {
jobs = { 'police', 'sheriff' },
requireDuty = true, -- só conta polícias de serviço (QBCore/Qbox) / only on-duty officers count
alertChance = 35, -- % de hipótese de alertar a polícia em cada venda / chance to alert police per sale
alertBlipSeconds = 60,
}
-- Tecla de interação (E) e distância / Interaction key (E) and distance
Config.InteractDistance = 2.0
-- Onde aparece o aviso do dealer: 'right-center' | 'left-center' | 'center' / Where the dealer prompt shows
Config.PromptPosition = 'right-center'
-- Dealers. Os nomes dos itens são os do QBCore; no ESX/ox_inventory troca pelos teus (ex.: esx_drugs: weed_pooch, coke_pooch)
-- Dealers. Item names are QBCore's; on ESX/ox_inventory use yours (e.g. esx_drugs: weed_pooch, coke_pooch)
Config.Dealers = {
{
id = 'weed_dealer',
label = 'Dealer de Erva',
coords = vector4(-1172.5, -1571.9, 4.66, 125.0),
ped = 'g_m_y_ballaeast_01',
scenario = 'WORLD_HUMAN_SMOKING_POT',
blip = { enabled = false, sprite = 140, color = 2 },
copsRequired = 0,
duration = 8, -- segundos que demora o negócio / deal length (seconds)
cooldown = 60, -- segundos entre negócios por jogador / seconds between deals per player
maxPerDeal = 10, -- unidades por negócio (por item) / units per deal (per item)
items = {
{ item = 'weed_whitewidow', price = { min = 90, max = 130 } },
{ item = 'weed_skunk', price = { min = 90, max = 130 } },
{ item = 'weed_ogkush', price = { min = 110, max = 150 } },
{ item = 'joint', price = { min = 40, max = 60 } },
},
},
{
id = 'coke_dealer',
label = 'Dealer de Coca',
coords = vector4(1240.7, -3322.3, 6.03, 270.0),
ped = 's_m_y_dealer_01',
scenario = 'WORLD_HUMAN_STAND_IMPATIENT',
blip = { enabled = false, sprite = 501, color = 1 },
copsRequired = 2,
duration = 12,
cooldown = 120,
maxPerDeal = 5,
items = {
{ item = 'cokebaggy', price = { min = 350, max = 480 } },
{ item = 'crack_baggy', price = { min = 250, max = 350 } },
{ item = 'meth', price = { min = 300, max = 420 } },
},
},
}
-- Webhook do Discord ('' = desligado) / Discord webhook
Config.DiscordWebhook = ''
#Resolução de problemas
"Não tens nada que interesse a este dealer." — não tens nenhum dos itens da lista desse dealer, ou os nomes dos itens não batem com os do teu servidor.
"O dealer não quer negócio agora." — não há polícias suficientes de serviço (copsRequired).