Özelleştirme
Neredeyse her şey config.lua içindedir. Gerisi metin, veri ve framework’ünüzle konuşan ince katmandır.
Hangi dosya neye karar verir
Section titled “Hangi dosya neye karar verir”| Dosya | Neye karar verir | Düzenlemeye açık |
|---|---|---|
config.lua | Framework, dil, kimin boyayabileceği, eşyalar, komut adları, boya dükkânı işaretçileri | Evet |
locales/*.lua | Her bildirim ve sohbet önerisi, dil başına bir dosya | Evet |
locales/main.lua | Config.Locale için metni seçen fonksiyon | Evet |
bridge/server.lua | Framework algılama, bildirimler, admin kontrolü, meslekler, kullanılabilir eşyalar, eşya silme | Evet |
bridge/client.lua | Oyuncu tarafında framework algılama ve bildirimler | Evet |
items/ox.lua, items/qb.lua, items/sql.sql | Envanterinize kopyalanacak hazır eşya tanımları | Evet |
permissions.json | Menüyü açmasına izin verilen Steam ID’leri. give ve remove komutlarıyla yazılır | Evet |
vehicle_original_colors.json | Boyanan her aracın ilk boyanmadan önceki rengi, model ve plakaya göre | Evet |
html/ui.html, html/style.css, html/script.js | Menü: başlığı, renk örnekleri ve görünümü | — |
data/, stream/ | 223 ile 242 arasındaki renkler için boya tanımları ve rampa dokuları | Olduğu gibi bırakın |
client/main.lua, server/main.lua | Mantık | Escrow’lu |
| Seçenek | Ne yapar | Varsayılan |
|---|---|---|
Config.Framework | "auto", "esx" veya "qbcore". Auto, es_extended ve qb-core kaynaklarından hangisi çalışıyorsa onu kullanır; QBox, QBCore uyumluluğu üzerinden qb-core sayılır. Sabitlenirse QBox "qbcore" kullanır | "auto" |
Config.Locale | Her mesajın dili. Aşağıdaki Diller bölümüne bakın | "es" |
Config.PermissionFile | Yetki listesini tutan JSON dosyasının adı | "permissions.json" |
Menüyü kimler açabilir
Section titled “Menüyü kimler açabilir”| Seçenek | Ne yapar | Varsayılan |
|---|---|---|
Config.Permissions | permissions.json içindeki yetki listesini kullanır | true |
Config.UseJobs | Config.AuthorizedJobs içindeki mesleklerin de menüyü açmasına izin verir | true |
Config.AuthorizedJobs | UseJobs açıkken izin verilen meslek adları | mechanic, police |
İki anahtar şöyle birleşir:
Permissions | UseJobs | Menüyü kimler açabilir |
|---|---|---|
| açık | açık | Listedeki oyuncular ve mesleği AuthorizedJobs içinde olan herkes |
| açık | kapalı | Yalnızca listedeki oyuncular |
| kapalı | açık veya kapalı | Herkes |
Liste Steam tanımlayıcısına (identifier) göre tutulur. Steam çalıştırmayan bir oyuncu eklenemez; give komutu onun Steam tanımlayıcısını alamadığını bildirir.
Eşyalar
Section titled “Eşyalar”| Seçenek | Ne yapar | Varsayılan |
|---|---|---|
Config.UseItems | 82 boya eşyasını ve sıfırlama eşyasını kullanılabilir olarak kaydeder | true |
Config.ItemsRequirePermission | Boya eşyalarının menüyle aynı kurallara tabi olmasını sağlar. Kapalıyken, elinde tutan herkes kullanabilir | false |
Sıfırlama eşyası hiçbir zaman yetki istemez. Eşya adları ve tanımlarının nerede geldiği Kurulum sayfasındadır.
Komutlar
Section titled “Komutlar”Her ad, eğik çizgi olmadan config.lua içinde ayarlanır.
| Seçenek | Varsayılan | Kim | Ne yapar |
|---|---|---|---|
Config.Chameleon | /chameleon | Yukarıdaki kurallarla izin verilen herkes | Menüyü açar. Bir araçta olmanız gerekir |
Config.ChameleonReset | /chameleonreset | Herkes | İçinde bulunduğunuz aracı orijinal rengine geri döndürür |
Config.ChameleonGive | /chameleongive [ID] | Adminler | O oyuncunun Steam ID’sini yetki listesine ekler |
Config.ChameleonRemove | /chameleonremove [ID] | Adminler | Onu listeden tekrar çıkarır |
“Admin”, ESX’te admin veya superadmin grubu, QBCore’da admin veya god yetkisi demektir. Sizinkilerin adı farklıysa her iki kontrol de bridge/server.lua içindedir.
Boya dükkânı işaretçileri
Section titled “Boya dükkânı işaretçileri”Config.Locations bir listedir; istediğiniz kadar girdi ekleyin. Her birinin şu alanları vardır:
| Alan | Ne yapar | Hazır değer |
|---|---|---|
coords | İşaretçinin durduğu yer | Burton yakınında iki örnek nokta |
radius | İstemin görünmesi için ne kadar yakın olmanız gerektiği (metre) | 3.0 |
markerType | Çizilen FiveM işaretçisi | 1 (yerde bir halka) |
markerColor | Kırmızı, yeşil, mavi ve alfa | Birinde kırmızı, diğerinde yeşil, alfa 100 |
markerScale | Boyutu | 2.0 × 2.0 × 1.0 |
notification | Yarıçap içinde gösterilen yardım metni | Press ~INPUT_CONTEXT~ to open the Chameleon menu |
İşaretçi 10 metre uzaktan çizilir. İstem yalnızca radius içinde ve bir araçtayken görünür; ardından E tuşu menüyü, komutla aynı yetki kontrolüyle açar.
notification metni dil dosyalarında değil config.lua içindedir, bu yüzden onu orada çevirin.
html/ui.html renk örneklerini — 161’den 242’ye her renk kimliği için bir tane — ve dil dosyalarından alınmak yerine sayfanın içine yazılmış menü başlığını, “Chameleon Paintings”, tutar. html/style.css her örneğe önizleme rengini verir.
Diller
Section titled “Diller”locales/ içinde dokuz dil gelir: en, es, fr, de, it, pt, pl, ru ve tr. Config.Locale değerini bu kodlardan birine ayarlayın.
Bir tane eklemek için:
locales/en.luadosyasını yeni bir dosyaya kopyalayın, örneğinlocales/nl.lua.- Yeni dosyanın en üstündeki dil kodunu
nlolarak değiştirin ve metni çevirin. locales/nl.luadosyasınıfxmanifest.luaiçindeki hemclient_scriptshem deserver_scriptslistelerine, diğer dil dosyalarının yanına ekleyin.Config.Locale = "nl"yapın, ardındanrefreshçalıştırın ve kaynağı yeniden başlatın.
Eksik bir anahtar hiçbir şeyi bozmaz, Translation [key] does not exist olarak görünür; bu da yarım kalmış bir dosyayı fark etmeyi kolaylaştırır.
Bridge
Section titled “Bridge”bridge/ içindeki iki dosya, kaynağın framework’ünüze dokunduğu tek yerlerdir.
| Dosya | Ne yapar |
|---|---|
bridge/server.lua | Framework’ü bulur, bildirimleri gönderir (esx:showNotification veya QBCore:Notify), kimin admin olduğuna karar verir, bir oyuncunun mesleğini okur, kullanılabilir eşyaları kaydeder ve kullanımdan sonra bir eşyayı siler |
bridge/client.lua | Oyuncu tarafında framework’ü bulur ve bildirimleri gösterir (ESX.ShowNotification veya QBCore.Functions.Notify) |
Hiçbir framework bulunamazsa bildirimler sohbet mesajlarına geri döner.
Uyarlama. Kendi bildirim scriptinizi kullanmak için her iki dosyada Bridge.Notify gövdesini değiştirin. Özel bir admin sistemi için Bridge.IsAdmin fonksiyonunu değiştirin. ESX, QBCore veya QBox olmayan bir framework için bridge/server.lua içindeki her Bridge. fonksiyonunu doldurun — framework algılama, Notify, IsAdmin, GetPlayerJob, RegisterUsableItem ve RemoveItem — kaynağın başka bir şeye ihtiyacı yoktur.