Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Türkiye'nin İlk ve tek FiveM forum adresi

Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
DF DF
DF DF
DF DF

Polis-Mafya-Kartel-Çete-Doktor | Meslek erişim ayarlamaları

F3D3R4LL

Admin
Admin
Administrator
Katılım
5 yıl 6 ay 13 gün
Mesajlar
1,116
Discord
F3D3R4LL#2433
Merhaba arkadaşlar zaten kodlamayla biraz ilgisi olanlar bu paylaşımı yararlı bulmayabilir fakat ben o diğer kesimi rahatlatmak için böyle bir girişimde bulundum. Size çete,mafya gibi mesleklerde nasıl ayarlama yapılabileceğini göstereceğim. (Yetki ayarlamaları)

Rütbe yetkilerini kullanmak istiyorsanız öncelikle yukarıda local kısımda playerData'yı tanımlamanız gerekicektir. Bu mesleklerde tanımlı olduğu için tekrarda tanımlanması gerekmiyor.

Mesela Çete mesleğinde herkesin aramasını değilde sadece patronun ve sağ kolun aramasını istiyorsunuz. Bunun için client.lua yada client>main.lua'ya giriş yapmanız gerekiyor


if data2.current.value == 'body_search' then --(Kod bloğu menüden body_search seçilip seçilmediğini kontrol ediyor bu sırada biz kontrol mekanizmamızı ekleriz.
OpenBodySearchMenu(player) --(Şart gerçekleştikten sonra üst arama menüsü açıyor)
end


if data2.current.value == 'body_search' and PlayerData.job.grade_name == 'boss' then --(boss yazan yere meslek seviyesinin ismi)
OpenBodySearchMenu(player)
end

if data2.current.value == 'body_search' and PlayerData.job.grade_name == 'consiglere' then --(consiglere yazan yere meslek seviyesinin ismi)
OpenBodySearchMenu(player)
end


Depoyu rütbeye göre ayarlamak istersek
Benim ballas adlı çetemde bulunan sistem bu eğer farklı bir sistem bulunuyorsa sizde ki sanmıyorum ondada yardımcı olabilirim.

if Config.EnableArmoryManagement then

local elements = {
{label = 'Prendre Objet', value = 'get_stock'},
{label = 'Déposer objet', value = 'put_stock'},
{label = _U('get_weapon'), value = 'get_weapon'}),
{label = _U('put_weapon'), value = 'put_weapon'})
}

if PlayerData.job.grade_name == 'boss' then
table.insert(elements, {label = _U('buy_weapons'), value = 'buy_weapons'})
end

Burada patrona ait menülere eklemek istiyorsak yapacağımız işlem şudur virgüllere dikkat edin diğer türlü kodunuz çalışmamasına sebep olabilir. "--" sonrasında yazanları koda dahil etmez yorum satırı haline getirir.


if Config.EnableArmoryManagement then

local elements = {
{label = 'Prendre Objet', value = 'get_stock'},
{label = 'Déposer objet', value = 'put_stock'}
--{label = _U('get_weapon'), value = 'get_weapon'})
-- {label = _U('put_weapon'), value = 'put_weapon'})
}

if PlayerData.job.grade_name == 'boss' then
table.insert(elements, {label = _U('buy_weapons'), value = 'buy_weapons'})
table.insert(elements, {label = _U('get_weapon'), value = 'get_weapon'})
table.insert(elements, {label = _U('put_weapon'), value = 'put_weapon'})
end

Çetelerin üyelerin üstünden ne el koyduğuna bakmak istiyorsanız. Sql log tutabilirsiniz. El koyduğu para,item,silah görüntülenmektedir.

-Server>main.lua açılır

targetXPlayer.removeInventoryItem(itemName, amount)
sourceXPlayer.addInventoryItem (itemName, amount)

-Yukarıdaki kodlardan biri aratılır.
-Aşağıdaki kod bloğu hemen altına yapıştırılır.

MySQL.Async.execute('INSERT INTO ballas (Alan, Tur, Sayi, Kimden)VALUES (@Alan, @Tur, @Sayi, @Kimden) ',
{
['@Alan'] = sourceXPlayer.name,
['@Tur'] = itemName,
['@Sayi'] = amount,
['@Kimden'] = targetXPlayer.name

})


Yani şöyle olacaktır.



if targetItem.count > 0 and targetItem.count <= amount then

-- can the player carry the said amount of x item?
if sourceItem.limit ~= -1 and (sourceItem.count + amount) > sourceItem.limit then
TriggerClientEvent('esx:showNotification', _source, _U('quantity_invalid'))
else
targetXPlayer.removeInventoryItem(itemName, amount)
sourceXPlayer.addInventoryItem (itemName, amount)
TriggerClientEvent('esx:showNotification', _source, _U('you_confiscated', amount, sourceItem.label, targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('got_confiscated', amount, sourceItem.label, sourceXPlayer.name))

MySQL.Async.execute('INSERT INTO ballas (Alan, Tur, Sayi, Kimden)VALUES (@Alan, @Tur, @Sayi, @Kimden) ',
{
['@Alan'] = sourceXPlayer.name,
['@Tur'] = itemName,
['@Sayi'] = amount,
['@Kimden'] = targetXPlayer.name

})


end
else
TriggerClientEvent('esx:showNotification', _source, _U('quantity_invalid'))
end

-- Bu sadece kimden hangi iteme el koyduğunu bulmak içindir.
-- Kara para takip etmek için bu şekilde yapmamız gerekir. (item_account)

elseif itemType == 'item_account' then
targetXPlayer.removeAccountMoney(itemName, amount)
sourceXPlayer.addAccountMoney (itemName, amount)

TriggerClientEvent('esx:showNotification', _source, _U('you_confiscated_account', amount, itemName, targetXPlayer.name))
TriggerClientEvent('esx:showNotification', target, _U('got_confiscated_account', amount, itemName, sourceXPlayer.name))

MySQL.Async.execute('INSERT INTO ballas (Alan, Tur, Sayi, Kimden)VALUES (@Alan, @Tur, @Sayi, @Kimden) ',
{
['@Alan'] = sourceXPlayer.name,
['@Tur'] = itemName,
['@Sayi'] = amount,
['@Kimden'] = targetXPlayer.name

})

- Silahları takip etmek içinse böyle

elseif itemType == 'item_weapon' then
if amount == nil then amount = 0 end
targetXPlayer.removeWeapon(itemName, amount)
sourceXPlayer.addWeapon (itemName, amount)

TriggerClientEvent('esx:showNotification', _source, _U('you_confiscated_weapon', ESX.GetWeaponLabel(itemName), targetXPlayer.name, amount))
TriggerClientEvent('esx:showNotification', target, _U('got_confiscated_weapon', ESX.GetWeaponLabel(itemName), amount, sourceXPlayer.name))

MySQL.Async.execute('INSERT INTO ballas (Alan, Tur, Sayi, Kimden)VALUES (@Alan, @Tur, @Sayi, @Kimden) ',
{
['@Alan'] = sourceXPlayer.name,
['@Tur'] = itemName,
['@Sayi'] = amount,
['@Kimden'] = targetXPlayer.name

})


end


Aşağıdaki sql sorgusunu databasenizde çalıştırmanız gerekiyor.

CREATE TABLE `ballas` (
`Alan` VARCHAR(50) NULL DEFAULT NULL,
`Tur` VARCHAR(50) NULL DEFAULT NULL,
`Sayi` INT(11) NULL DEFAULT NULL,
`Kimden` VARCHAR(50) NULL DEFAULT NULL,
`Time` TIMESTAMP NULL DEFAULT current_timestamp()
)
COMMENT='Item Transfer Information'
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;



- Konuyu çok dağınık yazdığımın farkındayım umarım faydalı olmuştur.
 
DF
Polis mesleği ile zaten kolaylıkla yapılabiliyor COPY/PASTE :)
 
DF
Yanliz yukarida polis meslegini veya bi cete meslegini yapmayi anlatmadim ufku dar arkadasim erisim ayarlamalarini nasil yapabilrisiniz diye anlatmaya calistim galiba basarisiz oldum yada gechkoo adli arkadasta bi problem var :D
 
DF

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Bu konuyu görüntüleyen kullanıcılar

Tema düzenleyici

Tema özelletirmeleri

Granit arka planlar

Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!
// Adblock Kod Start // // Adblock Kod End//