Var-Interact
Système d'interaction avec prompts 3D, progression, conditions et targeting.
Accès au code
Inclus dans le pack Var Utility Pack|€23.32 +4|économisez 22%
Affiche des markers 3D interactifs TextUI ou DUI directement dans le monde du jeu avec échelle, icônes, couleurs et états succès/avertissement personnalisables.
Touches de maintien, durée et vérifications de distance configurables. Inclut la validation conditionnelle via canInteract() et une execution sécurisée des callbacks.
Empêche les prompts qui se chevauchent et le spam d'inputs en gérant un état busy (LocalPlayer.state.TextUiBusy).
Spawn et despawn automatiques des PED selon la distance du joueur, avec support des animations, des scénarios et des points ox_lib intégrés.
Utilise des vérifications de distance au carré et les points ox_lib pour une détection de portée efficace et un faible impact CPU.
Garantit un nettoyage correct des DUI, des PED et des points quand la ressource s'arrête. Aucune fuite ni entité orpheline.
Les prompts d'interaction utilisent des control IDs (E/38 par défaut) et peuvent optionnellement se limiter a un seul bind pour un gameplay plus strict.
C'est un système léger d'interaction 3D dans le monde : il affiche une icône de hint quand les joueurs sont a portée, bascule sur un panneau touche/message de près, et déclenche un callback quand la touche assignée est pressee. Il supporte les dialogues NPC, les positions statiques et les entités avec icônes, couleurs et distances personnalisées.
Non, Var-Interact est un système d'interaction standalone avec ses propres hints 3D et sa mécanique hold-to-interact, une alternative complète a ox_target ou qb-target, avec un support intègre des arbres de dialogue.
Via des fonctions exportées : pedRegister() pour les NPC, positionRegister() pour les coordonnées statiques, entityRegister() pour des entités spécifiques, et entityRegisterByHash() pour ajouter automatiquement des interactions a chaque instance d'un modele, chacune avec messages, icônes, couleurs et callbacks onInteract personnalisés.
Il dépend uniquement d'ox_lib. Les enregistrements par hash tournent sur un seul thread scanner partage (intervalle configurable), donc enregistrer beaucoup de modeles a un coût négligeable, et les configs d'interaction se résolvent a l'exécution depuis shared/config.lua pour des reloads a chaud.
Oui, il n'a aucune dépendance dure a ESX ou QBCore et fonctionne sur n'importe quel framework ou en standalone. L'intégration se fait via les callbacks onInteract et le système de dialogue optionnel.
Ceci est la version Escrow (protégée) : le moteur client principal est compile, mais les scripts serveur et la config partagée (fxmanifest, config.lua, exemples) sont ouverts. Une version Partial Open est disponible si tu as besoin de la source complète.