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

Funkcja

getWorldModelOnLine

Nowa funkcja!Dodana do Trilogy Hub 02.11.2026.

KlientŚwiatTylko Trilogy Hub

Szuka modelu mapy San Andreas bez kolizji, przez który przechodzi odcinek: graffiti, szczotek myjni, siatek z przezroczystością. processLineOfSight takich modeli nie widzi, bo przechodzi przez nie. Gdy odcinek przecina kilka takich modeli, wygrywa najmniejszy (np. graffiti na ścianie budynku). Modele z kolizją pomija, bo te znajduje processLineOfSight. Wynik pasuje wprost do removeWorldModel.

Składnia

int, float... getWorldModelOnLine(float sx, float sy, float sz, float ex, float ey, float ez)

Argumenty

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

model, x, y, z, rx, ry, rz modelu, model LOD (0 = brak) i x, y, z punktu, w którym odcinek wchodzi w model; false, gdy nic nie znaleziono.

Przykład

addCommandHandler("graffiti", function()
    local x1, y1, z1, x2, y2, z2 = getCameraMatrix()
    local model, x, y, z = getWorldModelOnLine(x1, y1, z1, x1 + (x2 - x1) * 50, y1 + (y2 - y1) * 50, z1 + (z2 - z1) * 50)
    if model then outputChatBox(("Model %d w %.1f %.1f %.1f"):format(model, x, y, z)) end
end)

Zobacz też