FAQ

General

¿El script es compatible con mi framework?

HZ-Weather soporta QBCore, ESX, QBX y el modo Standalone. El framework es detectado automáticamente al inicio — no se necesita configuración manual.

¿El script funciona con OneSync?

Sí. HZ-Weather es totalmente compatible con OneSync y OneSync Infinity. La sincronización meteorológica utiliza GlobalState y los state bags para un rendimiento optimo.

¿Puedo usarlo con otro script de clima?

No. Debe desactivar todos los demás scripts de clima antes de utilizar HZ-Weather. Tener dos scripts de clima activos causara conflictos visuales y de sincronización.

Scripts a detener: vSync, qb-weathersync, cd_easytime, esx_weather, etc.

HZ-Weather reemplaza automáticamente qb-weathersync y cd_easytime mediante la directiva provide y expone sus exports para retrocompatibilidad.

¿El script consume muchos recursos?

No. HZ-Weather está optimizado para un impacto mínimo: 0.00 ms en reposo del lado del cliente, ~0.08 ms durante eventos activos (tornado, tsunami). El impacto del lado del servidor es despreciable.

¿Cuáles son las dependencias? Requeridas: Opcional: xsound para las sirenas del tsunami.

No se requiere framework — el script funciona en standalone.


Instalacion

Error "Asset not found" al iniciar

Verifique que:


  1. La carpeta se llama exactamente hz_weather

  2. El script está en su directorio resources/ (ej: resources/[standalone]/hz_weather/)

  3. Su licencia está activa en keymaster.fivem.net

  4. Utiliza la misma cuenta FiveM vinculada a su compra Tebex


Error "Framework not detected"

Es normal si está en standalone (sin framework). El script utilizara el modo standalone.

Si tiene un framework, asegúrese de que es_extended o qb-core tiene ensure antes de hz_weather en su server.cfg.

Las tablas de la base de datos no se crean

Hz-Weather no crea sus tablas por sí solo: importa sql/install.sql en tu base de datos antes del primer inicio. Sin ellas, la consola muestra Please import sql/install.sql into your database. Si la importación falla:


  1. Verifica que oxmysql está funcionando y configurado correctamente

  2. Verifica que tu usuario de base de datos tiene los permisos CREATE TABLE

  3. Importa el archivo de nuevo: se puede importar varias veces sin error


¿Cómo actualizar el script?
  1. Descargue la última versión desde Keymaster
  2. Guarde su carpeta config/
  3. Reemplace todos los archivos excepto config/
  4. Consulte el Changelog para los nuevos parámetros de configuración
  5. Reinicie el recurso: ensure hz_weather
Las sobrecargas de configuración en base de datos se preservan automáticamente.

Panel de administración

El panel de administración no se abre
  1. Ábrelo con /weather, o con /hzpanel y luego el módulo Clima
  2. Verifica que tienes acceso de administrador: el ACE admin (Config.AdminPermission), el grupo admin de tu framework, el ACE weather.admin o un rol de hz_lib con el derecho manage sobre hz_weather
   add_ace group.admin weather.admin allow
  1. Cuando se rechaza el acceso, la consola del servidor indica el permiso que falta
  2. Intenta reiniciar el recurso: ensure hz_weather
El panel se abre pero no muestra datos
  • Asegúrese de que la base de datos es accesible (verifique el estado de oxmysql)
  • Verifique la consola F8 en busca de errores JavaScript
  • Reinicie el recurso para forzar una sincronización de datos

Clima

El clima no cambia automáticamente

Verifica estos puntos:


  • Config.FreezeWeather = false, y el clima no está congelado en el panel

  • Con las estaciones activadas (por defecto), el clima sigue la weatherSequence de la estación en config/seasons.lua (duraciones en minutos reales, de 35 a 100 min por entrada por defecto)

  • Con las estaciones desactivadas, Config.DynamicWeather = true hace girar la lista de config/weather.lua (weatherCycletimer, 90 minutos por defecto)

  • Una zona ajustada por un admin queda bloqueada hasta que se desbloquea (insignia de candado en el mapa del panel, o /weatherunlock <zone|all>)

  • Las zonas con ignoreSeason = true (Cayo Perico) mantienen su propio clima


Verifica también que ningún otro script de clima esté ejecutándose.

¿Cómo forzar nieve permanente / Navidad? Opción 1 — Panel de administración: Abre el panel, selecciona el clima XMAS y aplícalo a todas las zonas. Un clima ajustado por un admin queda bloqueado y sobrevive a los reinicios hasta que lo desbloqueas (insignia de candado en el mapa, o /weatherunlock all). Opción 2 — Exports del servidor:
exports['hz_weather']:setZoneWeather('mont_josiah', 'XMAS')
Los nombres de zona son los de config/zones.lua. Una zona ajustada así no queda bloqueada: congela el clima en el panel (o Config.FreezeWeather = true) para que las estaciones no lo cambien. Opción 3 — Sistema de estaciones: En config/seasons.lua, pon XMAS en la weatherSequence de los presets (por ejemplo el de invierno, con startingSeason = 'winter').
¿Cómo desactivar la nieve por completo?

Con las estaciones activadas (por defecto), quita SNOW, SNOWLIGHT y BLIZZARD de la weatherSequence del invierno en config/seasons.lua (las otras estaciones no tienen nieve).

Con las estaciones desactivadas, pon decemberSnow = false en config/weather.lua y da probability = 0 a las secuencias de nevada y de tormenta de nieve (solo se usan en diciembre).

Las transiciones de zona son demasiado bruscas

Aumente Config.ZoneTransitionDistance en config/config.lua. El valor por defecto es 800.0 metros. Un valor más alto crea una zona de mezcla más amplia entre las zonas.

También puede activar Config.WeatherInfluence.enabled = true para que las zonas vecinas se mezclen de forma natural.


Zonas

Las zonas no se cargan o no se detectan
  1. Asegúrese de que PolyZone se inicia antes de hz_weather en server.cfg
  2. Verifique la consola del servidor en busca de errores de base de datos
  3. Las zonas vienen de config/zones.lua. La tabla hz_weather_zones solo contiene las zonas guardadas desde el editor del panel, y esas filas tienen prioridad sobre el archivo (la consola las lista al iniciar)
  4. Intente crear una zona desde el panel de administración para probar
¿Cómo crear zonas personalizadas? Opción 1 — Archivo de configuración: Agrega zonas en config/zones.lua: un círculo (centro y radio) o un polígono (puntos, minZ y maxZ), con una prioridad. Opción 2 — Panel de administración: Abre el panel, ve a la pestaña Zonas, dibuja un polígono o un círculo y completa los detalles. Opción 3 — Export del servidor:
exports['hz_weather']:createZone({
    name = 'ma_zone',
    label = 'Mi Zona Personalizada',
    center = vector3(x, y, z),
    radius = 1500.0,
    shape = 'circle',
    priority = 1,
    weather = 'CLEAR',
})

Estaciones y Temperatura

¿Cómo funcionan las estaciones?

Cada estación define una secuencia meteorológica (ej: Verano = EXTRASUNNY → CLEAR → CLOUDS → CLEAR) que cicla automáticamente, y su propia curva de temperatura.

Tres modos de ciclo están disponibles (cycleMode en config/seasons.lua):


  • disabled — Control manual unicamente (vía panel de administración o comandos)

  • auto — Rotación a través de las 4 estaciones con un temporizador (cycleDuration, por defecto: 120 minutos reales por estación)

  • realtime — Hace coincidir los meses reales del calendario con las estaciones


¿Cómo se muestra la temperatura?

La temperatura se muestra en el HUD del script (Config.HUD), con el comando /temp, y en las aplicaciones meteorológicas para teléfono (LB Phone / QS Smartphone). La unidad es configurable en Config.TemperatureUnit — 'C' para Celsius o 'F' para Fahrenheit.

¿La sincronización en tiempo real sigue mi zona horaria?

El modo realtime utiliza el tiempo del servidor (el reloj de su máquina). Si su servidor está en UTC, las estaciones siguen el calendario UTC. Para ajustar, configure la zona horaria de su máquina servidor.


Desastres naturales

Los comandos tornado/tsunami no funcionan
  1. Verifique que Config.Tornado.Enabled = true y Config.Tsunami.Enabled = true en la configuración
  2. Necesitas acceso de administrador (ver Instalación)
  3. Comandos: /tornado start, /tornado stop, /tsunami start, /tsunami stop
La física del tornado parece débil

Ajuste las fuerzas en config/config.lua:


  • Config.Tornado.HorizontalPullForce — fuerza de atracción hacia el centro

  • Config.Tornado.VerticalForce — fuerza de elevación vertical

  • Config.Tornado.TangentialForce — fuerza de rotación

  • Config.Tornado.ForceScale — multiplicador global


Valores más altos = tornado más destructivo.

El nivel de agua del tsunami no sube

El tsunami utiliza LoadWaterFromPath — esta función nativa requiere una ruta de agua valida. Verifique que el archivo de datos de agua está presente en el recurso y que el servidor soporta esta funcionalidad nativa. La fase de alerta dura 120 segundos antes de que suba el agua (Config.Tsunami.WarningDuration).


Efectos de gameplay

La tracción de los vehículos no cambia bajo la lluvia

La tracción está desactivada por defecto: pon Config.Effects.vehicleTraction.enabled = true en la configuración. Los modificadores por defecto son: lluvia 70%, nieve 50%, ventisca 30% de la adherencia normal.

Las notificaciones de efectos sobre el jugador (frío/calor)

Estas notificaciones están desactivadas por defecto desde la v1.4.2. Para tenerlas, pon Config.Notifications.Temperature = true (y mantén notifications = true en Config.Effects.playerEffects).

Los umbrales son coldThreshold (10 °C) y heatThreshold (30 °C) en Config.Effects.playerEffects. Un margen fijo de 2 °C y una espera de 2 minutos entre dos notificaciones evitan que se repitan cuando la temperatura oscila alrededor de un umbral.

¿Cómo desactivar un efecto especifico?

Cada efecto de gameplay tiene su propio toggle en config/config.lua:

Config.Effects = {
    vehicleTraction = { enabled = false },
    reducedVisibility = { enabled = true },
    playerEffects = { enabled = true },
    speedReduction = { enabled = false },
}
Config.BlackoutEnabled = true

Pon enabled = false (o Config.BlackoutEnabled = false) para desactivar cada uno.


Integración con teléfono

¿Qué aplicaciones están disponibles?
  • LB Phone — Aplicación meteorológica dedicada (gratuita, recurso separado)
  • QS Smartphone V3 — Aplicación meteorológica dedicada (gratuita, recurso separado)
  • QS Smartphone V2 (Pro) — Versión legacy (utilice la v1.x de la app)
Consulte la página Aplicaciones meteorológicas para teléfono para las guías de instalación.
¿Por qué QS V3 requiere una modificación manual?

QS Smartphone V3 utiliza un sistema de aplicación meteorológica nativa integrado. La app HZ-Weather debe reemplazar está entrada nativa, lo cual requiere una modificación de una línea en el archivo de configuración de QS Smartphone. Es una limitación de la arquitectura de QS V3, no de HZ-Weather.

¿Puedo integrar el mapa meteorológico en mi propio teléfono?

Sí. Utilice la página map.html autónoma vía iframe:

<iframe src="https://cfx-nui-hz_weather/web/dist/map.html"
  style="width:100%;height:100%;border:none" />

Muestra las zonas, el clima, la temperatura, el viento y la información de estación con actualización automática.


¿No encuentra su respuesta? Únase a nuestro Discord y abra un ticket.