Skip to content

Fumo ​

Cigarro, charuto, baseado, vape, bong e narguilé. O jogador segura para tragar, solta fumaça, passa para outra pessoa e divide o narguilé em mangueiras. O servidor confere posse, gasto, distância, permissão e intervalo.

Precisa de: ox_lib, krs_helper

Funciona com krs, QBCore, Creative, vRP e modo none. Stress e o efeito Weed só existem no krs.

Instalação ​

cfg
ensure kay_fumo

Coloque depois do krs_helper e da mira. Veja a ordem completa. Não há SQL para importar.

Itens ​

No krs, os itens já existem. Nos outros frameworks, cadastre no seu inventário. Os nomes mudam em Itens, Insumos e Narguile.Modelos.

ItemPeso (g)Usável
cigarette, cigarette_debonair10Sim
cigar30Sim
joint10Sim
vape200Sim
bong1000Sim
narguile_azul, narguile_vermelho, narguile_rosa, narguile_verde, narguile_amarelo, narguile_cinza5000Sim
lighter50Não
water500Não
unpacked_weed20Não
vape_battery50Não
carvao100Não
eliquid_<sabor>50Não
essencia_<sabor>50Não

Sabores de líquido: maca, mirtilo, cereja, ecola, uva, limao, menta, laranja, pessego, morango, baunilha, melancia.

Sabores de essência: maca, mirtilo, limao, menta, laranja, morango, baunilha, melancia.

No QBCore, a água é water_bottle:

lua
Config.Insumos = { Agua = "water_bottle" }

O QBCore já tem lighter, joint e water_bottle. Não duplique esses itens. Se outro script já registra o joint como usável, tire o registro dele ou troque o nome do baseado em Config.Itens.

No Creative e no vRP, o item usável depende do ajuste de inventário descrito na página do krs_helper.

Imagens dos itens ​

O script não traz imagens. Coloque um PNG com o nome do item na pasta do seu inventário e aponte Interface.Icones para ela:

lua
Config.Interface = { Icones = "nui://ox_inventory/web/images/{item}.png" }

No krs, deixe vazio para usar as imagens do inventário.

Como usar ​

Use o item no inventário para abrir o cartão na tela.

TeclaPadrãoO que faz
TragarEAcende e traga. Segure para tragar mais. No limite, o personagem tosse
PassarGPassa para quem está perto, se estiver aceso
AjustesHNo vape e no bong, põe líquido, troca bateria, enche erva ou troca água
GuardarBackspaceGuarda

Cigarro, charuto e baseado precisam de isqueiro e são gastos ao acender. Vape e bong guardam a carga. No krs, cada vape e bong guarda a própria carga. Nos outros frameworks, a carga é por personagem e por tipo: trocar de vape não troca a carga.

Quanto cada trago gasta ​

Cada barra vai de 100 a 0. Por trago, o gasto é segundos segurando × PorSegundo, limitado entre Min e Max.

No cigarro, com PorSegundo = 7, Min = 0.5 e Max = 8, um trago de 1 s gasta 7 e um de 2 s gasta 8. Com tragos de 1 s ou mais, ele dura de 13 a 15 tragos. Para durar o dobro, divida PorSegundo e Max por 2.

Narguilé ​

  1. Use o item para colocar o narguilé no lugar.
  2. Prepare pelo menu da mira: água, essência, fornilho e carvão.
  3. Espere o carvão aquecer e pegue uma mangueira.

Cada narguilé tem Narguile.Mangueiras mangueiras. O menu depende da mira escolhida em Config.Target. Com "", o narguilé aparece sem interação.

Permissão ​

O dono sempre pode limpar e recolher o próprio narguilé. Para qualquer narguilé, vale o grupo de Config.Permissao, que por padrão é Admin, nível 1.

FrameworkComo liberar
krs, CreativeGrupo Admin do framework
vRPUm dos grupos de Config.Groups.Admin do krs_helper
QBCoreadd_ace group.admin admin allow e add_principal identifier.license:SUA_LICENSE group.admin
Sem frameworkadd_principal identifier.license:SUA_LICENSE group.admin e add_ace group.admin group.Admin allow

Configuração ​

Tudo fica em config.lua. Ele só precisa ter o que você mudou. Ao iniciar, o console avisa opção nova, nome errado e tipo errado.

OpçãoPadrãoO que muda
Insumosver ItensNome dos itens gastos. Liquido e Essencia são prefixos
PermissaoAdmin, nível 1Quem limpa e recolhe qualquer narguilé
Teclas38, 47, 74, 194Controle do jogo e rótulo de cada tecla
Avisoamarelo, verde, 5000Cor, cor de sucesso e duração dos avisos
Target"target"target, qb-target, ox_target ou ""
Som.Distancia14.0Distância em que os outros ouvem, em metros
Som.Volume0.45Volume, de 0.0 a 1.0
Passar3.0Distância para passar, em metros
Intervalo1500Tempo mínimo entre dois tragos, em ms
Tempos4500, 4000, 3500, 3500Animação de líquido, bateria, erva e água, em ms
Interface.Icones""Modelo do endereço das imagens, com {item}
Interface.Cores#b3c0ff, #ffb36b, #8fd0ffCores de destaque, brasa e água

Por tipo de fumo (Tipos):

TipoAcendePassaTrago (ms)StressEfeito
cigarroSimSim150 a 3500-1Nenhum
charutoSimSim150 a 3500-2Nenhum
baseadoSimSim150 a 3500-28% por trago
vapeNãoNão150 a 5000-1Nenhum
bongNãoNão200 a 5000-380% por trago

Ativo = false desliga o tipo. Gasto define o consumo de cada barra. Efeito define chance, minutos, efeito do framework e efeitos de tela.

Narguilé (Narguile):

OpçãoPadrãoO que muda
AtivotrueLiga o narguilé
Modelos6 coresItem e modelo de cada narguilé
Mangueiras2Quantas pessoas fumam juntas
Distancia2.0Alcance do menu, em metros
Alcance3.5Distância máxima com a mangueira e para colocar, em metros
Render80.0Distância em que aparece, em metros
Aquecer15Segundos do carvão aquecendo
Queimar1200Segundos do carvão no fornilho
Gasto4, 3Essência e água gastas por trago, em %
Trago300 a 3500Duração do trago, em ms
Stress-1Soma no status Stress a cada trago

Outras tabelas do config.lua: Itens, Sabores, Liquidos, Essencias, Frascos, Props, Efeitos, Poses, Anims, Particulas.

Sons ​

Em Sons, cada nome aponta para um arquivo de sounds/, sem .mp3, ou para um endereço https://:

lua
Config.Sons = { tragar = "meusom" }  -- sounds/meusom.mp3

Os textos ficam em locales/*.json.

Para programadores ​

Não há exports.

Eventos locais de cliente: kay_fumo:Menu abre o menu e kay_fumo:Mangueira pega a mangueira. Os dois recebem o Id do narguilé.

Para usar outra mira, crie um adaptador em client-side/ganchos.lua e coloque o nome dele em Config.Target. O nome precisa ser o de um resource iniciado.