FiveM 3D-Distance-Calculator
Berechne 3D- und 2D-Entfernungen zwischen zwei Koordinaten-Paaren. Erhalte Reisezeit-Schätzungen und sofort einsetzbaren Lua-Code.
Punkt A
Punkt B
Wofür dieses Tool gedacht ist
Distanzen entscheiden, wann ein Marker gezeichnet wird, wann eine Interaktion möglich ist und wann eine Schleife schlafen gehen darf. Falsche Werte sind eine der häufigsten Ursachen für Skripte, die Frames fressen. Dieser Rechner gibt dir die 3D- und 2D-Distanz zwischen zwei Punkten und schreibt den Vergleich in der Form, die am wenigsten Performance kostet.
Wie man es benutzt
- Schritt 1:
Gib beide Punkte ein, zum Beispiel die Spielerposition und das Ziel einer Interaktion.
- Schritt 2:
Lies die 3D-Distanz ab, wenn Höhenunterschiede relevant sind, und die 2D-Distanz, wenn nur die Bodenebene zählt.
- Schritt 3:
Leite deinen Prüfungsradius daraus ab. Ein Marker bei 20 Metern, die Interaktionsaufforderung bei 2 Metern ist ein gängiges Muster.
- Schritt 4:
Kopiere die Lua-Zeile. Sie verwendet die Vektorsubtraktionsform, die schneller ist als Vdist.
Häufig gestellte Fragen
Soll ich #(a - b) oder Vdist verwenden?
Verwende #(a - b). Es ist native Vektor-Arithmetik innerhalb der Lua-Laufzeit, während Vdist ein Spiel-Native ist und jeder Native-Aufruf Overhead verursacht. In einer Schleife, die jeden Frame läuft, ist der Unterschied messbar.
Wann ist die 2D-Distanz die richtige?
Immer wenn die Höhe keine Rolle spielen soll, zum Beispiel eine Zone, die alle Stockwerke eines Gebäudes abdeckt, oder ein Marker auf einer Schräge. Mit der 3D-Distanz fällt ein Spieler eine Etage höher aus der Zone heraus, was als Fehler wahrgenommen wird.
Wie vermeide ich eine Distanzprüfung in jedem Frame?
Verwende eine zweistufige Schleife. Schlafe 1000 ms, solange du weit entfernt bist, und wechsle nur, wenn der Spieler im äußeren Radius ist, zu einer 0-ms-Schleife für die eigentliche Interaktion. Das allein reduziert die meisten Skripte von mehreren Millisekunden auf nahezu null im Leerlauf.
Kann ich quadrierte Distanzen vergleichen?
Ja, und das spart die Quadratwurzel. Vergleiche #(a - b) nur mit einem quadrierten Schwellenwert, wenn du den Schwellenwert ebenfalls quadrierst. Es ist nur bei Schleifen über viele Entitäten eine echte Optimierung, sonst gewinnt die Lesbarkeit.
Verwandte Tools
FiveM Coords-Finder: Koordinaten auf der Karte
Finde X/Y/Z-Koordinaten auf der GTA V-/FiveM-Karte. Klick auf die Karte, Coords kopieren.
FiveM Resource-Calculator
Schätze Server-Performance ab und erhalte Optimierungstipps und Konfigurationsempfehlungen für dein FiveM-Server-Setup.
FiveM Blip-Creator: Blip-Generator
Interaktiver FiveM Blip-Creator: Blips auf der Karte erstellen und Lua-Code für deinen Server generieren.