SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje serwera
  3. processLineAgainstMesh

Funkcja

processLineAgainstMesh

SerwerŚwiatIdentyczna z MTA:SA

Sprawdza, czy odcinek przecina jeden konkretny element, traktując go jako kulę o jego promieniu (uproszczenie po stronie serwera). Zwraca punkt na odcinku najbliższy środka elementu.

Składnia

bool, float, float, float processLineAgainstMesh(element element, float sx, float sy, float sz, float ex, float ey, float ez)

Argumenty

elementelement
Element do sprawdzenia.
sxfloat
X początku.
syfloat
Y początku.
szfloat
Z początku.
exfloat
X końca.
eyfloat
Y końca.
ezfloat
Z końca.

Zwraca

true i punkt x, y, z albo false.

Przykład

addCommandHandler("trafiam", function(player, _, id)
    local target = getElementByID(id or "")
    if not target then return end
    local x, y, z = getElementPosition(player)
    local hit = processLineAgainstMesh(target, x, y, z + 0.6, x, y + 50, z + 0.6)
    outputChatBox(hit and "Trafiony" or "Pudlo", player)
end)

Zobacz też