Merhaba,
Uzun süredir gözlemlediğim bir cursor problemi var. Bu paylaşımda bu problemi kökten çözmeyi amaçladım ve bir cursor kütüphanesi geliştirdim. FiveM'de cursor yönetimi genellikle her sistemin kendi içerisinde çözmeye çalıştığı bir konu. Yani merkezi bir yönetim maalesef yok, bu da zamanla focus çakışmaları, tekrar eden kodlar ve standart olmayan bir yapı ortaya çıkartıyor.
Bu kütüphanenin amacı, tüm sistemlerin kullanabileceği merkezi ve tek bir cursor API'si sunmak. Bu sayede cursor ile ilgili işlemler tek bir yerden yapılabilecek ve çeşitli çakışmaların önüne geçebilecektir.
Özellikler
Ekrana cursor getirmek için exports.cursor:Acquire("sistemadiniz") yazmanız yeterli.
Örnek Kullanım:
Sistem adı yazmanızın sebebi, sistem listesinde her cursor açılırken yeni bir cursor olarak tanımlanıyor ve cursorlar kimlikleniyor. Sistem adı yazdığınız yer ise sisteminizin açmış olduğu cursorun kimlik ismi oluyor. Siz eğer bu cursoru kapatırsanız, diğer sistemlerin açmış olduğu cursorlar kapattığınız sistemdeki NUI'ler ile etkileşim kurabiliyor.
Ekrandaki cursoru kapatmak için exports.cursor:Release("sistemadiniz") yazmanız yeterli.
Örnek Kullanım:
Cursorun açık olup olmadığını kontrol etmek için yardımcı fonksiyon:
Cursorun ekran üzerindeki koordinatlarını almak için yardımcı fonksiyon:
Cursorun belirli bir alanın içerisinde olup olmadığının kontrolü için yardımcı fonksiyon, örnek olarak Custom UI kütüphanenizi yazarken cursorun bir butonun üzerinde olup olmadığının kontrolü:
Cursorun tıklama kontrolü, ekrana tıkladığını algılamak için yardımcı fonksiyon:
Cursorun basılı tutma kontrolü için yardımcı fonksiyon:
Cursorun tıklamayı bırakma algılaması için yardımcı fonksiyon:
Uzun süredir gözlemlediğim bir cursor problemi var. Bu paylaşımda bu problemi kökten çözmeyi amaçladım ve bir cursor kütüphanesi geliştirdim. FiveM'de cursor yönetimi genellikle her sistemin kendi içerisinde çözmeye çalıştığı bir konu. Yani merkezi bir yönetim maalesef yok, bu da zamanla focus çakışmaları, tekrar eden kodlar ve standart olmayan bir yapı ortaya çıkartıyor.
Bu kütüphanenin amacı, tüm sistemlerin kullanabileceği merkezi ve tek bir cursor API'si sunmak. Bu sayede cursor ile ilgili işlemler tek bir yerden yapılabilecek ve çeşitli çakışmaların önüne geçebilecektir.
Özellikler
- Merkezi Cursor Yönetimi
- F3 Desteği (keybinds.lua içerisindeki kodlar F3 tuşuna otomatik cursor yönetimini destekler, isteğe bağlı kaldırabilirsiniz. F3 tuşuna bastığınızda cursor açılır ve kapanır.)
- Hover Kontrolü
- NUI Gerektirmez
- Hafif ve Performanslı
Ekrana cursor getirmek için exports.cursor:Acquire("sistemadiniz") yazmanız yeterli.
Örnek Kullanım:
Kod:
exports.cursor:Acquire("inventory")
Sistem adı yazmanızın sebebi, sistem listesinde her cursor açılırken yeni bir cursor olarak tanımlanıyor ve cursorlar kimlikleniyor. Sistem adı yazdığınız yer ise sisteminizin açmış olduğu cursorun kimlik ismi oluyor. Siz eğer bu cursoru kapatırsanız, diğer sistemlerin açmış olduğu cursorlar kapattığınız sistemdeki NUI'ler ile etkileşim kurabiliyor.
Ekrandaki cursoru kapatmak için exports.cursor:Release("sistemadiniz") yazmanız yeterli.
Örnek Kullanım:
Kod:
exports.cursor:Release("inventory")
Cursorun açık olup olmadığını kontrol etmek için yardımcı fonksiyon:
Kod:
exports.cursor:IsVisible()
Cursorun ekran üzerindeki koordinatlarını almak için yardımcı fonksiyon:
Kod:
exports.cursor:GetScreenPosition()
Cursorun belirli bir alanın içerisinde olup olmadığının kontrolü için yardımcı fonksiyon, örnek olarak Custom UI kütüphanenizi yazarken cursorun bir butonun üzerinde olup olmadığının kontrolü:
Kod:
exports.cursor:IsInBox(100, 100, 300, 50) -- Argümanlar: x, y, width, height
Cursorun tıklama kontrolü, ekrana tıkladığını algılamak için yardımcı fonksiyon:
Kod:
exports.cursor:IsPressed("left") -- Sol tıka tıkladığınızda devreye girer.
exports.cursor:IsPressed("right") -- Sağ tıka tıkladığınızda devreye girer.
-- Örnek Kullanım:
if exports.cursor:IsPressed("left") then
print("Sol tıka basıldı.")
end
Cursorun basılı tutma kontrolü için yardımcı fonksiyon:
Kod:
exports.cursor:IsDown("left")
Cursorun tıklamayı bırakma algılaması için yardımcı fonksiyon:
Kod:
exports.cursor:IsUp("left")
İndirme Linki:
Linkleri,görmek için
Giriş yap veya üye ol.



