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

Funkcja

setPedDriveRoute

SerwerPostacieTylko Trilogy Hub

NPC-kierowca jedzie po liście punktów drogami gry. Prowadzi go autopilot gry: skręca na skrzyżowaniach, omija auta i stoi na czerwonym. Po każdym punkcie przychodzi onPedDrivePointReached, po ostatnim onPedDriveFinished. Gdy fotel kierowcy jest wolny, NPC zostaje do niego wsadzony.

Składnia

bool setPedDriveRoute(ped ped, vehicle vehicle, table points [, table options = nil])

Argumenty

pedped
NPC.
vehiclevehicle
Pojazd.
pointstable
Punkty { {x, y, z}, ... } (albo { x = , y = , z = }).
optionstable, opcjonalny = nil
speed (km/h, domyślnie 50), style ("normal" zwalnia za autami i stoi na światłach, "careful" staje za autami, "ignoreLights" omija auta i jedzie na czerwonym, albo liczba 0–4), stopRadius (m, domyślnie 6), stopAt ({ [indeks punktu] = postój w ms }, auto stoi w miejscu do końca postoju), loop (po ostatnim punkcie od nowa), lookahead (m, domyślnie 45: gra dostaje cel tyle dalej na trasie i sama prowadzi auto pasem, nigdy dalej niż najbliższy postój), overtakeAfter (s, domyślnie 10, 0 wyłącza: po tylu sekundach stania NPC przez 12 s omija przeszkodę).

Zwraca

true, gdy jazda ruszyła; false, gdy za kierownicą siedzi ktoś inny albo NPC nie żyje.

Przykład

local bus = createVehicle(431, 1750, -1890, 13.5)
local driver = createPed(253, 1750, -1888, 13.5)
local stops = { { 1810, -1890, 13.4 }, { 1820, -1760, 13.4 }, { 1750, -1890, 13.5 } }
setPedDriveRoute(driver, bus, stops, { speed = 45, stopAt = { [1] = 8000, [2] = 8000 }, loop = true })
addEventHandler("onPedDrivePointReached", driver, function(vehicle, index)
    outputServerLog("Autobus na przystanku " .. index)
end)

Uwagi

Punkt minięty albo taki, do którego auto nie zbliża się przez 15 s jazdy, liczy się jako zaliczony, więc NPC nie krąży wokół punktu poza drogą. Punkty stawiaj na jezdni (np. getNearestVehicleNode), nie na chodniku. Jazdę prowadzi gra gracza, która liczy to auto, a pozostali widzą ją z synchronizacji. Bez graczy w pobliżu serwer przesuwa auto prosto między punktami, więc gęsta trasa (np. z getVehicleRoute) trzyma je na drodze także w pustym mieście.

Zobacz też