Özelleştirme
Ayarlar config.lua içindedir. Framework tarafını uyarlayabilmeniz için iki bridge dosyası açıktır. Tabletin kendisi ise html/ içinde düz HTML olarak yer alır.
Hangi dosya neyi belirler
Section titled “Hangi dosya neyi belirler”| Dosya | Neyi belirler | Açık mı? |
|---|---|---|
config.lua | Dil, framework, fotoğraflar, oluşturucu komutu, canlı ızgara, tableti kimlerin kullanabileceği ve kamera prop’ları | Evet |
bridge/client_bridge.lua | Framework algılama, oyuncunun mesleği, bildirimler ve yardım metni istemi | Evet |
bridge/server_bridge.lua | Framework algılama, kimlikler, meslekler, kullanılabilir eşyalar, eşya ekleme/silme, sunucu bildirimleri | Evet |
items/ | ox, qb ve ESX için eşya tanımları ve items/images/ içindeki ikonlar | Evet |
html/ | Tablet: index.html, app.js, app.css, harita (map.js, map.css) ve html/tiles/ içindeki kareleri | Şifresiz (Escrow yok) |
locales/*.lua | Oyun içindeki ve tabletteki tüm metinler | Bu sürümde şifreli |
client/, server/ | Script dosyaları | Şifreli (Escrow) |
Genel — config.lua
Section titled “Genel — config.lua”| Seçenek | Ne işe yarar | Varsayılan |
|---|---|---|
Config.Locale | Hangi dilin kullanılacağı | 'en' |
Config.Framework | esx, qbcore veya algılaması için auto. QBox’ta auto, QBCore uyumluluğu üzerinden qbcore olarak bulur; sabitlemek için qbcore yazın | 'auto' |
Config.EvidenceEnabled | Fotoğraflar açık veya kapalı. Kapalıyken kamerada Boşluk (Space) tuşu ve ızgaradaki ekran görüntüsü butonu hiçbir şey yapmaz | true |
Config.CreatorCommand | Yönetici oluşturucusunu açan komut | 'camcreator' |
Config.CreatorAce | Oluşturucunun ihtiyaç duyduğu ACE yetkisi | 'mic_cctvcreator.open' |
Config.LiveGridFPS | Izgaranın saniyede kaç kez yenileneceği. 1 ile 15 arası; yüksek değer daha akıcıdır ancak daha fazla yük bindirir | 5 |
Config.BlackScreenBehindUI | Izgara yenilenirken kameralar arasındaki geçiş sıçramalarını gizlemek için tabletin arkasına siyah ekran çizer | true |
Config.AllowedJobs | Tableti açmasına izin verilen meslekler. Boş bırakılırsa herkes açabilir. Aşağıya bakın | {} |
Config.SpawnDistance | Bir kamera prop’unun oluşturulması (spawn) için ne kadar yakın olmanız gerektiği | 60.0 |
Config.BreakableCamera | Kameraların kırılabilir olup olmadığı | true |
Config.RepairDistance | Tamir lazerinin ne kadar uzağa erişebileceği | 20.0 |
Config.RepairTime | Milisaniye cinsinden onarımın ne kadar süreceği | 5000 |
Hangi kamerayı kim görür
Section titled “Hangi kamerayı kim görür”Herhangi biri kamera yerleştirmeden önce karar verilmesi gereken en önemli kısım budur.
Config.AllowedJobs boşken (varsayılan)
Section titled “Config.AllowedJobs boşken (varsayılan)”cctv_tableteşyasına sahip herkes tableti açabilir.- Bir oyuncunun yerleştirdiği kamera özeldir: yalnızca kendisi görür.
- Sahibi daha sonra bunu mesleğiyle paylaşabilir — o meslekteki herkes için bir meslek kamerası olur — veya bir erişim adı ve parola belirleyebilir. Bunları kendi tabletine giren herkes kamerayı listesine ekler.
Config.AllowedJobs ayarlıyken (örneğin polis ve şerif)
Section titled “Config.AllowedJobs ayarlıyken (örneğin polis ve şerif)”- Yalnızca bu meslekler tableti açabilir; diğer herkese yetkisi olmadığı söylenir.
- Bir oyuncunun yerleştirdiği kamera, o anda bulunduğu meslek için bir meslek kamerası olur.
Yönetici oluşturucusundan koyulan kameralar
Section titled “Yönetici oluşturucusundan koyulan kameralar”Her zaman meslek kamerasıdır ve oluşturucuda işaretlenen her meslek tarafından görülür. Hiçbir meslek işaretlenmeden koyulan oluşturucu kamerasını kimse göremez.
Kanıtlar ve kayıtlar
Section titled “Kanıtlar ve kayıtlar”- Özel bir kameradan çekilen fotoğraf, çeken kişiye özeldir. Meslek kamerasından çekilen fotoğraf mesleğe aittir. Her ikisi de galeriden mesleğinizle paylaşılabilir.
- İhlal kayıtları (loglar), erişiminiz olan her kamera için — en son 30 kayıt olacak şekilde — gösterilir. Kamerayı onarmak kaydını temizler.
Kamerayı sökme
Section titled “Kamerayı sökme”Sahibi, kamerasını tabletten kaldırabilir ve eşyayı geri alır.
Kırma ve onarma
Section titled “Kırma ve onarma”Config.BreakableCamera açıkken, kameranın yaklaşık bir metre yakınına mermi isabet ettiğinde veya yakın dövüş, patlama ya da araç çarpması aldığında kamera çevrimdışı (offline) olur. Oluşturucu ile tekil kameralar kırılmaz olarak işaretlenebilir.
Tamir kiti (cctv_repair) bir lazer açar. Config.RepairDistance mesafesindeki bozuk bir kameraya doğrultun, E tuşuna basın ve Config.RepairTime süresince bekleyin. Kit tükenmez. Backspace veya ESC tuşu lazeri kapatır.
Kontroller
Section titled “Kontroller”Kamera yerleştirme (eşya kullanarak)
| Tuş | Ne işe yarar |
|---|---|
| Etrafa bakma | Önizlemeyi baktığınız yüzeye taşır |
| Fare tekerleği | Döndürür |
| E | Yerleştirir; bir isim girmeniz istenir |
| Sağ tık / ESC | İptal eder |
Kameradan bakarken
| Tuş | Ne işe yarar |
|---|---|
| W / S | Yukarı ve aşağı eğer |
| A / D | Döndürür. Duvar ve direk kameraları iki yöne 45°‘de durur; 360° modeller tam tur döner |
| Fare tekerleği | Yakınlaştırma (Zoom) |
| Enter | Normal, gece görüşü ve termal görüş arasında geçiş yapar |
| Boşluk (Space) | Kanıt galerisi için fotoğraf çeker |
| Backspace / ESC | Tablete geri döner |
Yönetici oluşturucusu (/camcreator)
Bir model (duvar, 360 duvar, direk, 360 direk), temel bir isim, onu görebilecek meslekleri ve kırılıp kırılamayacağını seçin, ardından yerleştirme moduna geçin:
| Tuş | Ne işe yarar |
|---|---|
| ← / → | Modeli değiştirir |
| Fare tekerleği | Döndürür |
| E | Yerleştirir; bir isim girmeniz istenir |
| Sağ tık / ESC | Oluşturucu menüsüne geri döner |
Komutlar ve yetkiler
Section titled “Komutlar ve yetkiler”| Komut | Kimler kullanabilir | Ne işe yarar |
|---|---|---|
/camcreator | Config.CreatorAce yetkisine sahip oyuncular | Yönetici oluşturucusunu açar. Komut adını Config.CreatorCommand ile değiştirebilirsiniz |
Yetkiyi server.cfg içinde istediğiniz gruba bir add_ace satırıyla verin (örneğin group.admin grubuna mic_cctvcreator.open vermek gibi). Config.CreatorAce değerini değiştirirseniz yeni adı yetkilendirin.
Export’lar
Section titled “Export’lar”Kameralar hakkında bilgiye ihtiyaç duyan diğer kaynaklar için istemci taraflı (client-side) export’lar:
| Export | Argümanlar | Döndürdüğü değer |
|---|---|---|
GetCameraStatus | camera id | 'online', 'broken' veya id bilinmiyorsa 'offline' |
GetCameraIdFromEntity | entity handle | Oluşturulmuş bir kamera prop’unun kamera id’si veya hiçbir şey |
IsPlacing | — | Oyuncu kamera yerleştirirken true |
HideNearbyCamera | coords | 2 m içindeki en yakın kamera prop’unu gizler ve onu döndürür |
UnhideCamera | prop | HideNearbyCamera ile gizlenmiş bir prop’u tekrar gösterir |
Diller
Section titled “Diller”On bir dil hazır gelir: en, es, fr, de, it, pt, ar, ja, pl, ru, tr. Config.Locale değerini ilgili koda ayarlayın. Tablet ve oyun içi metinler aynı dosyayı kullanır.
Bu sürümde locales/ içindeki dosyalar korumalı kodun parçasıdır, bu nedenle düzenlenemezler. Listede olmayan bir dile veya farklı bir ifadeye ihtiyacınız varsa Discord üzerinden isteyebilirsiniz.
Bridge (Köprü)
Section titled “Bridge (Köprü)”| Dosya | Neleri kapsar |
|---|---|
bridge/client_bridge.lua | Framework algılama, Bridge.GetPlayerJob, Bridge.Notify ve onarım istemi için Bridge.ShowTextUI / Bridge.HideTextUI |
bridge/server_bridge.lua | Framework algılama, Bridge.GetPlayerIdentifier, Bridge.GetPlayerJob, Bridge.RegisterUsableItem, Bridge.AddItem, Bridge.AddItemWithMetadata, Bridge.RemoveItem, Bridge.Notify |
Farklı bir bildirim kaynağı: Her iki dosyada Bridge.Notify fonksiyonunu değiştirin.
Farklı bir text UI (ox_lib, okok…): İstemci dosyasındaki Bridge.ShowTextUI ve Bridge.HideTextUI. QBCore üzerinde QBCore’un kendi DrawText fonksiyonunu, diğer durumlarda oyunun yerleşik yardım metnini kullanırlar.
Envanter: ox_inventory çalışırken her iki framework’te de eşyalar onun üzerinden eklenir ve silinir. Aksi halde framework’ün kendi fonksiyonları kullanılır.
Farklı bir framework: Config.Framework ayarını yapın ve her iki dosyadaki algılama bloğu ile kimlik, meslek ve eşya fonksiyonlarını doldurun. Bir framework bulunamazsa script license: kimliğine döner ve herkesi unemployed olarak kabul eder; ancak tablet dahil eşyalar yalnızca ESX ve QBCore üzerinde (QBCore uyumluluğu sayesinde QBox dahil) kaydedilir.