Bloga Geri Dön
Scripts5 dk. okuma

Agency-Notify: Bildirimler 2014 FiveM Gibi Değil, iOS Gibi Hissettirmeli

Agency-Notify neden geliştirildi: çünkü çoğu FiveM sunucusundaki bildirim UX'i hala on yıl öncesinden kalma gibi görünüyor.

Agency Scripts

Agency Scripts Kurucusu ve Baş Geliştiricisi

Bildirim Getosu

Çoğu FiveM sunucusundaki bildirimler hâlâ 2019'dan kalma varsayılan ESX gibi görünüyor: Üstte basit renkli bir çubuk, belki bir simge, tek satır metin. Oyuncular bunları görmezden gelmeye alıştı. Bu, önemli bilgileri iletmek için harcanan devasa bir iletişim kanalıdır.

Modern Bildirimler Nasıl Görünür

Agency-Notify, düzgün şekilde üst üste binen, zengin içerikleri (ikonlar, görseller, çok satırlı metinler, eylem butonları) destekleyen ve belirgin görsel tarzlara sahip net önem dereceleri barındıran toast tarzı bildirimler sunar. Success, warning, error ve info durumlarının her biri kendi animasyonuna, rengine ve tipografi ağırlığına sahiptir.

Spamı Önleyen Gruplandırma

Benzer üç bildirim hızlı bir şekilde arka arkaya tetiklenirse, Agency-Notify bunları tek bir gruplanmış bildirimde toplar. Artık ekranı kaplayan üç adet aynı "You gained $500" bildirimi yok. Bu, oyuncuların modern her uygulamadan beklediği ve sonunda FiveM platformunda da yer alan bir davranıştır.

Geliştirici Dostu API

Herhangi bir script'ten bildirim tetiklemek için tek bir fonksiyon çağrısı: exports['agency-notify']:Show({title, body, icon, level, duration, actions}). Bildirimi daha sonra güncellemek veya kapatmak için kullanabileceğiniz bir kimlik döndürür. Bu kadar. Framework bağımlılığı yok, sihirli global değişkenler yok.

Bir Nedenden Ötürü Standalone

Agency-Notify, framework bağımsız bir yapı taşıdır. QBCore script'leriniz, ESX script'leriniz ve standalone özel kodlarınızın tümü aynı API'yi çağırır. Farklı geliştiricilerin onlarca script'i genelinde bir sunucunun görsel dilini bu şekilde tutarlı tutarsınız.

Kurulum & Yapılandırma

Agency-Notify kurulumunu çalışır hale getirmek on dakikadan az sürer. Tebex kütüphanenizden resource dosyasını indirin, şunu sürükleyin agency-notify klasörünü sunucunuzun resources dizinine ekleyin ve ensure agency-notify sizin server.cfg. Resource'un veritabanı bağımlılığı yoktur, tüm bildirim durumu istemci tarafında bellekte işlenir.

Çalışmaya başladığında, sunucunuzdaki herhangi bir script exports API'sini anında çağırabilir. Bildirimleri tetiklemeye başlamak için kurulum sonrası yapılandırma gerekmez; varsayılan ayarlar kutudan çıktığı haliyle gayet uygundur.

Yapılandırma Seçenekleri

Aç config.lua görsel ve davranışsal varsayılanları özelleştirmek için:

  • Konum, sağ üst (varsayılan), sol üst, sağ alt veya sol alt köşeye sabitleme.
  • Maksimum görünür, eskileri kapatılmadan önce kaç bildirimin üst üste birikeceği. Varsayılan: 5.
  • Varsayılan süre, otomatik kapatma öncesindeki milisaniye süresi. Bağımsız bildirimler bunu geçersiz kılabilir.
  • Animasyon stili, sağdan kayma (varsayılan), solma veya ölçekleme. Tüm bildirimlere genel olarak uygulanır.
  • Grup penceresi, aynı bildirimlerin birleştirileceği milisaniye cinsinden zaman aralığı.
  • Ses etkin, önem derecesi başına hafif bildirim sesini açıp kapatın.

Tüm ayarlar tek bir düz config tablosunda yer alır; araştırılacak iç içe yapılar veya ayrı istemci ve sunucu yapılandırmaları yoktur.

Framework Uyumluluğu

Agency-Notify %100 standalone çalışır. Framework import'ları, QBCore bağımlılığı veya ESX bağımlılığı yoktur. Bu şu anlama gelir:

  • Temel framework'ünüzden bağımsız olarak tüm FiveM sunucularında çalışır.
  • Framework'ü daha sonra değiştirmek bildirim çağrılarınızı bozmaz.
  • Hangi framework'ü kullandığınızı bilmesine gerek kalmadan, her yazarın her script'i aynı API üzerinden bildirim gönderebilir.

Mevcut bir bildirim sistemini değiştiriyorsanız (ox_lib notify, QBCore QBNotify vb.), scriptlerinizdeki export çağrısını güncellemeniz yeterlidir. İmza yaygın kalıplara oldukça yakın olduğundan bul ve değiştir işlemi çoğu geçişi halleder.

Roleplay İçin Bu Neden Önemli

Bildirimler, sunucu sistemleri ile oyuncular arasındaki birincil geri bildirim kanalıdır. Bir uyuşturucu satışı tamamlandığında, rakip bir çete bölgenize girdiğinde veya bir yetkilinin bir etkinlik hakkında herkesi uyarması gerektiğinde bunların tümü bildirimler üzerinden yürütülür. Bu kanal eski görünürse veya görmezden gelinirse, kritik sunucu iletişimi sessizce aksar.

Bildirim sistemine güvenen oyuncular ona dikkat eder. Sürekli spam yapan, çirkin bir bildirim çubuğunu görmezden gelmeye alışmış oyuncular gelişmeleri kaçırır ve ortamdan kopmuş hisseder. Agency-Notify'ın gruplandırma sistemi özellikle bu spam sorununu çözer: Sunucunuz bir soygun sırasında peş peşe üç bildirim gönderirse, oyuncular dikkat çekmek için yarışan üç toast bildirimi yerine tek bir gruplanmış mesaj görür.

Önem derecesi seviyeleri (success, warning, error, info) ikinci bir sinyal katmanı ekler. Oyuncular yeşilin iyi, kırmızının ise hemen harekete geç anlamına geldiğini çabucak öğrenir. Bu renk okuryazarlığı, yüksek tempolu durumlarda bilişsel yükü azaltır.

Sıkça Sorulan Sorular

Bir bildirim gösterildikten sonra onu güncelleyebilir veya kapatabilir miyim?

Evet. Bu Show() export bir ID döndürür. Bu ID'yi şuna iletin: exports['agency-notify']:Update(id, {body, level}) içeriği değiştirmek veya exports['agency-notify']:Dismiss(id) erken kaldırmak için. Bu, durum değiştiren ilerleme türündeki bildirimler için kullanışlıdır (örneğin: "Processing…" → "Done").

Bu ox_lib bildirimlerinin yerini alır mı?

Değiştirebilirsiniz. Agency-Notify, farklı bir görsel stille aynı kullanım alanlarını kapsar. Diğer Agency scriptleriyle uyumlu glassmorphism estetiğini istiyorsanız, geçiş yapmak oldukça kolaydır. Sunucunuz yoğun bir şekilde ox_lib entegrasyonuna sahipse ve bu görünümden memnunsanız, bildirimler için ox_lib kullanmaya devam etmenizde sakınca yoktur, herhangi bir çakışma oluşmaz.

Oyuncular bildirim konumlarını özelleştirebilir mi?

Kutudan çıktığı gibi değil, konum sunucu düzeyinde bir yapılandırma tercihidir. Bu kasıtlıdır: bireysel oyuncular değil, sunucu sahipleri görsel dili kontrol eder. Oyuncu başına tercihler istiyorsanız, tercihlerini bir veritabanına kaydetmeniz ve katılışta oyuncu verileri üzerinden aktarmanız gerekir.

Script kaynaklı bildirim spam'ini önlemek için bir rate limit var mı?

Gruplandırma sistemi tekilleştirmeyi otomatik olarak halleder. Katı rate limiting için şunu ayarlayın: Config.RateLimit = true ve Config.RateLimitWindow = 1000 config.lua içinde (ms). Bu ayar, tek bir scriptin bu zaman aralığında tetikleyebileceği benzersiz bildirim sayısını sınırlar.

Gereksinimler

  • FiveM sunucusu (herhangi bir framework veya standalone)
  • Keymaster hesabınızda geçerli bir Agency-Notify lisans anahtarına sahip cfx.re hesabı
  • Veritabanı bağımlılığı yok
  • Harici resource bağımlılığı yok

Agency-Notify ile Alternatiflerin Karşılaştırılması

FiveM bildirim ekosisteminde birkaç seçenek mevcuttur: ox_lib bildirimleri, QBCore yerleşik bildirimleri ve çeşitli standalone scriptler. Her birinin mantıklı olduğu kullanım alanları şunlardır:

ox_lib bildirimleri yetkin ve bakımlıdır, ancak üslup olarak ox_lib görsel diline bağlıdır. Sunucunuz zaten tamamen ox_lib çalıştırıyorsa, görsel tutarlılık yükseltmeden daha ağır basabilir. Agency odaklı bir altyapı kuruyorsanız, Agency-Notify'ın uyumlu estetiği daha güçlü bir tercihtir.

QBCore'un QBNotify sistemi işlevseldir ancak minimaldir, gruplama yok, güncelleme API'si yok, eylem butonları yok. Temel kullanım senaryoları için çalışır ve zaten QBCore kullanıyorsanız ek bir maliyeti yoktur. Basit toast bildirimlerinin ötesinde bir şeye ihtiyacınız varsa, artık sizin için yetersiz kalmış demektir.

Agency-Notify, bildirim deneyimini sonradan akla gelen bir detay olarak değil, bir ürün ayrıntısı olarak önemseyen sunucuları hedefler. Daha önce hiç "bildirimlerimiz kötü görünüyor ve oyuncular bunları görmezden geliyor" diye düşündüyseniz, bu script tam olarak bu sorunu çözmek için vardır.

Eşleşen script

Sunucunuz için hazır, güncellemeler dahil.

Başlamaya Hazır mısınız?

Scriptleri mağazamızdan edinin veya destek, güncellemeler ve gelecek yeniliklere göz atmak için Discord'a katılın.