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:
- La carpeta se llama exactamente
hz_weather - El script está en su directorio
resources/(ej:resources/[standalone]/hz_weather/) - Su licencia está activa en keymaster.fivem.net
- 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:
- Verifica que
oxmysqlestá funcionando y configurado correctamente - Verifica que tu usuario de base de datos tiene los permisos CREATE TABLE
- Importa el archivo de nuevo: se puede importar varias veces sin error
¿Cómo actualizar el script?
- Descargue la última versión desde Keymaster
- Guarde su carpeta
config/ - Reemplace todos los archivos excepto
config/ - Consulte el Changelog para los nuevos parámetros de configuración
- Reinicie el recurso:
ensure hz_weather
Panel de administración
El panel de administración no se abre
- Ábrelo con
/weather, o con/hzpanely luego el módulo Clima - Verifica que tienes acceso de administrador: el ACE
admin(Config.AdminPermission), el grupo admin de tu framework, el ACEweather.admino un rol de hz_lib con el derecho manage sobrehz_weather
add_ace group.admin weather.admin allow
- Cuando se rechaza el acceso, la consola del servidor indica el permiso que falta
- 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
weatherSequencede la estación enconfig/seasons.lua(duraciones en minutos reales, de 35 a 100 min por entrada por defecto) - Con las estaciones desactivadas,
Config.DynamicWeather = truehace girar la lista deconfig/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
- Asegúrese de que PolyZone se inicia antes de
hz_weatherenserver.cfg - Verifique la consola del servidor en busca de errores de base de datos
- Las zonas vienen de
config/zones.lua. La tablahz_weather_zonessolo contiene las zonas guardadas desde el editor del panel, y esas filas tienen prioridad sobre el archivo (la consola las lista al iniciar) - 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 enconfig/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
- Verifique que
Config.Tornado.Enabled = trueyConfig.Tsunami.Enabled = trueen la configuración - Necesitas acceso de administrador (ver Instalación)
- 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 centroConfig.Tornado.VerticalForce— fuerza de elevación verticalConfig.Tornado.TangentialForce— fuerza de rotaciónConfig.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)
¿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.
