QBCore, ESX veya Standalone: Agency Scripts Framework'ünüzle Nasıl Çalışır
Agency'nin her scripti QBCore, ESX ve standalone FiveM sunucularıyla sorunsuz çalışacak şekilde tasarlanmıştır. İşte uyumluluğun gerçekte nasıl çalıştığı.
Agency Scripts
Agency Scripts Kurucusu ve Baş Geliştiricisi
Framework Uyumluluk Sorunu
Çoğu FiveM scripti içine tek bir framework hard-coded edilmiş şekilde gelir. QBCore çalıştırıyorsanız QBCore scriptleri kullanırsınız. ESX kullanıcıları ESX scriptlerine mahkumdur. Standalone kullanıcıları ise çoğunlukla işleri derme çatma çözer. Agency Scripts tam tersi bir felsefeyle geliştirildi: framework bir varsayım değil, bir adaptördür.
Adapter Kalıbı
Her Agency scripti, küçük bir sorgu fonksiyonu seti sunar: getPlayerData, getInventory, addMoney, removeItem, getJob. Bunları kutudan çıktığı gibi QBCore ve ESX uygulamalarına eşleyen adaptörler sunuyoruz. Standalone için bu dört veya beş fonksiyonu kendiniz uygularsınız, genellikle bir sabahlık iştir, ve böylece her Agency script'i uyumlu hale gelir.
Bunun Pratikteki Anlamı
Sunucunuzu QBCore'dan ESX'e geçirdiğinizde (ki framework'ler geliştikçe bu durum birkaç yılda bir gerçekleşir), Agency script'lerinin yeniden kurulması veya yeniden yapılandırılması gerekmez. Adaptörü değiştirirsiniz, geri kalan her şey çalışmaya devam eder. Bu, FiveM ekosisteminde inanılmaz derecede nadirdir ve sunucu sahiplerinin uzun vadede araçlarımızı standart hale getirmesinin ana nedenidir.
Ürün Sayfalarımızdaki Hangi Framework Etiketi Ne Anlama Gelir
Bir ürün sayfasında "QBCore, ESX" listelendiğinde, her ikisi için de hazır adaptörler sunduğumuz anlamına gelir. "Standalone" yazdığında ise scriptin framework bağımsız olduğunu, adaptöre ihtiyaç duymadığını ve her sunucuda çalıştığını ifade ederiz. Pratikte neredeyse her Agency scripti, küçük bir uyumluluk katmanı ile standalone kurulumlarda kullanılabilir.
Satın Almadan Önce Ne Zaman Sormalısınız
Alışılmadık bir kurulum, özel framework, yoğun şekilde modifiye edilmiş QBCore veya tamamen size özel bir yapı kullanıyorsanız, satın almadan önce Discord sunucumuzda bir talep açın. Nelerin çalışacağını, nelerin küçük uyarlamalar gerektireceğini ve nelerin zahmete değmeyeceğini dürüstçe söyleriz. Satış baskısı yok; uymayan üç script yerine tam uyan bir script almanızı tercih ederiz.
Adapter Pattern Pratikte Nasıl Çalışır
Bir Agency script'i yüklediğinizde, resource klasörü bir framework en az üç dosya içeren alt dizin: qb.lua, esx.lua, ve standalone.lua. Ana script, QBCore veya ESX export'unu kontrol ederek hangi framework'ün mevcut olduğunu otomatik olarak algılar. Eşleşen bağdaştırıcı dosyası yüklenir, diğerleri yüklenmez. Bu otomatik algılama herhangi bir oynanış mantığı çalışmadan önce gerçekleşir, framework algılamasından kaynaklanan bir çalışma zamanı yükü yoktur.
Her adaptör aynı dahili API arayüzünü uygular. Bir scriptin oyuncuya para vermesi gerektiğinde şunu çağırır: Framework.AddMoney(src, amount) dahili olarak. Şuradaki fonksiyon: qb.lua QBCore para export'unu çağırır; şurada: esx.lua ESX'in hesap sistemini çağırır; şunda: standalone.lua şurada tanımladığınız fonksiyonu çağırır: config.lua. Tek çağrı, üç uygulama, framework'ler arasında sıfır script değişikliği.
QBCore Üzerinde Kurulum
QBCore sunucuları için kurulum genellikle üç adımdır: resource'u indirin, resources klasörüne bırakın ve server.cfg dosyasına ekleyin. Framework algılama otomatiktir. Önemli ölçüde değiştirilmiş bir QBCore kullanıyorsanız (özel para sistemi, özel envanter, özel meslekler), belirli adaptör fonksiyonlarını şurada geçersiz kılmanız gerekebilir: config.lua düzenlemek yerine qb.lua doğrudan. Config override yaklaşımı, resource güncellemelerinde değişikliklerinizi kaybetmeyeceğiniz anlamına gelir.
ESX Üzerinde Kurulum
ESX kurulumu da aynı düzeni takip eder. Ara sıra gereken ek bir adım: ESX sürümünüz oldukça eskiyse (1.7 öncesi), bazı adaptör fonksiyonları daha yeni ESX export adlarına başvurur. Kaynak, eski sürümlerle uyumluluk bayrağıyla birlikte gelir Config.ESXLegacy = true ihtiyaç duyan tüm Agency scriptlerinde daha eski ESX API çağrılarına geçiş yapan.
Standalone Üzerinde Kurulum
Standalone, çoğu sunucu sahibinin geçmişte diğer scriptlerle en çok sorun yaşadığı alandır. Agency Scripts'in standalone yaklaşımı açık ve iyi belgelenmiştir. Her script için standalone adaptör dosyası, tam olarak hangi fonksiyonları uygulamanız gerektiğini listeler. Çoğu script dört ila sekiz fonksiyona ihtiyaç duyar. Her fonksiyonun ne döndürmesi gerektiğini açıklayan bir yorum satırı bulunur. Tipik bir standalone uygulama, özel oyuncu veri sisteminizin ne kadar karmaşık olduğuna bağlı olarak bir ila üç saat sürer.
Bir Agency script'i için adaptörü uyguladıktan sonra, sonraki script'ler çok daha az zaman alır; aynı özel fonksiyonlar genellikle birden fazla resource için geçerlidir.
Uzun Vadeli Sunucu İşletimi İçin Bu Neden Önemli
FiveM framework'leri kalıcı değildir. Üç veya daha uzun süredir çalışan sunucular, muhtemelen en az bir büyük framework geçişi yaşamıştır; belki bir topluluk ESX fork'undan ana ESX sürümüne veya eski bir QBCore sürümünden güncel sürüme geçiş yapmıştır. Framework'e bağımlı script'lere dayanan sunucular yüksek bir geçiş bedeli öder: framework önemli ölçüde değiştiğinde her script'in güncellenmesi veya değiştirilmesi gerekir.
Agency Scripts'in adaptör mimarisi, bir altyapı geçişinin yalnızca adaptör katmanını etkilemesi anlamına gelir. Agency-Phone verileriniz, Agency-Admin kayıtlarınız, Agency-Blackmarket işlem geçmişiniz ve Agency-Minerjob içindeki oyuncu ilerlemeniz tamamen korunur. Adaptör dosyalarını değiştirir, config.lua dosyasını güncellersiniz ve scriptler çalışmaya devam eder. Bu uyumluluk yaklaşımının asıl uzun vadeli değeri yalnızca birden fazla altyapıyı desteklemek değil, sunucunuzu altyapı evriminden korumaktır.
Sıkça Sorulan Sorular
Tüm Agency scriptleri aynı adapter desenini mi kullanıyor?
Evet. Ücretli tüm Agency scriptleri ve çoğu ücretsiz script bu yapıyı kullanır. Tek istisnalar, hiçbir framework etkileşimi olmayan ve her yerde aynı şekilde çalışan Agency-Loadingscreen ve Agency-Notify gibi tamamen UI resource'larıdır.
Framework adaptörlerini karıştırabilir miyim? Örneğin QBCore parasını ancak standalone envanterini kullanmak gibi?
Evet, config override'ları ile mümkündür. Framework algılamanızı QBCore olarak ayarlayın, ardından QBCore yerine özel envanter sisteminizi çağırmak için config.lua içindeki belirli adaptör fonksiyonlarını override edin. Override sistemi tam olarak hibrit kurulumlara sahip sunucular için mevcuttur.
Yeni bir framework popüler olur ve henüz desteklenmezse ne olur?
Discord üzerinden bir destek talebi açın. Yeni framework destek taleplerini topluluk benimsemesine göre değerlendiriyoruz. Önemli topluluklara sahip framework'ler için geçmişte 2-4 hafta içinde destek ekledik. Bu süreçte, geçici bir çözüm olarak standalone bağdaştırıcı yolu her framework için çalışır.
Framework güncellendiğinde framework adaptörleri de güncellenir mi?
Evet. QBCore veya ESX uyumluluğu bozan bir değişiklik yayınladığında, framework sürümünden sonraki birkaç gün içinde adaptör güncellemelerini yayınlarız. Aktif aboneler güncelleme bildirimlerini Tebex üzerinden alır. Abonelik modelinin var olma nedenlerinden biri de budur: adaptör bakımı tek seferlik bir maliyet değil, sürekli bir çalışmadır.
Framework Başına Gereksinim Özeti
- QBCore, güncel herhangi bir QBCore sürümü. Otomatik algılanır, standart kurulumlar için sıfır yapılandırma.
- ESX, ESX Legacy 1.7+ veya mainline ESX. Daha eski sürümler için legacy bayrağını ayarlayın.
- Standalone, config.lua içinde script başına 4-8 fonksiyon uygulayın. Tek seferlik kurulum, Agency scriptleri genelinde tekrar kullanılabilir.
- Tüm kurulumlar, geçerli lisansa sahip cfx.re hesabı, Artifacts 5181 veya üzeri FiveM sunucusu önerilir.