FiveM 3D Distance Calculator

Calcule distâncias 3D e 2D entre dois conjuntos de coordenadas. Obtenha estimativas de tempo de viagem e código Lua pronto para uso.

Point A

Point B

Para que serve esta ferramenta

Distâncias decidem quando um marcador é desenhado, quando uma interação se torna possível e quando um loop pode entrar em modo de espera. Errar nesses valores é uma das causas mais comuns de scripts que consomem muitos frames. Esta calculadora fornece a distância 3D e 2D entre dois pontos e escreve a comparação na forma que custa menos desempenho.

Como usar

  1. Passo 1:

    Digite ambos os pontos, por exemplo a posição do jogador e o alvo de uma interação.

  2. Passo 2:

    Leia a distância 3D para qualquer coisa com diferença de altura, e a distância 2D quando apenas o plano do chão importa.

  3. Passo 3:

    Derive seu raio de verificação a partir disso. Um marcador a 20 metros, o prompt de interação a 2 metros é um padrão comum.

  4. Passo 4:

    Copie a linha Lua. Ela usa a forma de subtração de vetor, que é mais rápida que Vdist.

Perguntas frequentes

Devo usar #(a - b) ou Vdist?

Use #(a - b). É uma aritmética vetorial nativa dentro do runtime Lua, enquanto Vdist é uma native do jogo e toda chamada native tem overhead. Em um loop que roda a cada frame a diferença é mensurável.

Quando a distância 2D é a correta?

Sempre que a altura não deve importar, por exemplo uma zona que cobre todos os andares de um prédio, ou um marcador em uma inclinação. Com a distância 3D um jogador um andar acima sai da zona, o que é interpretado como um bug.

Como evito uma checagem de distância a cada frame?

Use um loop em duas etapas. Durma 1000 ms enquanto estiver longe, e somente quando o jogador estiver dentro do raio externo mude para um loop de 0 ms para a interação real. Isso sozinho reduz a maioria dos scripts de vários milissegundos para quase zero quando ocioso.

Posso comparar distâncias ao quadrado em vez disso?

Sim, e isso economiza a raiz quadrada. Compare #(a - b) contra um limite ao quadrado somente se você também elevar o limite ao quadrado. É uma otimização real apenas em loops sobre muitas entidades, caso contrário a legibilidade vence.