> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Enforcer

> Polis arabası: siren, dört mahkûm koltuğu ve police job'lar için API.

RCO Enforcer, arkasında mahkûm bölmesi olan siyah bir polis arabasıdır. Her RCO aracı gibi RCO Vehicles bayisinde satılır ([Genel bakış](https://rust-co.mintlify.site/tr/rco-vehicles/overview.md) sayfasına bakın).

## Koltuklar

Altı koltuk: sürücü, önde bir yolcu ve bölmede karşılıklı iki bankta dört mahkûm.

Arabanın arkasında bölme için tek bir prompt vardır. Ona basan her oyuncu, kabinden kapılara doğru sıradaki boş koltuğu alır ve iki arka kapıdan biner. Dolu bir koltuk asla önerilmez.

## Siren

Sürücü sireni açmak için **G**'ye, kapatmak için yine **G**'ye basar. Siren kornanın tuşunu kullanır: Enforcer'da korna yoktur. Rotor döner, kırmızı lamba yanar ve yakındaki herkes duyar. Sürücü indiğinde siren kapanır.

Enforcer'ın `config/config.lua` dosyasında:

| Ayar | Ne yapar | Varsayılan |
| - | - | - |
| `Config.Sound.Volume` | Bütün arabanın ses seviyesi (0–1) | `0.5` |
| `Config.Sound.Effects.siren` | Sirenin ses seviyesi (0–1) | `0.5` |
| `Config.Sound.SirenRange` | Sirenin duyulduğu mesafe, metre | `160.0` |

## Police job'lar için API

Police job'unuz bir oyuncuyu bölmeye koyabilir: kelepçeliyken yürüyemez, bu yüzden arabanın kendi animasyonu onu arkadan koltuğuna götürür. Export'lar **mahkûmun client'ında** çalışır. Kimin kimi tutuklayabileceğine (meslek, mesafe, kelepçe) job'unuz kendi sunucusunda karar verir; Enforcer bu kontrole güvenir.

| Export (client) | Ne yapar | Döndürür |
| - | - | - |
| `PutInBack(vehicle, held)` | Bu oyuncuyu sıradaki boş mahkûm koltuğuna koyar. `vehicle`, arabanın entity'si veya network id'sidir; verilmezse arkası 6 m içindeki Enforcer kullanılır. `held` (varsayılan `true`): kendi başına inemez. | Koltuk (`1`–`4`) ya da araba doluysa, uzaktaysa veya devrildiyse `false` |
| `TakeOutOfBack()` | Bu oyuncuyu serbest bırakır; arka kapılardan iner. | Mahkûm koltuğundaysa `true` |
| `IsHeldInBack()` | Bu oyuncu bölmede tutuluyor mu. | `true` / `false` |

```lua theme={"dark"}
-- polisin client'ı: seçtiği Enforcer
TriggerServerEvent('myjob:server:putInEnforcer', targetId, NetworkGetNetworkIdFromEntity(enforcer))

-- sunucu (police job'unuz): polisi, mesafeyi ve kelepçeyi kontrol edin, sonra
RegisterNetEvent('myjob:server:putInEnforcer', function(targetId, netId)
    TriggerClientEvent('myjob:client:putInEnforcer', targetId, netId)
end)

-- mahkûmun client'ı
RegisterNetEvent('myjob:client:putInEnforcer', function(netId)
    local seat = exports['rco-enforcer']:PutInBack(netId) -- network id olmadan: arkası 6 m içindeki Enforcer
    if not seat then
        -- koltuk yok: Enforcer dolu veya uzakta
    end
end)

RegisterNetEvent('myjob:client:takeOutOfEnforcer', function()
    exports['rco-enforcer']:TakeOutOfBack()
end)
```

> [!NOTE]
>
> `PutInBack`, binme animasyonu oynasın diye oyuncunun o anki animasyonunu (kelepçe duruşu) durdurur. Job'unuz kelepçe duruşu kullanıyorsa sonra yeniden uygulayın. Arabanın kilidi export'u engellemez. Mahkûm ölürse veya araba garaja konursa yine bölmeden çıkar.

> [!TIP]
>
> **RCO Cars** paketinde bütün arabalar tek bir resource içindedir: `exports['rco-cars']:PutInBack(...)` çağırın.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.