Pular para o conteúdo

Personalização

O comportamento fica no config.lua. Tudo o que toca no seu framework, nas suas notificações ou no que um efeito realmente faz fica na pasta bridge/, que é deixada aberta exatamente por esse motivo.


Arquivo ou pastaO que ele decideAberto?
config.luaTodas as configurações desta página e a lista de vapesAberto
locales/*.luaTextos de notificação, um arquivo por idiomaAberto
bridge/client_bridge.luaDetecção de framework no cliente, notificações, a barra de progresso e o que cada efeito fazAberto
bridge/server_bridge.luaDetecção de framework no servidor, remoção de um vape vazio, verificação de inventário e o hook de estresse OnVapePuffAberto
bridge/stress.luaUma cópia antiga do hook de estresse. Não é carregada pelo manifesto; edite server_bridge.lua em vez dissoAberto
client/client.luaPegar o vape, dar a tragada, a fumaça e sua sincronizaçãoProtegido (Escrow)
server.luaRegistra cada vape como item utilizável e retransmite a fumaçaProtegido (Escrow)
html/A barra de progresso: index.html, style.css, script.jsArquivos simples
stream/Os dez modelos de vape e def_props.ytypAssets
inventory_items/Definições de itens prontas para ESX, ox_inventory e QBCoreReferência
inventory_images/Um ícone por itemAssets

OpçãoO que fazPadrão
Config.LocaleIdioma das notificaçõesen
Config.ShowNotificationsExibir notificações em geral. Desativado significa sem mensagens de “pegou”, “em recarga”, “vazio” ou poderfalse
Config.EnableMaxPuffsOs vapes acabam após atingir sua contagem de puffstrue
Config.RemoveVapeCommandComando de chat que guarda o vapevape
Config.PuffKeyTecla padrão para dar a tragadaE
Config.DisableCombatButtonsBloqueia os botões de combate (atacar e mirar) enquanto a fumaça saitrue
Config.StressChama o hook de estresse a cada tragada (veja Estresse)true

Config.PuffKey é um padrão. A tragada é um atalho de teclado do FiveM chamado “Vape Puff”, então cada jogador pode alterá-lo em Configurações › Atalhos de Teclado › FiveM, e uma vez que o jogador tenha o atalho salvo, alterar Config.PuffKey não muda mais a tecla para ele.


OpçãoO que fazPadrão
Config.SpeedVapeInfiniteStaminaO fôlego não diminui durante o efeito de velocidadetrue
Config.StaticHealthfalse: cada tragada de vida adiciona Config.Health. true: uma tragada eleva a vida até Config.Health se estiver abaixofalse
Config.HealthQuantidade adicionada ou o nível para o qual elevar. No modo estático, use 101–200, a escala de vida do jogo10
Config.StaticArmorA mesma ideia para o colete: adicionar ou elevar até o valorfalse
Config.ArmorQuantidade adicionada ou o nível para o qual elevar (até 100)10

A vida é sempre mantida entre 100 e 200, e o colete em 100 ou menos.


OpçãoO que fazPadrão
Config.VapeExhaleTamanho da partícula de fumaça0.4
Config.SmokeOpacityQuão densa é a fumaça, de 0.0 a 1.01.0
Config.SmokeDelaySegundos entre a animação da tragada e o aparecimento da fumaça1.5
Config.ParticleQual partícula é usada: um dict e um name. Vem como a fumaça de burnout de scr_recartheftscr_recartheft / scr_wheel_burnout
Config.SmokeOffsetOnde a fumaça começa em relação à cabeça: PosX, PosY, PosZ, RotX, RotY, RotZ0.05, 0.0, 0.5, 0, 0, 0

Cada nuvem dura 1,5 segundo e é mostrada para jogadores em um raio de 30 metros.


Cada entrada é nome do item → configurações. A lista completa incluída está em 🎒 Itens.

CampoO que faz
propQual modelo é segurado: mic_black, mic_blue, mic_green, mic_lightblue, mic_orange, mic_pink, mic_purple, mic_red, mic_white, mic_yellow
LabelNome usado na barra de progresso
SmokeColorUma cor R, G, B, ou a palavra Rainbow para cores alternadas
CooldownSegundos antes que este vape possa ser tragado novamente
puffsTragadas antes de acabar e remover uma unidade do inventário
EffectDurationSegundos que o poder dura. 0 para sabores
ShowProgressMostra a barra de progresso enquanto o poder dura. Desativado em todos os vapes padrão
SpeedMultiplierApenas para speed_vape (corrida) e carspeed_vape (motor)
powerOpcional. Uma lista de efeitos para executar juntos, cada um com seu próprio número (veja abaixo)

O nome do item decide o efeito. invisibility_vape deixa você invisível porque se chama invisibility_vape; qualquer outro nome sem uma lista power é apenas um sabor.

Os nomes de efeito que a bridge entende: invisibility_vape, speed_vape, superjump_vape, teleport_vape, invincibility_vape, health_vape (ou health), armor_vape (ou armor), carspeed_vape, freeze_vape, gravity_vape — além de random_vape, que escolhe um dos outros.

Dê a um vape uma lista power e ele executará todos os efeitos nela a cada tragada, independentemente do nome do vape. O número ao lado de cada efeito é a sua duração em segundos, exceto para health e armor, onde é a quantidade. vape_custom na configuração é um exemplo funcional: vida 10, colete 10, velocidade por 10 segundos.

  1. Copie uma entrada existente em Config.Vapes e dê a ela um novo nome de item.
  2. Escolha um prop, um SmokeColor, puffs e Cooldown. Para um poder, use um dos nomes de efeito acima como nome do item ou adicione uma lista power.
  3. Adicione o item ao seu inventário da mesma forma que os outros, com um ícone.
  4. Digite refresh e depois restart mic_vape.

freeze_vape (você não consegue se mover) e gravity_vape (gravidade baixa, movimento mais lento) são tratados em bridge/client_bridge.lua, e suas definições de itens já estão em inventory_items/, mas eles não têm entrada em Config.Vapes. Adicione uma entrada para cada um — copie superjump_vape e renomeie — e eles funcionarão.

transform_vape também está nos arquivos de itens, mas precisa de uma lista Config.TransformAnimals que a configuração padrão não possui. Deixe-o de fora, a menos que esteja pronto para criar essa lista e testá-la.


Com Config.Stress = true, cada tragada chama OnVapePuff em bridge/server_bridge.lua passando o ID de servidor do jogador. Por padrão, essa função apenas imprime uma linha no console do servidor. Exemplos comentados para metadados do QBCore e esx_status estão dentro dela: descomente o que servir para você ou chame seu próprio resource de HUD ou estresse ali.

Se você não usa estresse, defina Config.Stress = false e o console ficará silencioso.


Nove arquivos vêm em locales/: en, de, es, fr, it, pl, pt, ru, tr. Escolha um com Config.Locale.

A linha car_speed — mostrada quando o vape de velocidade de carro entra em ação — diz “No waypoint set!” nos arquivos padrão. Reescreva-a no arquivo do seu idioma.

Para adicionar um idioma: copie locales/en.lua, altere a chave no topo para o seu código, traduza e adicione o arquivo em ambos client_scripts e server_scripts no fxmanifest.lua. Defina Config.Locale, dê refresh e reinicie.


Tudo o que depende do seu servidor está em bridge/.

ArquivoO que alterar lá
bridge/client_bridge.luaShowNotification — direcione as mensagens para o seu próprio resource de notificação. O código dos efeitos — mude o que um poder faz ou adicione um novo nome de efeito. ShowProgressBar / HideProgressBar para a barra
bridge/server_bridge.luaOnVapePuff para estresse. Remover um vape vazio e verificar se o jogador ainda o carrega — adapte esses dois para um inventário que não passe pelas funções de item próprias do ESX ou QBCore

Ambos os arquivos encontram o framework da mesma maneira: es_extended se estiver iniciado, caso contrário qb-core — que também é como o QBox é encontrado, por meio de sua compatibilidade com o QBCore. Para outro framework, adicione uma condição lá e nas duas funções de item próximas a ela.


Comando ou teclaO que fazDefinido em
Usar o itemPega o vape na mão; usá-lo novamente o guardaInventário
E (“Vape Puff”)Dá uma tragadaConfig.PuffKey e depois nos atalhos de cada jogador
/vapeGuarda o vapeConfig.RemoveVapeCommand

Um vape também é guardado quando o jogador não carrega mais o item; o resource verifica isso a cada 2,5 segundos.