> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humalike.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Głos i bezpośredni wybór rozmówcy

> Zrozum głos zbliżeniowy, dźwięk w pojazdach, PTT i wybór NPC.

Głos NPC Humalike używa klienta WebRTC dołączonego do zasobu i jest
konfigurowany automatycznie na podstawie licencji serwera. Mumble nie jest używany do
przesyłania dźwięku NPC, a właściciele serwerów nie konfigurują endpointu głosu ani
sekretów głosu.

Głos graczy pozostaje w gestii zwykłego zasobu głosowego serwera. Gdy działa
`pma-voice`, `saltychat` lub `yaca-voice`, Humalike obserwuje jego
stan radia i telefonu, aby nie nadawać do NPC podczas tych
rozmów. Adapter `pma-voice` jest zweryfikowany w grze; adaptery SaltyChat i
yaca opierają się na opublikowanych zdarzeniach i eksportach tych zasobów i
nie były jeszcze z nimi uruchamiane. Każdy inny zasób głosowy lub telefoniczny zgłasza to
sam z poziomu klienta:

```lua theme={null}
exports.humalike:SetVoiceBusy('phone_call', true)  -- while the call lasts
exports.humalike:SetVoiceBusy('phone_call', false)
```

Powody mają przestrzeń nazw wywołującego zasobu i są odrzucane, gdy ten się zatrzyma.

## Push to talk

Gracze mówią do NPC AI za pomocą przypisania push to talk Humalike. Mogą zmienić
przypisanie w ustawieniach klawiszy FiveM. HUD wskazuje, czy Humalike
aktualnie nadaje.

Własny HUD może zasubskrybować na kliencie:

```lua theme={null}
AddEventHandler('humalike:voice:transmittingChanged', function(active)
    -- Update the server's voice indicator.
end)
```

## Który NPC słyszy gracza

Zasób stale utrzymuje mały zbiór bezpośrednich celów rozmowy,
aby HUD odzwierciedlał bieżący routing, zanim gracz naciśnie PTT. Priorytet ma:

1. NPC podążający za tym graczem.
2. NPC dzielący pojazd z graczem.
3. Pobliski NPC, w którego stronę skierowane są ped gracza i kamera rozgrywki.

W zwykłej rozmowie twarzą w twarz cel musi być blisko. Jeśli kilka
NPC kwalifikuje się przez odległość i kierunek patrzenia, wybierany jest najbliższy.
Cele bezpośrednie zastępują zwykłą niewyciszoną publiczność dla danej wypowiedzi, co
zapobiega sytuacji, w której odpowiadają jednocześnie pobliski NPC otoczenia i dalszy NPC statyczny.

Relacje podążania i wspólnego pojazdu pozostają kwalifikujące poza zwykłym
zasięgiem rozmowy twarzą w twarz. Dzięki temu towarzysz pozostaje słyszalny i responsywny
podczas przechodzenia przez zatłoczony obszar.

## Wskaźniki odległości i wyciszenia

Humalike ogranicza liczbę aktywnych rozmów z NPC wokół każdego gracza. Etykieta
pokazuje, kiedy NPC nie znajduje się aktualnie w zbiorze słuchających tego gracza. Bezpośredni
wybór celu aktualizuje ten stan, więc NPC, do którego gracz się zwraca, nie jest
przedstawiany jako niedostępny, podczas gdy inne pobliskie NPC są tymczasowo wyciszone.

Wyciszenie jest per gracz. Dwóch graczy w tym samym obszarze może mieć różne aktywne
NPC bez globalnej zmiany stanu NPC.

## Pojazdy

Gracze i NPC w tej samej kabinie pojazdu pozostają połączeni głosowo. NPC, który
podąża za graczem, ma dla tego gracza priorytet, także po wejściu do
pojazdu. Pozostali gracze zachowują własny routing i priorytety.

## Diagnozowanie głosu

Uruchom `/voice` w kliencie FiveM, aby sprawdzić lokalne połączenie. Sprawdź też:

* uprawnienie do mikrofonu w przeglądarce/NUI;
* skonfigurowany klawisz PTT Humalike;
* czy licencja serwera jest ważna;
* czy zarejestrowany callback nadal wskazuje na ten FXServer;
* czy OneSync jest włączony.

Włączaj `humalike_debug` tylko na czas diagnozowania problemu. Nie publikuj logów,
które zawierają URL-e połączeń lub poświadczenia.

## Dalej

* [Skonfiguruj Humalike](/pl/ai-npc/configuration).
* [Przejrzyj zachowanie podążania i pojazdów](/pl/ai-npc/gameplay#podążanie-i-pojazdy).
* [Rozwiąż problem NPC, który nie odpowiada](/pl/ai-npc/operations#npc-nie-odpowiada).
