Ir al contenido

Personalización

El comportamiento está en config.lua. Todo lo que toca tu framework, tus notificaciones o lo que hace realmente un efecto está en la carpeta bridge/, que se deja abierta precisamente por eso.


Archivo o carpetaQué decide¿Abierto?
config.luaTodos los ajustes de esta página y la lista de vapersAbierto
locales/*.luaTextos de las notificaciones, un archivo por idiomaAbierto
bridge/client_bridge.luaDetección del framework en el cliente, notificaciones, la barra de progreso y lo que hace cada efectoAbierto
bridge/server_bridge.luaDetección del framework en el servidor, quitar un vaper vacío, la comprobación del inventario y el hook de estrés OnVapePuffAbierto
bridge/stress.luaUna copia antigua del hook de estrés. El manifest no la carga; edita server_bridge.lua en su lugarAbierto
client/client.luaSacar el vaper, la calada, el humo y su sincronizaciónCon escrow
server.luaRegistra cada vaper como ítem usable y reenvía el humoCon escrow
html/La barra de progreso: index.html, style.css, script.jsArchivos sin cifrar
stream/Los diez modelos de vaper y def_props.ytypRecursos gráficos
inventory_items/Definiciones de ítems listas para ESX, ox_inventory y QBCoreReferencia
inventory_images/Un icono por ítemRecursos gráficos

OpciónQué hacePor defecto
Config.LocaleIdioma de las notificacionesen
Config.ShowNotificationsMostrar notificaciones o no. Desactivado significa que no hay mensajes de “lo has sacado”, cooldown, vacío ni de poderesfalse
Config.EnableMaxPuffsLos vapers se agotan tras su número de puffstrue
Config.RemoveVapeCommandComando de chat que guarda el vapervape
Config.PuffKeyTecla por defecto para la caladaE
Config.DisableCombatButtonsBloquea los botones de combate (atacar y apuntar) mientras sale el humotrue
Config.StressLlama al hook de estrés en cada calada (consulta Estrés)true

Config.PuffKey es un valor por defecto. La calada es una asignación de teclas de FiveM llamada “Vape Puff”, así que cada jugador puede cambiarla en Settings › Key Bindings › FiveM y, una vez que un jugador tiene la asignación guardada, cambiar Config.PuffKey ya no le afecta.


OpciónQué hacePor defecto
Config.SpeedVapeInfiniteStaminaLa estamina no baja durante el efecto de velocidadtrue
Config.StaticHealthfalse: cada calada de vida suma Config.Health. true: una calada sube la vida hasta Config.Health si está por debajofalse
Config.HealthCantidad que se suma, o el nivel al que se sube. Con el ajuste estático usa 101–200, la escala de vida del juego10
Config.StaticArmorLa misma idea para la armadura: sumar o subir hastafalse
Config.ArmorCantidad que se suma, o el nivel al que se sube (hasta 100)10

La vida siempre se mantiene entre 100 y 200, y la armadura en 100 o menos.


OpciónQué hacePor defecto
Config.VapeExhaleTamaño de la partícula de humo0.4
Config.SmokeOpacityLo denso que es el humo, de 0.0 a 1.01.0
Config.SmokeDelaySegundos entre la animación de la calada y la aparición del humo1.5
Config.ParticleQué partícula se usa: un dict y un name. Viene con el humo de derrape de scr_recartheftscr_recartheft / scr_wheel_burnout
Config.SmokeOffsetDónde empieza el humo respecto a la cabeza: PosX, PosY, PosZ, RotX, RotY, RotZ0.05, 0.0, 0.5, 0, 0, 0

Cada nube dura 1,5 segundos y la ven los jugadores que estén a menos de 30 metros.


Cada entrada es nombre del ítem → ajustes. La lista completa que viene incluida está en 🎒 Ítems.

CampoQué hace
propQué modelo se lleva en la mano: mic_black, mic_blue, mic_green, mic_lightblue, mic_orange, mic_pink, mic_purple, mic_red, mic_white, mic_yellow
LabelNombre que se muestra en la barra de progreso
SmokeColorUn color R, G, B, o la palabra Rainbow para colores que van cambiando
CooldownSegundos hasta que se puede volver a dar una calada a este vaper
puffsCaladas antes de que se agote y se quite uno del inventario
EffectDurationSegundos que dura el poder. 0 para los sabores
ShowProgressMostrar la barra de progreso mientras dura el poder. Desactivado en todos los vapers incluidos
SpeedMultiplierSolo para speed_vape (sprint) y carspeed_vape (motor)
powerOpcional. Una lista de efectos que se ejecutan juntos, cada uno con su propio número (ver más abajo)

El nombre del ítem decide el efecto. invisibility_vape te hace invisible porque se llama invisibility_vape; cualquier otro nombre sin lista power es un sabor.

Los nombres de efecto que entiende el bridge: invisibility_vape, speed_vape, superjump_vape, teleport_vape, invincibility_vape, health_vape (o health), armor_vape (o armor), carspeed_vape, freeze_vape, gravity_vape, además de random_vape, que elige uno de los demás.

Dale a un vaper una lista power y ejecutará todos los efectos que contenga en cada calada, se llame como se llame. El número junto a cada efecto es su duración en segundos, salvo en health y armor, donde es la cantidad. vape_custom en la config es un ejemplo funcional: vida 10, armadura 10, velocidad durante 10 segundos.

  1. Copia una entrada existente de Config.Vapes y ponle un nombre de ítem nuevo.
  2. Elige un prop, un SmokeColor, puffs y Cooldown. Para un poder, usa como nombre del ítem uno de los nombres de efecto anteriores o añade una lista power.
  3. Añade el ítem a tu inventario igual que los demás, con un icono.
  4. refresh y luego restart mic_vape.

freeze_vape (no puedes moverte) y gravity_vape (gravedad baja, movimiento más lento) se gestionan en bridge/client_bridge.lua, y sus definiciones de ítem ya están en inventory_items/, pero no tienen entrada en Config.Vapes. Añade una entrada para cada uno —copia superjump_vape y cámbiale el nombre— y funcionarán.

transform_vape también está en los archivos de ítems, pero necesita una lista Config.TransformAnimals que la config incluida no tiene. Déjalo fuera a menos que estés dispuesto a escribir esa lista y probarla.


Con Config.Stress = true, cada calada llama a OnVapePuff en bridge/server_bridge.lua con el ID de servidor del jugador. Tal como viene, esa función solo imprime una línea en la consola del servidor. Dentro tiene ejemplos comentados para los metadatos de QBCore y para esx_status: descomenta el que te encaje o llama ahí a tu propio HUD o recurso de estrés.

Si no usas estrés, pon Config.Stress = false y la consola se quedará en silencio.


En locales/ vienen nueve archivos: en, de, es, fr, it, pl, pt, ru, tr. Elige uno con Config.Locale.

La línea car_speed —la que aparece cuando se activa el vaper de velocidad del coche— dice “No waypoint set!” en los archivos incluidos. Cámbiala en tu archivo de idioma.

Para añadir un idioma: copia locales/en.lua, cambia la clave de arriba por tu código, traduce y añade el archivo tanto a client_scripts como a server_scripts en fxmanifest.lua. Ajusta Config.Locale, haz refresh y reinicia.


Todo lo que depende de tu servidor está en bridge/.

ArchivoQué cambiar ahí
bridge/client_bridge.luaShowNotification: envía los mensajes a tu propio recurso de notificaciones. El código de los efectos: cambia lo que hace un poder o añade un nombre de efecto nuevo. ShowProgressBar / HideProgressBar para la barra
bridge/server_bridge.luaOnVapePuff para el estrés. Quitar un vaper vacío y comprobar si el jugador todavía lo lleva: adapta estas dos para un inventario que no use las funciones de ítems propias de ESX o QBCore

Los dos archivos encuentran el framework de la misma forma: es_extended si está iniciado y, si no, qb-core, que es también como se encuentra QBox, a través de su compatibilidad con QBCore. Para otro framework, añade una rama ahí y en las dos funciones de ítems que hay al lado.


Comando o teclaQué haceDónde se configura
Usar el ítemSaca el vaper; volver a usarlo lo guardaInventario
E (“Vape Puff”)Da una caladaConfig.PuffKey y luego las asignaciones de cada jugador
/vapeGuarda el vaperConfig.RemoveVapeCommand

Un vaper también se guarda cuando el jugador ya no lleva el ítem; el recurso lo comprueba cada 2,5 segundos.