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ń.
- Utwórz zasób na serwerze staging.
- Przetestuj pistolety, karabiny, strzelby, broń białą i poruszanie się bez broni.
- Sprawdź widok pierwszo- i trzecioosobowy.
- Otwórz ekwipunek, menu radialne, zamiennik kółka broni i HUD.
- 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.
