Agency-Phone: FiveM İçin Özel Olarak Geliştirilmiş Akıllı Telefon
Agency-Phone'un uygulama mimarisinden yük altındaki performansa kadar FiveM'deki en sürükleyici oyun içi akıllı telefon deneyimini neden sunduğu.
Agency Scripts
Agency Scripts Kurucusu ve Baş Geliştiricisi
Canlı Demo
Agency Phone'u tarayıcınızda deneyin, indirme gerekmez.
Neden Bir FiveM Telefonu Daha Geliştirilsin?
Agency-Phone'u geliştirdik çünkü kendi sunucularımızda denediğimiz her telefon ya harika görünüp kötü performans sergiliyor ya da iyi performans sergileyip eski görünüyordu. Pazar tavizlerle doluydu. Açtığınız anda gerçekten modern bir akıllı telefon hissi veren ve birinin cebinde dururken bile 0.00ms boşta kaynak kullanımına ulaşan bir şey istedik.
FiveM Hissi Vermeyen Bir UI
Çoğu FiveM telefonu açıldıktan sonra iki saniye içinde kökenini ele verir. Yazı tipleri biraz tuhaf görünür, animasyonlar takılır, ana ekran düzeni geçici bir taslak hissi verir. Agency-Phone, her gün gerçek akıllı telefonlar kullanan kişiler tarafından tasarlandı. Kilit ekranı saatinden uygulama çekmecesinin yay fiziğine kadar her öğe, bir script gibi hissettirmeyi bırakıp bir telefon gibi hissettirene kadar geliştirildi.
Uygulama Mimarisi
Kaputun altında Agency-Phone, lazy-loading özellikli bir uygulama sistemi kullanır. Uygulamalar UI'larını yalnızca gerçekten açıldıklarında başlatır, bu da daha fazla uygulama eklesek bile bellek kullanımını sabit tutar. Client Lua ile NUI katmanı arasındaki event bus, hızlı kullanıcı hareketlerinin oyunu resmon sıçramalarıyla boğmaması için debounce edilmiştir. Bu, kimsenin görmediği ancak sunucunuz 128 oyuncuyu barındırırken herkesin yararlandığı türden bir mühendislik çalışmasıdır.
Varsayılan Olarak Framework Bağımsız
Agency-Phone, QBCore ve ESX için adapter'larla birlikte gelir ancak çekirdeği framework bağımsızdır. Kendi oyuncu veri katmanınıza sahip standalone bir sunucu yönetiyorsanız, dört lookup fonksiyonunu uygulayarak bir öğleden sonra içinde bağlantıyı kurabilirsiniz. Sizi tek bir framework'e hapseden script'ler sunmayı reddediyoruz çünkü framework'ler sürekli değişiyor, toplulukta geçirdiğimiz süre boyunca en az üç kez "artık standart bu" dalgasının gelip geçtiğini gördük.
RP'de Telefonun Amacı
Bir FiveM telefonu nihayetinde sosyal bir araçtır. Oyuncular bunu buluşmaları koordine etmek, uyuşturucu anlaşmaları yapmak, patronlarının karakterine mesaj atmak ve radyo uygulamasından müzik dinlemek için kullanır. Agency-Phone'a eklediğimiz veya çıkardığımız her şey şu soruya göre değerlendirilir: Bu, sosyal etkileşimi daha kolay veya daha eğlenceli hale getiriyor mu? Takvim hatırlatıcılarından önce bir galeri uygulaması sunmamızın ve zamanlanmış mesajlardan önce varsayılan mesajlaşma uygulamasına zengin yazıyor göstergeleri eklememizin nedeni budur. Önce RP, sonra özellik kontrol listeleri.
Kurulum & Yapılandırma
Agency-Phone, kişi, mesaj ve arama kaydı verilerinin kalıcılığı için oxmysql gerektirir. İçe aktarın phone.sql veritabanınıza aktarın, resource'u Tebex üzerinden indirin, resources dizininize bırakın ve şunu ekleyin: ensure agency-phone kime server.cfg. QBCore ve ESX için framework algılama otomatiktir. Standalone kurulumlar için config.lua dosyasındaki dört adaptör fonksiyonunu uygulayın; bu işlem, özel oyuncu veri katmanınıza bağlı olarak genellikle bir veya iki saatlik bir çalışmadır.
Oyuncular telefonu yapılandırılabilir tuş atamasına basarak (varsayılan: M) veya envanterlerindeki bir eşya ile açar. Her iki yöntem de eşzamanlı olarak desteklenir, bazı sunucular tuş kısayolunu kullanırken bazıları ise telefonun yere atılabildiği veya çalınabildiği daha gerçekçi eşya yaklaşımını tercih eder.
Yapılandırma Seçenekleri
The config.lua hem teknik hem de oynanış ayarlarını kapsar:
- Telefon tuş ataması, telefonu açma/kapatma tuşu. Varsayılan: M.
- Eşya olarak telefon, envanterde bir telefon eşyasının gerekip gerekmediğini açıp kapatın. Varsayılan: devre dışı (yalnızca tuş).
- Numara biçimi, yeni karakterler için telefon numaralarının nasıl görüntüleneceği ve otomatik oluşturulacağı.
- Arama menzili, kapsama alanı içi aramalar ile kapsama alanı dışı (sesli mesaj) için maksimum fiziksel mesafe. Varsayılan: karakter içi aramalar için sınırsız.
- Twitter/LifeInvader entegrasyonu, sosyal medya uygulaması için yüklüyse Agency-LifeInvader bağlantısını yapın.
- Radyo uygulaması entegrasyonu, müzik çalar uygulaması için kullanılabilir radyo yayınlarını yapılandırın.
- Bankacılık uygulaması, QBCore banking, ESX hesapları veya özel bir banking handler bağlayın.
- GPS uygulaması, sunucuya özel konumlar (hastaneler, polis karakolları, işletmeler) için özel waypoint kategorileri.
- Bildirim yönlendirmesi, hangi harici script'lerin telefona bildirim gönderebileceği ve bunların nasıl görüneceği.
Framework Uyumluluğu
Agency-Phone, QBCore ve ESX adapter'ları ile birlikte gelir. Adapter; para gösterimini, envanter item'ını (phone-as-item etkinse), mesleğe özel uygulama görünürlüğü için meslek verilerini ve karakter adı gösterimini kapsar. Standalone için de aynı dört fonksiyonlu model geçerlidir. Bir Agency script'i için adapter yazıldıktan sonra, sonraki script'ler aynı fonksiyonları paylaşır.
Roleplay İçin Bu Neden Önemli
Telefon, bir karakterin taşıdığı en kişisel prop'tur. Oyuncular her oturumda onunla etkileşime girer: Arama yapar, mesaj gönderir, banka bakiyesini kontrol eder, haritaya bakar. Bu etkileşim gerçek bir telefon hissi verdiğinde, telefon kullanımını içeren RP oturumları da daha gerçekçi hissettirir. Agency-Phone'un SMS uygulaması üzerinden okundu bilgileri ve yazıyor göstergeleriyle koordine edilen bir uyuşturucu ticareti, sohbet komutuyla koordine edilen aynı anlaşmadan anlamlı ölçüde farklı (daha iyi) bir sahnedir.
Sosyal koordinasyon işlevi, telefonun RP açısından en kritik rolüdür. Çoğu önemli RP etkinliği iletişimle başlar: birisi ulaşır, bir toplantı ayarlar, koordinat verir, zamanlamayı onaylar. Tüm bu iletişim, Discord veya OOC sohbet yerine karakter içi kanallar aracılığıyla gerçekleştiğinde çok daha sürükleyici olur. Agency-Phone bünyesindeki arama ve SMS uygulamaları, bu sosyal koordinasyon ihtiyacının %95'ini yerel olarak karşılar.
0.00ms boştaki kaynak kullanımı yalnızca teknik bir ayrıntı değildir, telefonu her zaman açık bir kaynak olarak uygulanabilir kılan unsurdur. 128 oyunculu bir sunucuda boşta 0.02ms tüketen scriptler, oyuncu kitlesi genelinde toplam 2.56ms boşta yük oluşturur. Agency-Phone'un boşta maliyet katkısı sıfırdır. Bu, paylaşılan her kaynakta olduğu gibi sunucu performansı için kritik önem taşır: oyuncu sayısıyla orantılıdır.
v2 sürümündeki galeri uygulaması ve oyun içi ekran görüntüsü alma özelliği beklenmedik bir RP kullanım senaryosu yarattı: karakter içi delil fotoğrafçılığı. Polis karakterleri telefonun kamerasıyla olay yerlerinin ekran görüntülerini alıyor ve bunları departmanlarının dahili sohbetinde paylaşıyor. Gazeteciler olayları fotoğraflayıp LifeInvader üzerinde paylaşıyor. Kamera, telefonu bir iletişim aracından gerçek bir RP uygulamasına sahip bir belgeleme aracına dönüştürüyor.
Sıkça Sorulan Sorular
Telefon numaraları sunucu sıfırlamalarından sonra da kalıcı olabilir mi?
Telefon numaraları oxmysql içinde karakter identifier değerine bağlı olarak saklanır. Karakter identifier değeri wipe sırasında korunduğu sürece numara kalıcı olur. Çoğu sunucu wipe işlemi karakter ilerlemesini sıfırlar ancak identifier değerlerini korur, bu nedenle numaralar genellikle silinmez. Identifier sıfırlamalarını da içeren tam wipe işlemleri için, bir karakterin numarasını ana wipe işleminden ayrı olarak kaydeden ve geri yükleyen bir numara koruma export'u mevcuttur.
Polis aramaları ve mesajları gerçek zamanlı olarak takip edebilir mi?
Evet. config.lua içinde takip sistemini etkinleştirin. Gerekli yetkiye sahip polisler takip panelini açabilir ve numaraya göre arama yapabilir. Aktif çağrı kaynakları haritada görünür. Mesaj meta verileri (zaman, numara çifti) log tablosunda saklanır ve Agency-Admin üzerinden erişilebilir. Tam mesaj içeriği takibi, gizlilik odaklı tasarım tercihi olarak varsayılan olarak devre dışıdır, sunucunuzun RP kuralları destekliyorsa açıkça etkinleştirin.
Oyuncu öldüğünde veya gözaltındayken telefon aramaları nasıl yönetir?
config.lua içinde ölüm ve kelepçe durumunu yapılandırın. Ölü oyuncular doğrudan sesli mesaja yönlendirilecek, telefonları devre dışı bırakılacak veya yalnızca acil aramalara izin verilecek şekilde ayarlanabilir. Kelepçeli oyuncuların telefon kullanımı tamamen engellenebilir veya yalnızca GPS görünümüyle sınırlandırılabilir (böylece polis destek çağırmadıklarını görebilir). Bu durumlar, deathscreen ve kelepçe script'lerinizdeki export edilen fonksiyonlar aracılığıyla algılanır.
Müzik uygulamasında hangi radyo istasyonları mevcut?
Varsayılan istasyon listesi, yaygın türleri kapsayan sekiz topluluk radyosu akış URL'si içerir. Şu konuma akış URL'leri ekleyerek kendinizinkileri ekleyin: Config.RadioStations. Sunucular genellikle personelin karakter içi haberler yayınladığı kendi sunucu radyo istasyonlarını ekler. DRM veya yayın servisi entegrasyonu yoktur, herkese açık herhangi bir ses yayını URL'si çalışır.
Gereksinimler
- FiveM sunucusu (QBCore, ESX veya standalone)
- oxmysql
- geçerli Agency-Phone lisansına sahip cfx.re hesabı
- İsteğe bağlı: Agency-LifeInvader (sosyal uygulama entegrasyonu için)
- İsteğe bağlı: Agency-Pad (cihazlar arası veri senkronizasyonu için)