ai-prison
Server’ın saydığı hapis cezaları: kapıda alınan eşyalar, hapishane işleri, bir kantin ve ek süreli firarlar.
ai-prison hapis cezalarını yürütür. Polis kelepçeli bir oyuncuyu menüsünden, adminler bir komutla, diğer script’ler de AI Core üzerinden hapse gönderir. Dakikaları server sayar, bu yüzden oyuncu onları değiştiremez. Hapishane işleri cezayı kısaltır, kantin ücretsiz yemek dağıtır, hapishane alanından çıkmak da oyuncuyu ek süreyle geri getirir.
Oyunda ne yapar
- İçeri girmek. Oyuncu rastgele bir hücre noktasına taşınır ve dakikaları içeren bir bildirim alır. Take items at the gate (eşyaları kapıda al) açıksa envanterin tamamı alınır ve karakterde saklanır.
- Saat. Oyunda geçen her dakikada cezadan bir dakika düşer. Count time offline (çevrim dışı süreyi say) açıksa server’dan uzakta geçen süre de sayılır. Oyuncu girişte, her 10 dakikada bir ve son 5 dakikanın her dakikasında kalan süreyi içeren bir bildirim alır. Hapisteyken radyal menü Sentence (ceza) seçeneğini gösterir.
- Hapishane işleri. İş noktaları (varsayılan sigorta kutuları) sadece hapisteki oyunculara görünür. Çalışmak bir ilerleme çubuğu çalıştırır; sonunda ceza noktanın dakikası kadar kısalır. Her noktanın, aynı karakterin orada tekrar çalışabilmesi için kendi bekleme süresi vardır.
- Kantin. Hapisteki oyuncuların her Wait between meals süresinde bir kez ücretsiz bir yemek eşyası aldığı gişe.
- Firarlar. Server her 10 saniyede bir hapisteki her oyuncunun nerede olduğunu kontrol eder. Hapishane alanının dışındaki oyuncu ek dakikalarla bir hücreye geri gönderilir; Alert the police açıksa polis bir ihbar alır.
- Tahliye. Süre dolunca (ya da polis veya bir admin tahliye edince) oyuncu tahliye noktasına taşınır ve alınan eşyalarını geri alır.
- Kayıtlar. Bir polis MDT’si çalışıyorsa her hapse atma MDT’ye bir
jailkaydı yazar.
Kurulum
AI Core tarifiyle (recipe) kurulur. Elle: ensure ai-core satırından sonra ensure ai-prison. ai-core ve OneSync gerektirir. Kendine ait bir veritabanı tablosu kullanmaz: ceza karakterde saklanır.
Varsayılan hapishane Bolingbroke Penitentiary’dir; 11 hücre noktası, 16 köşeli bir alan, 7 sigorta kutusu iş noktası ve burger dağıtan bir kantin vardır. Yemek eşyasının envanterinde olduğundan emin ol ya da onu değiştir.
Panel ayarları
Admin paneli > Prison. Varsayılanlar data/settings.json ve data/tasks.json dosyalarından gelir.
Prison sekmesi
Cells and release: hapisteki oyuncu rastgele bir hücre noktasında başlar ve süre dolunca tahliye noktasından çıkar.
| Ayar | Neyi değiştirir | Varsayılan |
|---|---|---|
| Cell points | Hapisteki oyuncuların belirdiği en fazla 30 nokta (konum ve yön). | Bolingbroke’ta 11 hücre |
| Release point | Ceza bittikten sonra oyuncunun durduğu yer (kapının dışında). | 1848.13, 2586.05, 44.67 |
Prison area: bu alanın dışındaki hapisteki oyuncu firar ediyor sayılır.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Area corners | Hapishane duvarlarının etrafında yürü ve her dönüşte bir köşe ekle (en az 3, en fazla 32). | 16 köşe | |
| Area height | Köşelerin üstünde ve altında hâlâ içeride sayılan metre. 5-200. | m | 200 |
Canteen: hapisteki oyuncuların ücretsiz yemek aldığı gişe.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Canteen counter | Kantin noktasının yeri. | 1777.59, 2560.52, 44.62 | |
| Meal item | Dağıtılan eşya; boş bırakılırsa kantin kapanır. | burger | |
| Items per meal | Bir yemeğin o eşyadan kaç tane verdiği. 1-10. | 1 | |
| Wait between meals | Aynı karakterin bir yemek daha alabilmesi için geçmesi gereken dakika. 0-240. | dk | 10 |
Rules sekmesi
Sentence: dakikaları server sayar; oyuncular onları değiştiremez.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Longest sentence | Polisin ya da adminlerin verdiği daha uzun cezalar buna kısaltılır. 1-10,000. | dk | 120 |
| Count time offline | Açık: oyuncu uzaktayken de dakikalar geçer. Kapalı: sadece oyunda geçen süre sayılır. | kapalı | |
| Take items at the gate | Açık: envanter hapse atılınca alınır, tahliyede geri verilir. | açık |
Escapes
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Extra time for an escape | Hapisteki bir oyuncu alanın dışında her bulunduğunda eklenen dakika. 0-600. | dk | 5 |
| Alert the police | Firar konumuyla bir polis ihbarı gönderir. | açık |
Prison work sekmesi
Her iş noktası için bir kayıt. Bir noktayı silmek, oyuncuların artık orada çalışamayacağı anlamına gelir.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Name | Noktanın isteminde gösterilen adı ("Work: Fuse box 1"). | boş | |
| Place | Oyuncunun çalıştığı yer. Orada dur ve konumunu kullan. | 0, 0, 0 | |
| Work time | İlerleme çubuğunun ne kadar sürdüğü. 3-120. | sn | 10 |
| Minutes served | Cezanın her seferinde ne kadar kısaldığı. 0-60. | dk | 1 |
| Wait before working here again | Aynı karakterin bu noktada tekrar çalışabilmesi için geçmesi gereken saniye. 0-3600. | sn | 120 |
Komutlar
| Komut | Argümanlar | Kim kullanabilir | Ne yapar |
|---|---|---|---|
/jail | id (oyuncunun server id’si), minutes (sayı) | ai-core adminleri (ACE ai.admin), server konsolu ya da command.jail izni olan herkes | Bir oyuncuyu hapse gönderir. Dakikalar Longest sentence değerine kısaltılır. |
/unjail | id (oyuncunun server id’si) | ai-core adminleri, konsol ya da command.unjail | Bir oyuncuyu eşyalarıyla birlikte hemen tahliye eder. |
Polis memurları ai-police menüsünden (Send to prison) hapse atar; komuta ihtiyaçları yoktur.
Tuşlar
Yok. İş noktaları ve kantin etkileşim noktalarıdır (ai-core’un Interaction style ayarına göre E ile istem ya da bir target seçeneği).
Neyin yerine geçer
fxProvide yok. Cezayı QBCore’un kullandığı injail karakter metadata anahtarında tutar, bu yüzden injail okuyan ya da yazan QB script’leri onunla çalışır. injail değerini köprü üzerinden ayarlayan bir QB polis script’i ai-prison’da bir ceza başlatır; 0 yapmak tahliye eder.
Diğer hapishane script’leri
AI Core’un hapishane katmanı qb-prison, rcore_prison, xt-prison ve tgiann-policejob’u da destekler. ai-prison’ı durdur ve bunlardan birini başlat: ai-police ve diğer her script AI Core üzerinden hapse atmaya devam eder. Bkz. Uyumluluk.
Bilinen sınırlar
- Count time offline kapalıyken, çıkan bir oyuncu geri gelene kadar kalan dakikalarını korur.
- Zaten hapisteki bir oyuncuyu hapse atmak yeni cezayı ayarlar; ilk hapse atmada saklanan eşyalar saklı kalır.
- Tahliyede dolu bir envanter her eşyayı geri alamaz; sığmayanlar server loguna yazılır.
- Log kanalı:
prison.
Geliştiriciler için ai-policealert
ai-policealert’e (ya da başka herhangi bir ihbar script’ine) ulaşan bir polis ihbarı göndermek, DispatchAlert alanları ve ai-policealert’in kendi export’u.
Geliştiriciler için ai-prison
AI Core’un hapishane katmanı üzerinden hapse atma, tahliye ve kalan süre, ai-prison’ın server export’ları ve tuttuğu karakter metadata’sı.