Points
Points de proximité avec callbacks enter / exit / nearby et suivi du point le plus proche — partageant un tick.
Points de proximité avec callbacks enter / exit / nearby et suivi du point le plus proche — partageant un tick.
lib.points crée des points de proximité qui déclenchent des callbacks onEnter / onExit /
nearby et suivent lequel est isClosest. Comme les zones, ils partagent tous un seul tick.
Les callbacks sont côté client ; le serveur expose des lookups.
local point = lib.points.new({
coords = vector3(215.0, -810.0, 30.0),
radius = 5.0,
onEnter = function(self) lib.print.info('near', self.id) end,
onExit = function(self) lib.print.info('away', self.id) end,
nearby = function(self)
if self.isClosest and IsControlJustPressed(0, 38) then
print('E sur le point le plus proche')
end
end,
})
point.remove()coordsvector3requiredLa position du point.
radiusnumberoptionalRayon de détection. Défaut 10.0.
onEnterfun(self)optionalDéclenché quand le joueur entre dans le rayon.
onExitfun(self)optionalDéclenché quand le joueur sort du rayon.
nearbyfun(self)optionalDéclenché à chaque frame tant qu'on est dedans. self.isClosest est true pour l'unique point actif le plus proche.
lib.points.getPlayerDistance(source, pointId) renvoie la distance (ou nil), et
lib.points.isPlayerNearPoint(source, pointId) est un booléen.
Les callbacks sont client-only. Enter / exit tourne toutes les ~300 ms ; nearby tourne à la fréquence d'image. Un seul point est isClosest globalement (pas par groupe). Fais toujours :remove() sur un point dont tu n'as plus besoin.