Śmigłowce i samoloty FiveM

Jak wyłączyć samoloty i helikoptery otoczenia w FiveM

Aby zmniejszyć wybrane samoloty otoczenia w FiveM, utwórz zasób klienta, który wywołuje SetVehicleModelIsSuppressed jawne wyszukiwanie skrótów modeli. Dotyczy to naturalnego pojawiania się tych modeli; nie jest to system uprawnień i nie gwarantuje, że inny zasób nie może stworzyć tego samego samolotu.

Przetestuj każdy model na bieżącym kliencie FiveM i wersji gry. Naturalne zachowanie i populacja otoczenia mogą się różnić w zależności od lokalizacji i wersji. Utrzymuj małą listę modeli i zachowaj możliwość przywrócenia.

Utwórz zasób

Tworzyć resources/[local]/ambient_aircraft_control z tych dwóch plików.

fxmanifest.lua:

fx_version 'cerulean'
game 'gta5'

author 'Your name'
description 'Suppress selected ambient aircraft models'
version '1.0.0'

client_script 'client.lua'

client.lua:

local suppressedModels = {
    `luxor`,
    `shamal`,
    `maverick`,
    `frogger`,
}

CreateThread(function()
    for i = 1, #suppressedModels do
        SetVehicleModelIsSuppressed(suppressedModels[i], true)
    end
end)

AddEventHandler('onResourceStop', function(resourceName)
    if resourceName ~= GetCurrentResourceName() then
        return
    end

    for i = 1, #suppressedModels do
        SetVehicleModelIsSuppressed(suppressedModels[i], false)
    end
end)

Wartości w apostrofach to skróty kompilowane przez CfxLua. Bieżąca forma czasu wykonania i manifestu jest udokumentowana przez Cfx.re w przewodniku CfxLua I referencje manifestu zasobu.

Świadomie wybierz zakres

Uwzględnij tylko modele, które zaobserwowałeś pojawiające się losowo i które faktycznie chcesz wyłączyć. Przykładowe nazwy to ilustracyjne modele GTA V samolotów, a nie zalecana uniwersalna lista. Skryptowana misja, komenda administratora lub sklep z pojazdami mogą nadal tworzyć wyłączony model. Jeśli celem jest kontrolowanie dostępu graczy, egzekwuj to w autorytatywnym zasobie po stronie serwera, który przyznaje lub tworzy pojazdy.

Nie uruchamiaj natywnej funkcji co klatkę.

Stan wyłączenia nie wymaga pętli z zerowym opóźnieniem w tym zasobie. Zastosuj go, gdy zasób się uruchamia i odwróć go, gdy zasób się zatrzymuje. Stała Wait(0) pętla dodaje pracy, nie zapewniając lepszego zachowania.

Testuj przed produkcją.

  1. Zrób kopię zapasową istniejącego zasobu ruchu lub populacji.
  2. Dodaj ensure ambient_aircraft_control na serwerze deweloperskim.
  3. Uruchom refresh I ensure ambient_aircraft_control.
  4. Obserwuj znane lokalizacje losowych samolotów wystarczająco długo, aby porównać te same warunki przed i po.
  5. Stwórz samolot za pomocą dowolnego zatwierdzonego skryptowanego przepływu pracy, aby potwierdzić, czy to oddzielne użycie powinno pozostać dostępne.
  6. Zatrzymaj zasób i zweryfikuj, czy jego stan wyłączenia został odwrócony.

Gdy tłumienie nie wystarcza

Jeśli inny zasób wielokrotnie tworzy samoloty, zmień konfigurację tego zasobu lub ścieżkę tworzenia autoryzowaną przez serwer. Jeśli potrzebujesz szerszych zmian gęstości, traktuj je jako oddzielne zadanie zarządzania populacją i mierz skutki uboczne na ruch, misje i inne zasoby. Nie łącz niepowiązanych natywnych funkcji gęstości w tej małej poprawce bez konkretnego testu.

Dodaj komentarz