- Dokumentacja
- Funkcje klienta
- getWorldModelOnLine
Funkcja
getWorldModelOnLine
Nowa funkcja!Dodana do Trilogy Hub 02.11.2026.
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ż
processLineOfSightSzuka pierwszej przeszkody na odcinku między dwoma punktami i zwraca szczegóły trafienia. Na kliencie pyta grę (teren, budynki, obiekty, auta, postacie, kolizje z plików .col) i zwraca dużo danych: punkt trafienia, element, normalną powierzchni, materiał, oświetlenie, część ciała lub pojazdu, a na życzenie także model obiektu mapy z położeniem. Każde wywołanie czeka ok. jedną klatkę gry; gdy świat jeszcze się wczytuje (ekran ładowania), od razu zwracafalse. Na serwerze liczy na uproszczonym modelu (kule elementów, bez terenu i budynków).removeWorldModelZapisuje usunięcie obiektów mapy San Andreas o danym modelu w kuli o podanym promieniu. Można wywołać wiele razy; każde wywołanie dodaje wpis. Wywołane, zanim gra wczyta swoje modele (np. przy wejściu gracza), czeka i działa po wczytaniu.