SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje wspólne
  3. getGroundPosition

Funkcja

getGroundPosition

Zwraca wysokość gruntu pod punktem. Na kliencie pyta grę (prawdziwy teren i budynki). Na serwerze serwer nie zna terenu mapy, więc bierze tylko obiekty skryptów i poziom wody; często zwraca false.

Składnia

float getGroundPosition(float x, float y, float z [, bool throughMapObjects = false])

Argumenty

xfloat
Współrzędna X (albo wektor).
yfloat
Współrzędna Y.
zfloat
Wysokość, od której szukamy w dół.
throughMapObjectsbool, opcjonalny = false
true: przenika przez drzewa, krzaki i obiekty mapy (latarnie, ławki, płoty), a zatrzymuje się na terenie, budynkach i obiektach skryptów (np. podłogach z edytora map).Nie ma go w MTA:SA

Różnice względem MTA:SA

  • Argumenty zaznaczone innym kolorem różnią się od MTA:SA.

W MTA:SA

getGroundPosition(float x, float y, float z)

Zwraca

Wysokość gruntu albo false, gdy nieznana.

Przykład

Serwer stawia pickup na ziemi.

async(function()
    local ground = getGroundPosition(2495, -1665, 100)
    if ground then createPickup(2495, -1665, ground + 0.5, 3, 1240) end
end)

Uwagi

Grunt pod drzewami. Bez throughMapObjects punkt pod koroną drzewa albo w krzaku zwraca wierzch rośliny. Z throughMapObjects = true dostajesz ziemię pod nią, co przydaje się np. do linii albo znaczników rysowanych po terenie. Rośliny postawione skryptem też są przenikane.

Serwer. Serwer nie ma kolizji mapy. Wywołane w async(function() ... end) pyta grę gracza najbliżej punktu (do 250 m, poza wnętrzami) i czeka na odpowiedź do 1,5 s - wtedy zwraca prawdziwy teren. Poza async albo bez gracza w pobliżu liczy tylko obiekty skryptów (createObject) i wodę, inaczej zwraca false.

Zobacz też