Benutzer-Werkzeuge

Webseiten-Werkzeuge


s5lua_g:g_funktionen:getclosestentity

GetClosestEntity()

Die Parameter (_army, _range)

_army: Armee Table
_range: Radius in dem nach feindlichen Einheiten gesucht werden soll.
        Dieser Parameter ist optional. Wird er weggelassen, wird der Wert rodeLength aus dem Armee Table verwendet.

Rückgabe: EntityID einer feindlichen Einheit in Reichweite oder 0, falls kein Feind in der Nähe ist.

Anwendungsbeispiel

Keines vorhanden.

Hinweise

Als Mittelpunkt der Suche wird nicht die aktuelle Position der Armee genommen, sondern die Position, die im Armee Table angegeben wurde.

Die Funktion arbeitet leider sehr unzuverlässig. Zum Einen funktioniert sie erst gar nicht, wenn die Position im Armee Table ein Gebäude ist (nicht begehbar ist?). Zum Anderen kann es passieren, dass hin und wieder 0 zurückgegeben wird, obwohl noch Gegner in der Nähe sind. Man sollte deswegen eine Funktion wie z.B. AreEnemiesInArea benutzen, falls man nur festellen möchte, ob Gegner in der Nähe sind und nicht auf die ID angewiesen ist.

-- Ein Ausdruck wie dieser:
if GetClosestEntity(army) ~= 0 then
 
-- könnte alternativ so aussehen:
if AreEnemiesInArea(army.player, army.position, army.rodeLength) then
s5lua_g/g_funktionen/getclosestentity.txt · Zuletzt geändert: 2021/09/18 19:16 von 127.0.0.1