diff --git a/client/interact/points.lua b/client/interact/points.lua index 2cda634..caa802b 100644 --- a/client/interact/points.lua +++ b/client/interact/points.lua @@ -300,6 +300,10 @@ function points.update(id, data) p.lineOfSight = data.lineOfSight == true end + if p.interactDistance > p.distance then + p.distance = p.interactDistance + end + if data.coords and p.kind == 'coords' then p.coords = vec(data.coords) or p.coords end diff --git a/tests/run.lua b/tests/run.lua index 1c0fc22..689872f 100644 --- a/tests/run.lua +++ b/tests/run.lua @@ -117,6 +117,9 @@ check('model hashes', points.get(mid).models[joaat('prop_a')] == true) local updated = points.update(id, { options = { { label = 'Only' } }, interactDistance = 2.5 }) check('update', updated and #points.get(id).options == 1) +points.update(id, { interactDistance = 8.0 }) +check('update keeps the point in range', points.get(id).distance == 8.0) + local v0 = points.version points.removeResource('res_b') check('resource cleanup', points.get(id2) == nil and points.get(mid) == nil and points.get(id) ~= nil)