İçeriğe geç

Özelleştirme

Her mağaza panelde yapılandırılır ve veritabanınızda saklanır — bkz. 🏪 Mağaza oluşturma. Dosyalar, tüm mağazaların ortak olarak sahip olduğu şeyler içindir.


DosyaNeye karar verirAçık mı?
config.luaFramework, dil, etkileşim, varsayılan ped, komut, görseller, kategoriler, soygun kuralları, tanımlayıcılarEvet
bridge/server.luaPara, hesaplar, eşyalar, envanter, meslekler, bildirimler, callback’ler ve özel polis uyarısıEvet
bridge/client.luaİstemcide bildirimler, yardım istemleri, oyuncu verisi ve callback’lerEvet
bridge/target.luaSatıcıların ve mağaza noktalarının ox_target veya qb-target’a nasıl eklendiğiEvet
bridge/utils.luaBir oyuncunun tanımlayıcılarını (Steam, lisans, Discord, FiveM, Xbox) okurEvet
locales/*.luaOyun içi metin: bildirimler, istemler, soygun mesajlarıEvet
html/locales.jsPanellerin ve mağaza penceresinin içindeki metin, on iki dilin tamamı içinOkunabilir
html/index.html, style.css, script.jsPaneller ve mağaza penceresiOkunabilir
list/peds.luaPanelde sunulan ped modelleriŞifreli (escrow)
mic_shopcreator.sqlBir kez içe aktarılan dokuz tabloEvet
client.lua, server.luaMağaza mantığıŞifreli (escrow)

SeçenekNe yaparVarsayılan
Config.LocaleOyunda ve panellerdeki dil. Bkz. Diller'en'
Config.Framework'esx' veya 'qbcore'. Kendiliğinden algılanmaz. QBox üzerinde 'qbcore' kullanın — QBox, QBCore kaynaklarını uyumluluk katmanı üzerinden çalıştırır'esx'
Config.CommandShop Creator panelini açan komut'shopcreator'
Config.IdentifierTypeSahiplerin ve çalışanların nasıl tanındığı: 'discord', 'license', 'esx' veya 'citizenid'. Bkz. Kurulum'discord'
SeçenekNe yaparVarsayılan
Config.Interaction'ox_target', 'qb-target' veya 'default' (yardım istemi ve E)'ox_target'
Config.RadiusInteract'default' ile, bir oyuncunun metre cinsinden ne kadar yakın olması gerektiği2.0
Config.SpawnNPCfalse hiçbir satıcı yerleştirmez: noktayı bunun yerine bir işaretçi ('default' ile) veya bir target küresi belirtir. Satıcı olmaması soyulacak kimsenin olmaması demektirtrue
Config.DefaultPedBir konumun hiç modeli olmadığında veya geçersiz bir modeli olduğunda kullanılan model'a_f_m_bevhills_01'
Config.PedSpawnDistanceSatıcılar yalnızca bir oyuncu bu kadar metre içindeyken var olur20.0
SeçenekNe yaparVarsayılan
Config.CategoriesBir ürün eklerken sunulan kategoriler; mağaza penceresi ürünleri bunlara göre gruplaritems, weapons, misc
Config.InventoryImagePathGörsel klasörlerinin bir listesi. Her ürün için pencere, her klasörde sırayla <item name>.png dosyasını dener ve yüklenen ilkini kullanırnui://ox_inventory/web/images/
Config.AllowEmployeesAddProductsSahipli mağazalarda çalışanların yeni ürün ekleyip ekleyemeyeceği. Sahipler her zaman ekleyebilir; çalışanlar mevcut olanları her zaman yönetebilirfalse

ox_inventory kullanmıyor musunuz? Config.InventoryImagePath değerini envanterinizin görsel klasörüne yönlendirin, örneğin nui://qb-inventory/html/images/. Görselleriniz klasörlere bölünmüşse ikinci bir giriş ekleyin.

SeçenekNe yaparVarsayılan
Config.BlacklistWeaponsSoygun başlatamayacak silahlar olması amaçlanmıştır. Bu sürüm bunu okumaz: her silah bir soygun başlatır ve yalnızca çıplak eller asla başlatmazweapon_unarmed, weapon_nightstick, weapon_stungun
Config.RobberyNotifyJobsBir soygun başladığında uyarılan mesleklerpolice
Config.PoliceAlert"default" yukarıdaki mesleklere bir bildirim ve bir dakikalığına bir blip ile uyarı verir. "custom" bunun yerine bridge/server.lua içindeki TriggerPoliceAlert fonksiyonunu çağırır"default"
Config.RobberyCooldownKayıtlı bir bekleme süresi olmayan mağaza için yedek bekleme süresi. Kod bunu mağaza başına alan gibi dakika olarak sayar (config.lua içindeki yorum saniye der)300
Config.TakeRobberyMoneyFromVaultSahipli mağazalarda para ödülleri mağazanın kasasından çıkar — ve kasa boşaldığında dururtrue
SeçenekNe yaparVarsayılan
Config.ScreenshotDiscord loglarına oyuncunun ekranının bir görüntüsünü ekler. screenshot-basic çalışıyor olmalıtrue

Webhook URL’si burada değil, panelde mağaza başına ayarlanır.


KomutKimler kullanabilirNe yapar
/shopcreatorACE mic_shop.openShop Creator panelini açar. Config.Command ile yeniden adlandırılır ve her komut gibi FiveM’in tuş ayarlarında bir tuşa atanabilir

Mağaza sahiplerinin ve çalışanlarının yetkiye ihtiyacı yoktur: mağaza penceresi, sahibi oldukları veya çalıştıkları bir mağazayı açtıklarında onlara Shop Settings için bir dişli düğmesi gösterir.


On iki dil hazır gelir: en, es, fr, de, it, pt, ru, ja, ko, zh-CN, ar ve nl. Metin iki yerde bulunur ve ikisi de Config.Locale değerini izler:

  • locales/<code>.lua — oyunun gösterdikleri: bildirimler, yardım istemleri, soygun mesajları.
  • html/locales.js — panellerin ve mağaza penceresinin gösterdikleri, her dil için bir blok.

Dil ekleme:

  1. locales/en.lua dosyasını locales/<code>.lua olarak kopyalayın ve her satırın sağındaki metni çevirin. Anahtarları ve varsa %s ifadelerini koruyun.
  2. Oyuncuların indirmesi için locales/<code>.lua dosyasını fxmanifest.lua içindeki shared_scripts listesine, diğerlerinin yanına ekleyin.
  3. html/locales.js içinde 'en' bloğunu kopyalayın, kodunuzla yeniden adlandırın ve çevirin.
  4. Config.Locale değerini kodunuza ayarlayın, refresh yapın ve yeniden başlatın.

Lua dosyanızda eksik olan bir anahtar oyunda Translation not found: <key> olarak görünür.


bridge/ içinde dört açık dosya vardır. Fonksiyon adlarını koruyun — mağaza kodu onları adıyla çağırır.

bridge/server.lua — biri ESX, biri QBCore için olmak üzere iki blok; Config.Framework ile seçilir.

FonksiyonNe için
GetPlayer, GetPlayerJobOyuncu nesnesi ve mesleği
GetMoney, AddMoney, RemoveMoneyNakit
GetAccount, AddAccountMoney, RemoveAccountMoneyAdlandırılmış hesaplar: bank, black_money
GetInventoryItem, AddInventoryItem, RemoveInventoryItemEşyalar. ox_inventory çalışıyorsa onun üzerinden okur
GetPlayerInventorySahibin mağazasını doldururken listelenen envanteri
ShowNotificationSunucu tarafı bildirimler
RegisterServerCallbackESX veya QBCore üzerinden callback’ler
TriggerPoliceAlert(x, y, z, shopLabel)Config.PoliceAlert = "custom" iken her soygunda çağrılır. Varsayılan olarak boştur — dispatch çağrınızı buraya koyun

bridge/client.lua — ShowNotification, ShowHelpNotification, GetPlayerData ve TriggerServerCallback. QBCore’da ShowHelpNotification boştur; Config.Interaction = 'default' kullanıyorsanız veya çalışan davet istemini görmek istiyorsanız onu kendi yardım metni veya draw-text çağrınızla doldurun.

bridge/target.lua — ox_target veya qb-target için her satıcıya (veya Config.SpawnNPC kapalıyken küçük bir küreye) “mağazayı aç” seçeneğini ekler ve mağazalar değiştiğinde onları tekrar kaldırır.

Özel polis dispatch’i: Config.PoliceAlert = "custom" yapın ve dispatch kaynağınızın uyarısını bridge/server.lua içindeki TriggerPoliceAlert fonksiyonunun içine yazın. Fonksiyon, satıcının koordinatlarını ve mağazanın adını alır.


Başka bir kaynaktan mağaza açmak için istemci export’ları:

ExportArgümanlarNe yapar
OpenShopmağaza ID, konum IDO mağazanın penceresini, bekleme süresine ve meslek kısıtlamasına uyarak açar
OpenShopAsEmployeemağaza ID, konum IDOpenShop ile aynıdır; oyuncu orada sahip veya çalışansa Shop Settings dişlisi görünür
OpenShopAsOwner—Oyuncuda mic_shop.open varsa Shop Creator panelini açar

Target kaynakları ayrıca, verisinde shopId ve locationId ile mic_shopcreator:client:openShop istemci olayını da çağırabilir; yerleşik target seçeneklerinin yaptığı budur. Mağaza ve konum ID’leri panelde gösterilenlerdir.