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

Funkcja

setVehicleHandling

Serwer i klientPojazdyIdentyczna z MTA:SA

Zmienia parametry jazdy (handling) jednego pojazdu u wszystkich graczy: masę, prędkość maksymalną, przyspieszenie, przyczepność, hamulce, skręt, zawieszenie i inne pola z handling.cfg. Gra dostaje własną kopię wpisu handlingu dla tego auta, więc inne pojazdy tego modelu się nie zmieniają. Można podać jedno pole z wartością, całą tabelę pól albo nil, żeby wrócić do handlingu fabrycznego (z uwzględnieniem setModelHandling). Nazwy pól, lista: getHandlingFieldNames.

Składnia

bool setVehicleHandling(vehicle vehicle [, string/table propertyOrTable = nil, any value = nil])

Argumenty

vehiclevehicle
Pojazd.
propertyOrTablestring/table, opcjonalny = nil
Nazwa pola (np. "maxVelocity", "engineAcceleration", "tractionMultiplier", "mass", "suspensionLowerLimit"), tabela { pole = wartość } zastępująca wszystkie zmiany pojazdu, albo nil = handling fabryczny. Nieznane pola w tabeli są pomijane.
valueany, opcjonalny = nil
Nowa wartość pola (liczba; centerOfMass to tabela { x, y, z }). nil usuwa zmianę tego pola.

Zwraca

true przy powodzeniu, false dla nieznanej nazwy pola.

Przykład

addCommandHandler("sport", function(player)
    local vehicle = getPedOccupiedVehicle(player)
    if not vehicle then return end
    -- skala jak w handling.cfg: liczymy od wartosci fabrycznych modelu
    local factory = getOriginalHandling(getElementModel(vehicle))
    setVehicleHandling(vehicle, "maxVelocity", factory.maxVelocity * 1.15)
    setVehicleHandling(vehicle, "engineAcceleration", factory.engineAcceleration * 1.3)
    setVehicleHandling(vehicle, "tractionMultiplier", factory.tractionMultiplier * 1.1)
    setVehicleHandling(vehicle, "driveType", "awd")
end)

Uwagi

Klient. W skrypcie klienta handling tylko u tego gracza. Jazdę liczy kierowca, więc na pojeździe, którym kieruje ten gracz, zmiana działa w jeździe; obowiązuje, dopóki serwer nie zmieni handlingu tego pojazdu.

Typy i skala pól. Liczby mają tę samą skalę co w handling.cfg (to, co zwraca getOriginalHandling): np. Elegy (562) ma engineAcceleration = 28, radiowóz LS (596) = 25, więc 18 to auto SŁABSZE od fabrycznego. maxVelocity w km/h, mass w kg, brakeDeceleration jak w pliku (ok. 4-11), tractionMultiplier ok. 0,6-1,3. driveType to tekst: "fwd" (przód), "rwd" (tył), "awd" (4x4). engineType: "petrol", "diesel", "electric". ABS to true/false. handlingFlags i modelFlags to liczby (bity jak szesnastkowo w handling.cfg, np. 0x4000000). centerOfMass = { x, y, z }. Zmiana maxVelocity, engineAcceleration, numberOfGears, driveType albo dragCoeff przelicza skrzynię biegów jak gra.

Zobacz też