Cliente
Verificações de distância simples e centralizadas, com suporte a callbacks ao entrar, sair e permanecer dentro do alcance de coordenadas definidas.
Classe CPoint
Uma tabela que representa um ponto com as seguintes propriedades.
- id:
number - coords:
vector3 - distance:
number- Distância para o jogador ser considerado "dentro" de um ponto (ou seja, o raio do ponto).
- currentDistance:
number- Distância atual do jogador em relação ao centro do ponto.
- isClosest?:
boolean - remove:
function()- Remove o ponto do registro de pontos.
- onEnter?:
function(self: CPoint)- Função disparada quando o jogador fica dentro de
distancedo ponto.
- Função disparada quando o jogador fica dentro de
- onExit?:
function(self: CPoint)- Função disparada quando o jogador ultrapassa
distancedo ponto.
- Função disparada quando o jogador ultrapassa
- nearby?:
function(self: CPoint)- Função chamada a cada frame enquanto estiver dentro de
distancedo ponto.
- Função chamada a cada frame enquanto estiver dentro de
lib.points.new
lib.points.new(data)- data:
table- coords:
vector3 - distance:
number
- coords:
Retorna:
- point:
CPoint
Exemplo de Uso
local point = lib.points.new({
coords = GetEntityCoords(cache.ped),
distance = 5,
dunak = 'nerd',
})
function point:onEnter()
print('entered range of point', self.id)
end
function point:onExit()
print('left range of point', self.id)
end
function point:nearby()
DrawMarker(2, self.coords.x, self.coords.y, self.coords.z, 0.0, 0.0, 0.0, 0.0, 180.0, 0.0, 1.0, 1.0, 1.0, 200, 20, 20, 50, false, true, 2, false, nil, nil, false)
if self.currentDistance < 1 and IsControlJustReleased(0, 38) then
print('inside marker', self.id, 'dunak is a '.. self.dunak)
end
endlib.points.getAllPoints
Retorna uma tabela com todos os pontos criados no recurso.
lib.points.getAllPoints()Retorno:
- points:
CPoint[]
lib.points.getNearbyPoints
Retorna um array com todos os pontos no alcance do jogador.
lib.points.getNearbyPoints()Retorno:
- nearbyPoints:
CPoint[]
lib.points.getClosestPoint
Retorna os dados do ponto mais próximo do jogador.
lib.points.getClosestPoint()Retorno:
- closestPoint?:
CPoint