Var-Interact
Sistema de interacción con prompts 3D, progreso, condiciones y targeting.
Acceso al código
Incluido en el pack Var Utility Pack|€23.32 +4|ahorra 22%
Muestra markers 3D interactivos TextUI o DUI directamente en el mundo del juego con escala, iconos, colores y estados de exito/aviso personalizables.
Teclas de mantener, duración y comprobaciones de distancia configurables. Incluye validación condicional vía canInteract() y ejecución segura de callbacks.
Evita prompts superpuestos y spam de inputs gestionando un estado busy (LocalPlayer.state.TextUiBusy).
Spawn y despawn automáticos de PED según la distancia del jugador, con soporte de animaciones, escenarios y points de ox_lib integrados.
Usa comprobaciones de distancia al cuadrado y points de ox_lib para una detección de rango eficiente y bajo impacto en CPU.
Garantiza la limpieza correcta de DUIs, PEDs y points cuando el recurso se detiene. Sin leaks ni entidades huerfanas.
Los prompts de interacción usan control IDs (E/38 por defecto) y opcionalmente se limitan a un solo bind para un gameplay más estricto.
Es un sistema ligero de interacción 3D en el mundo: muestra un icono de hint cuando los jugadores están a rango, cambia a un panel de tecla/mensaje de cerca y dispara un callback cuando se pulsa la tecla asignada. Soporta dialogos NPC, posiciones estaticas y entidades con iconos, colores y distancias personalizados.
No, Var-Interact es un sistema de interacción standalone con sus propios hints 3D y su mecánica hold-to-interact, una alternativa completa a ox_target o qb-target, con soporte integrado de arboles de dialogo.
A través de funciones exportadas: pedRegister() para NPC, positionRegister() para coordenadas estaticas, entityRegister() para entidades específicas y entityRegisterByHash() para añadir automáticamente interacciones a cada instancia de un modelo, cada una con mensajes, iconos, colores y callbacks onInteract personalizados.
Solo depende de ox_lib. Los registros por hash corren en un único thread scanner compartido (intervalo configurable), así que registrar muchos modelos tiene un coste insignificante, y las configs de interacción se resuelven en tiempo de ejecución desde shared/config.lua para recargas en vivo.
Si, no tiene ninguna dependencia dura de ESX o QBCore y funciona en cualquier framework o en standalone. La integración se hace a través de los callbacks onInteract y el sistema de dialogos opcional.
Esta es la versión Escrow (protegida): el motor cliente principal esta compilado, pero los scripts de servidor y la config compartida (fxmanifest, config.lua, ejemplos) están abiertos. Hay una versión Partial Open disponible si necesitas el código fuente completo.