Merhaba arkadaslar,
QBCore da (official) developerlik yapmaya basladigimdan itibaren bizim Türk milletine yarari olsun diye elimden geldigince herseyini Türkcelestirmeye çalisiyorum ki bizim insanimiz da bilgilensin ve QBCore un nimetlerinden faydalansin.
Simdiki anlatacagim konu QBCore içerisinde izinleri ayarlamak.
Ace permissions nedir ?
Ace ler CFX tarafindan oyuna eklenen yerlesik izinlerdir. Bunlara yeni node olusturup ekliyebilirsiniz.
Bu izin sistemi aces ve principals dan olusuyor. Dallari olan bir agaç gibi düsünün, ace olusturup buna dallar misali principals ekliyebilirsiniz.
Server Config
server.cfg dosyasinin alt kisimlarina dogru izinler bölümünü bulabilirsiniz:
Degisik türde identifiers
Istenilen identifier i aldiktan sonra server.cfg ye gidin #Players bölümüne alttaki örnekteki
Sunucu içerisindeki oyuncu izinleri ayarlama
Eger ki izinlerin var ise o zaman admin menu veya komutlar ile oyuncu izinlerini ayarliyabilirsiniz.
Komutlara izin eklemek
qb-core/config.lua içerisinde QBConfig.Server.Permissions = {'god', 'admin', 'mod'} satirini bulun
Buraya daha fazla gurup ekliyebilirsiniz, örnegin polis komutlari için bir grup olusturup belirli kisilere bu komutlari vermek istiyoruz.
Config dosyamiza önce yeni grubu ekliyoruz: QBConfig.Server.Permissions = {'god', 'admin', 'mod', 'leo'}
Server.cfg içerisinde adminlerden sonra yeni grubumuzu ekliyoruz:
add_principal identifier.license:xxxxxxx qbcore.leo #oyuncu ismi
Su ana kadar hersey iyi, güzel. Peki bu yeni grubun kullanabilecegi komutu nasil olustururuz ?
Bu komutu QBCore fonksyonunu kullanarak eklediginizde bu fonksyon otomatik olarak qbcore.leo ace i olusturacaktir çivi komutu için.
add_principal kullanarak oyuncu eklediginizde bu komut sadece o oyuncu tarafindan kullanilabilir hale gelecektir ve bu komuta izni olmayanlar chat de bu komutu görmeyecektir.
Bu kodu meslek atamada veya meslege giris çikislarda dinamik olarak atayip sildiginizi düsünün.
Komut zaten o gurup için sinirlandirildigindan dolayi olusturdugunuz kodda is izinlerini kontrol etmenize gerek de kalmiyacaktir çünki bu komut sadece belirli kisiler tarafindan kullanilabilir haldedir.
QBCore da (official) developerlik yapmaya basladigimdan itibaren bizim Türk milletine yarari olsun diye elimden geldigince herseyini Türkcelestirmeye çalisiyorum ki bizim insanimiz da bilgilensin ve QBCore un nimetlerinden faydalansin.
Simdiki anlatacagim konu QBCore içerisinde izinleri ayarlamak.
Ace permissions nedir ?
Ace ler CFX tarafindan oyuna eklenen yerlesik izinlerdir. Bunlara yeni node olusturup ekliyebilirsiniz.
Bu izin sistemi aces ve principals dan olusuyor. Dallari olan bir agaç gibi düsünün, ace olusturup buna dallar misali principals ekliyebilirsiniz.
txAdmin default olarak server sahibine en yüksek yetkileri atar.
Server Config
server.cfg dosyasinin alt kisimlarina dogru izinler bölümünü bulabilirsiniz:
Kod:
## Izinler ##
add_ace group.admin command allow # tüm komutlara izin ver
{{addPrincipalsMaster}} # txAdmin bu sekilde sunucu sahibine izinleri atar
# Resources
add_ace resource.qb-core command allow # qb-core un komutlari kullanmasina izin ver
# Gods
add_ace qbcore.god command allow # Tüm komutlara izin ver
# Inheritance
add_principal qbcore.god group.admin # qbcore.god un admin grubuna atanan tüm izinleri kullanmasina izin saglar
add_principal qbcore.god qbcore.admin # God lar admin komutlarini kollanabilir
add_principal qbcore.admin qbcore.mod # Adminler mod komutlarini kullanabilirler
Degisik türde identifiers
- FiveM ID
- R* lisansi (qbcore bunu kullanir)
- Discord ID
Istenilen identifier i aldiktan sonra server.cfg ye gidin #Players bölümüne alttaki örnekteki
qbcore.god ve group.admin ayni izinleri kullaniyorlar, ikisinden birini kullanabilirsiniz
Kod:
## Izinler ##
add_ace group.admin command allow # tüm komutlara izin ver
{{addPrincipalsMaster}} # txAdmin bu sekilde sunucu sahibine izinleri atar
# Resources
add_ace resource.qb-core command allow # qb-core un komutlari kullanmasina izin ver
# Gods
add_ace qbcore.god command allow # Tüm komutlara izin ver
# Inheritance
add_principal qbcore.god group.admin # qbcore.god un admin grubuna atanan tüm izinleri kullanmasina izin saglar
add_principal qbcore.god qbcore.admin # God lar admin komutlarini kollanabilir
add_principal qbcore.admin qbcore.mod # Adminler mod komutlarini kullanabilirler
# Players
add_principal identifier.license:xxxxxx qbcore.god # Oyuncu Ismi
add_principal identifier.license:xxxxxx qbcore.admin # Oyuncu Ismi
add_principal identifier.license:xxxxxx qbcore.mod # Oyuncu Ismi
Sunucu içerisindeki oyuncu izinleri ayarlama
Eger ki izinlerin var ise o zaman admin menu veya komutlar ile oyuncu izinlerini ayarliyabilirsiniz.
Komut kullanarak izin ayari
- Sunucu içerisindeyken bu komutu kullanabilirsin: /addpermission [id] [izin ismi]
örnek : /addpermission 1 god
Admin menü içerisinden izin verme
- chate e /admin yaz
- Oyuncu yönetimi (Player Management) menüsüne girin
- Izinler (Permissions) menüsüne girin
- Kullanici grubunun ismini girin ve onaylayin
Komutlara izin eklemek
qb-core/config.lua içerisinde QBConfig.Server.Permissions = {'god', 'admin', 'mod'} satirini bulun
Buraya daha fazla gurup ekliyebilirsiniz, örnegin polis komutlari için bir grup olusturup belirli kisilere bu komutlari vermek istiyoruz.
Config dosyamiza önce yeni grubu ekliyoruz: QBConfig.Server.Permissions = {'god', 'admin', 'mod', 'leo'}
Server.cfg içerisinde adminlerden sonra yeni grubumuzu ekliyoruz:
add_principal identifier.license:xxxxxxx qbcore.leo #oyuncu ismi
Su ana kadar hersey iyi, güzel. Peki bu yeni grubun kullanabilecegi komutu nasil olustururuz ?
Kod:
QBCore.Commands.Add('çivi', 'Çivili serit yerlestirin', {}, false, function(source)
-- Kod satirlari
end, 'leo')
Bu komutu QBCore fonksyonunu kullanarak eklediginizde bu fonksyon otomatik olarak qbcore.leo ace i olusturacaktir çivi komutu için.
add_principal kullanarak oyuncu eklediginizde bu komut sadece o oyuncu tarafindan kullanilabilir hale gelecektir ve bu komuta izni olmayanlar chat de bu komutu görmeyecektir.
Bu kodu meslek atamada veya meslege giris çikislarda dinamik olarak atayip sildiginizi düsünün.
Komut zaten o gurup için sinirlandirildigindan dolayi olusturdugunuz kodda is izinlerini kontrol etmenize gerek de kalmiyacaktir çünki bu komut sadece belirli kisiler tarafindan kullanilabilir haldedir.