FiveM: Jak usunąć celownik (Gracze i serwery …

How to Remove the Crosshair in FiveM (HideHudComponentThisFrame 14)

Szybka odpowiedź: FiveM servers remove the default GTA crosshair — HUD component 14, the reticle — by running HideHudComponentThisFrame(14) every frame in a client script. The call must run on the client, inside a loop, because HUD components render again on the next frame. Below: the copy-paste resource, an optional player toggle command, and fixes for a crosshair that keeps coming back.

Ostatnia aktualizacja: 25 czerwca 2026

Kopiowalny skrypt klienta

Utwórz mały zasób klienta i umieść to w client.lua:

CreateThread(function()
 while true do
 Wait(0)
 HideHudComponentThisFrame(14)
 end
end)

Oficjalna dokumentacja natywnych funkcji Cfx.re zawiera HideHudComponentThisFrame jako natywna funkcja do ukrywania komponentów HUD. Komponent 14 to celownik/krzyżyk.

Minimalny fxmanifest.lua

Umieść to obok client.lua w folderze zasobu, na przykład resources/[local]/no-crosshair/:

fx_version 'cerulean'
game 'gta5'

client_script 'client.lua'

Następnie dodaj zasób do server.cfg:

ensure no-crosshair

Dlaczego musi działać co klatkę

Ukrywanie HUD jest oparte na klatkach. Wywołanie natywnej funkcji raz może sprawić wrażenie, że zadziałało na chwilę, ale celownik powraca, ponieważ GTA renderuje komponenty HUD ponownie w kolejnych klatkach. Utrzymuj pętlę lekką i nie dodawaj do niej kosztownej logiki.

Usuwanie celownika po stronie gracza vs po stronie serwera

Cel Najlepsza metoda
Usuń domyślny celownik GTA dla wszystkich Użyj małego zasobu klienta z HideHudComponentThisFrame(14).
Pozwól graczom wybierać Dodaj ustawienie klienta lub polecenie, które przełącza pętlę.
Usuń niestandardowy HUD broni Sprawdź zasób weapon/HUD. Może on rysować własny celownik.
Zatrzymaj monitory lub nakładki dodające kropkę Sprawdź nakładki klienta, funkcje monitorowania i mody graficzne.

Opcjonalna komenda przełączania

Jeśli twój serwer chce przełącznika gracza, użyj zmiennej lokalnej:

local crosshairHidden = true

RegisterCommand('crosshair', function()
 crosshairHidden = not crosshairHidden
 print(crosshairHidden and 'Crosshair hidden' or 'Crosshair visible')
end, false)

CreateThread(function()
 while true do
 Wait(0)
 if crosshairHidden then
 HideHudComponentThisFrame(14)
 end
 end
end)

Rozwiązywanie problemów

  • Jeśli celownik nadal się pojawia, inny zasób HUD lub broń może rysować własny element.
  • Jeśli zasób się nie uruchamia, sprawdź Konfiguracja fxmanifest.lua.
  • Jeśli kropkę widzi tylko jeden gracz, sprawdź nakładki monitora lub narzędzia graficzne na tym komputerze.
  • Jeśli potrzebujesz pełnego przejścia HUD, porównaj Zasoby FiveM HUD.

Często zadawane pytania

Czy można to zrobić w server.lua?

Nie. Renderowanie HUD jest po stronie klienta. Wywołaj zdarzenie klienta, jeśli potrzebujesz logiki serwera, ale wywołaj natywną funkcję w kodzie klienta.

Czy to wpływa na niestandardowe celowniki?

Ukrywa domyślny komponent celownika. Niestandardowe skrypty broni, lunety lub nakładki NUI mogą nadal rysować własny interfejs.

Lista kontrolna wdrażania po stronie serwera

Zanim dodasz to do działającego serwera roleplay, przetestuj to z bronią i zasobami HUD, których gracze już używają. Domyślny celownik można ukryć za pomocą komponentu 14, ale wiele serwerów uruchamia również nakładki broni, niestandardowe lunety lub NUI HUD. Te skrypty mogą rysować własny celownik i wymagać oddzielnych ustawień.

  1. Utwórz zasób na serwerze staging.
  2. Przetestuj pistolety, karabiny, strzelby, broń białą i poruszanie się bez broni.
  3. Sprawdź widok pierwszo- i trzecioosobowy.
  4. Otwórz ekwipunek, menu radialne, zamiennik kółka broni i HUD.
  5. Poproś jednego testera z czystym klientem i jednego testera z normalnymi nakładkami o porównanie.

Jak debugować celownik, który powraca

Jeśli kropka pojawia się tylko podczas celowania, Twój kod może nie działać w każdej klatce. Jeśli pojawia się tylko z jedną bronią lub jedną pracą, zasób broni lub policji może rysować UI. Jeśli pojawia się tylko u jednego gracza, sprawdź funkcje monitorowania celownika, nakładki ReShade, nakładki GPU lub narzędzia dostępności na tym komputerze.

Dobre sformułowanie polityki serwera

Jeśli twój serwer banuje zewnętrzne celowniki, jasno określ zasady: brak celownika monitora, brak nakładki celownika, brak zewnętrznej kropki celowniczej. Następnie egzekwuj to poprzez przegląd personelu, zamiast polegać wyłącznie na skrypcie, który ukrywa domyślny celownik HUD.

Kiedy celownik powróci

Jeśli kropka pojawia się tylko podczas celowania, pętla klienta może nie działać w każdej klatce. Jeśli pojawia się tylko z jedną bronią lub pracą, inna broń, HUD lub zasób policyjny może rysować własny celownik UI. Jeśli pojawia się tylko u jednego gracza, sprawdź funkcje celownika monitora, nakładki GPU, nakładki ReShade i narzędzia dostępności na tym komputerze.

Sformułowanie zasad serwera

Jeśli Twoja społeczność zakazuje zewnętrznych celowników, powiedz dokładnie, co jest zabronione: celownik monitora, nakładka celownika, zewnętrzna kropka celowania i zmodyfikowany HUD celownik. Skrypt może ukryć domyślny GTA HUD komponent, ale sam nie może kontrolować każdej zewnętrznej funkcji wyświetlania.