Pular para o conteúdo

Personalização

Tudo o que você pode alterar está em config.lua e locales/. O restante do resource possui proteção escrow, exceto pelas telas do aplicativo.


ArquivoO que ele decideAberto para edição
config.luaFramework, dinheiro, chance de falha, polícia, listagem na App Store, drogas, níveis, zonasSim
locales/*.luaAs notificações do celular, um arquivo por idiomaSim
locales/locales.luaA tabela de idiomas que os arquivos de tradução preenchemSim
ui/img/As imagens do app: uma por droga, o logo da tela inicial e o ícone do aplicativo (icon.png)Sim
ui/index.html, ui/styles.css, ui/script.jsAs telas do aplicativo, layout e textos dos botões—
player_data.jsonAs vendas, nível e bônus de cada traficante. Gravado pelo resourceSim
client/, server/A lógicaCom escrow

Não há uma pasta bridge separada: o framework é escolhido por Config.Framework abaixo.


OpçãoO que fazPadrão
Config.Framework"ESX" ou "QB", em maiúsculas. No QBox, use "QB" — o QBox executa resources QBCore através de sua camada de compatibilidade"ESX"
Config.esxResourceNameO nome do resource do ESX, caso o seu não seja o padrão"es_extended"
Config.qbResourceNameO nome do resource do QBCore, caso o seu não seja o padrão. Mantenha como "qb-core" no QBox"qb-core"
Config.BlackMoneyPagar em dinheiro sujo em vez de dinheiro limpotrue
Config.MoneyAsItemPagar como um item de inventário em vez de depositar em uma contatrue
Config.MoneyItemO item pago quando MoneyAsItem está ativado e BlackMoney está desativado"money"

O que o jogador realmente recebe:

ESXQBCore / QBox
Dinheiro sujo, como itemItem black_moneyItem blackmoney
Dinheiro sujo, como contaConta black_moneyItem blackmoney
Dinheiro limpo, como itemItem de Config.MoneyItemItem de Config.MoneyItem
Dinheiro limpo, como contaDinheiro em mãos (Cash)Dinheiro em mãos (Cash)

OpçãoO que fazPadrão
Config.FailureA chance, de 0 a 100, de o comprador dispensar o jogador após bater na porta. As drogas continuam com o jogador55
Config.DealTimeoutSegundos para chegar até a porta antes que a oferta expire300
Config.MinimumPolicePoliciais online necessários antes que alguém compre. 0 desativa a verificação1

A quantidade vendida é escolhida aleatoriamente entre minAmount e maxAmount da droga quando o jogador toca em SELL; a porta é escolhida aleatoriamente entre as zonas da droga.


OpçãoO que fazPadrão
Config.PoliceJobsOs empregos contabilizados como polícia e que recebem os alertaspolice, sheriff
Config.PoliceAlertChanceA chance, de 0 a 100, de uma venda bem-sucedida ser denunciada20
Config.PoliceNotifyAppNameO título do alerta no lb-phone do policial"Police Dispatch"
Config.PoliceBlipSpriteO blip colocado onde a venda aconteceu161
Config.PoliceBlipColorA cor dele38
Config.PoliceBlipScaleO tamanho dele1.0
Config.PoliceBlipDurationSegundos antes de o blip desaparecer120
Config.PriceMultipliersFaixas de preço por número de policiais online, cada uma com minPolice, maxPolice e multiplierVeja abaixo

Faixas padrão: 1–2 policiais ×1.0, 3–4 ×1.2, 5–6 ×1.4, 7–9 ×1.6, 10 ou mais ×2.0. Com um número de policiais que nenhuma faixa cubra, os preços permanecem em ×1.0.

Como o preço é calculado. O bônus de nível e o bônus de polícia são somados, não multiplicados: um traficante nível 5 (×1.5) vendendo com seis policiais online (×1.4) recebe 1 + 0.5 + 0.4 = ×1.9 do preço base.

Todos os policiais com um emprego listado em PoliceJobs recebem o alerta; não há verificação de estar em serviço (on-duty).


OpçãoO que fazPadrão
Config.BlockedAppJobsEmpregos que não podem ver nem instalar o app. Verificado quando o jogador carrega e sempre que seu emprego mudapolice, sheriff, ambulance, mechanic

OpçãoO que fazPadrão
Config.nameO nome do aplicativo no celular"Drug Dealer"
Config.descriptionA descrição abaixo dele na App Store"Deal dope, dodge the cops"
Config.defaultApptrue coloca o app já instalado em todos os celulares; false significa que ele é baixado pela App Storefalse
Config.sizeO tamanho mostrado na loja, em KB25400
Config.priceQuanto custa para instalar0

O ícone do aplicativo é ui/img/icon.png. Substitua o arquivo para alterá-lo.


Config.drugs é uma lista; cada entrada é um botão no aplicativo.

CampoO que faz
itemO item de inventário que é vendido
labelO nome mostrado no aplicativo e nas notificações
pricePreço por unidade, antes dos bônus
minAmount, maxAmountA faixa da qual a quantidade de cada negociação é sorteada
zonesEm quais zonas de Config.NPCLocations um comprador pode estar
imageUm nome de arquivo dentro de ui/img/
minLevelO nível de traficante necessário para vendê-la

Para adicionar uma droga, adicione uma entrada, coloque a imagem dela em ui/img/ e certifique-se de que o item exista no seu inventário. Imagens que já estão lá e são usadas pela lista padrão: baggy_weed.png, baggy_cocaine.png, lsd.png, baggy_meth.png, mushroom.png, opium.png, crack.png, drug_heroin.png, xtc_baggy.png, oxy.png, drug_lean.png, drug_hash.png.


Config.levels lista os ranques em ordem. Cada um tem um número level, um name, salesRequired (o número total de negociações, não de unidades) e bonusMultiplier.

NívelNomeVendasBônus
1Newbie0×1.0
2Rookie25×1.1
3Hustler75×1.2
4Dealer150×1.35
5Trader300×1.5
6Boss600×1.75
7Kingpin1200×2.0
8Overlord2000×2.25
9Tycoon3500×2.5
10Legend5000×3.0

Mantenha-os em ordem crescente de salesRequired; o nível é calculado percorrendo a lista de cima para baixo.

OpçãoO que fazPadrão
Config.dataFileO arquivo na pasta do resource que armazena o progresso de cada traficante"player_data.json"

O progresso é mantido por personagem: o identificador do ESX ou o citizen ID do QBCore.


Config.NPCLocations é numerado; os números são aquilo a que o campo zones de uma droga se refere. Cada zona possui:

CampoO que faz
pedsModelos de ped, um escolhido aleatoriamente para atender a porta
locationsPosições das portas (x, y, z e direção)
ZonaÁreaPortas incluídas
1Grove1
2Píer e praia10
3Casas de Vinewood10
4Sandy Shores8
5Paleto Bay9

Você pode adicionar zonas e portas livremente. Um detalhe importante: o nome da zona no alerta policial vem do próprio resource e só conhece as zonas de 1 a 5; qualquer zona que você adicionar será reportada como “Unknown Zone”.


Nove já vêm em locales/: en, es, fr, de, it, pt, pl, ru e tr. Defina Config.Locale para um deles.

Para adicionar um novo:

  1. Copie locales/en.lua para um novo arquivo, por exemplo locales/nl.lua.
  2. Altere o código no topo para nl e traduza o texto.
  3. Adicione locales/nl.lua à lista shared_scripts em fxmanifest.lua, ao lado dos outros e acima de config.lua.
  4. Defina Config.Locale = "nl", depois execute refresh e reinicie o resource.

Os arquivos de idioma cobrem as notificações do celular. Os botões próprios do aplicativo — DRUGS, PROFILE, SELL, CANCEL e a tela de perfil — estão escritos em ui/script.js e ui/index.html.