İçeriğe geç

Özelleştirme

Neredeyse her şey config.lua içindedir. Gerisi metin, veri ve framework’ünüzle konuşan ince katmandır.


DosyaNeye karar verirDüzenlemeye açık
config.luaFramework, dil, kimin boyayabileceği, eşyalar, komut adları, boya dükkânı işaretçileriEvet
locales/*.luaHer bildirim ve sohbet önerisi, dil başına bir dosyaEvet
locales/main.luaConfig.Locale için metni seçen fonksiyonEvet
bridge/server.luaFramework algılama, bildirimler, admin kontrolü, meslekler, kullanılabilir eşyalar, eşya silmeEvet
bridge/client.luaOyuncu tarafında framework algılama ve bildirimlerEvet
items/ox.lua, items/qb.lua, items/sql.sqlEnvanterinize kopyalanacak hazır eşya tanımlarıEvet
permissions.jsonMenüyü açmasına izin verilen Steam ID’leri. give ve remove komutlarıyla yazılırEvet
vehicle_original_colors.jsonBoyanan her aracın ilk boyanmadan önceki rengi, model ve plakaya göreEvet
html/ui.html, html/style.css, html/script.jsMenü: 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.luaMantıkEscrow’lu

SeçenekNe yaparVarsayı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.LocaleHer mesajın dili. Aşağıdaki Diller bölümüne bakın"es"
Config.PermissionFileYetki listesini tutan JSON dosyasının adı"permissions.json"

SeçenekNe yaparVarsayılan
Config.Permissionspermissions.json içindeki yetki listesini kullanırtrue
Config.UseJobsConfig.AuthorizedJobs içindeki mesleklerin de menüyü açmasına izin verirtrue
Config.AuthorizedJobsUseJobs açıkken izin verilen meslek adlarımechanic, police

İki anahtar şöyle birleşir:

PermissionsUseJobsMenüyü kimler açabilir
açıkaçıkListedeki oyuncular ve mesleği AuthorizedJobs içinde olan herkes
açıkkapalı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.


SeçenekNe yaparVarsayılan
Config.UseItems82 boya eşyasını ve sıfırlama eşyasını kullanılabilir olarak kaydedertrue
Config.ItemsRequirePermissionBoya eşyalarının menüyle aynı kurallara tabi olmasını sağlar. Kapalıyken, elinde tutan herkes kullanabilirfalse

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.


Her ad, eğik çizgi olmadan config.lua içinde ayarlanır.

SeçenekVarsayılanKimNe yapar
Config.Chameleon/chameleonYukarıdaki kurallarla izin verilen herkesMenüyü açar. Bir araçta olmanız gerekir
Config.ChameleonReset/chameleonresetHerkesİçinde bulunduğunuz aracı orijinal rengine geri döndürür
Config.ChameleonGive/chameleongive [ID]AdminlerO oyuncunun Steam ID’sini yetki listesine ekler
Config.ChameleonRemove/chameleonremove [ID]AdminlerOnu 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.


Config.Locations bir listedir; istediğiniz kadar girdi ekleyin. Her birinin şu alanları vardır:

AlanNe yaparHazır değer
coordsİşaretçinin durduğu yerBurton 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çisi1 (yerde bir halka)
markerColorKırmızı, yeşil, mavi ve alfaBirinde kırmızı, diğerinde yeşil, alfa 100
markerScaleBoyutu2.0 × 2.0 × 1.0
notificationYarıçap içinde gösterilen yardım metniPress ~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.


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:

  1. locales/en.lua dosyasını yeni bir dosyaya kopyalayın, örneğin locales/nl.lua.
  2. Yeni dosyanın en üstündeki dil kodunu nl olarak değiştirin ve metni çevirin.
  3. locales/nl.lua dosyasını fxmanifest.lua içindeki hem client_scripts hem de server_scripts listelerine, diğer dil dosyalarının yanına ekleyin.
  4. Config.Locale = "nl" yapın, ardından refresh ç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/ içindeki iki dosya, kaynağın framework’ünüze dokunduğu tek yerlerdir.

DosyaNe yapar
bridge/server.luaFramework’ü 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.luaOyuncu 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.