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

Soru no pixel 3.0 qbus

  • Konbuyu başlatan zimons
  • Başlangıç tarihi
  • Cevaplar 17
  • Görüntüleme 932
Merhaba,

Konunuzu yanlış kategoriye açtığınızdan dolayı tarafımca taşıma işlemi uygulanmıştır.

İyi Forumlar Dilerim , Saygılarımla..

 
Arkadaşlar konuya çözüm getireyim, silahın durability işlemi için qb-weapons kullanmalısınız. Ve vereceğim kodları envanterinizin server>main.lua kısmına yazmalısınız.


Kod:
function IsWeaponBlocked(WeaponName)
    local retval = false
    for _, name in pairs(Config.DurabilityBlockedWeapons) do
        if name == WeaponName then
            retval = true
            break
        end
    end
    return retval
end


Kod:
RegisterServerEvent('weapons:server:UpdateWeaponQuality')
AddEventHandler('weapons:server:UpdateWeaponQuality', function(data, RepeatAmount)
    local src = source
    local Player = ESX.GetPlayerFromId(src)
    local WeaponData = ESX.SharedWeapons[GetHashKey(data.name)]
    local WeaponSlot = Player.OyuncuData.items[data.slot]
    local DecreaseAmount = Config.DurabilityMultiplier[data.name]

    if WeaponSlot ~= nil then
        if not IsWeaponBlocked(WeaponData.name) then
            if WeaponSlot.info.quality ~= nil then
                for i = 1, RepeatAmount, 1 do
                    if WeaponSlot.info.quality - DecreaseAmount > 0 then
                        WeaponSlot.info.quality = WeaponSlot.info.quality - DecreaseAmount
                    else
                        WeaponSlot.info.quality = 0
                        TriggerClientEvent('inventory:client:UseWeapon', src, data)
                        TriggerClientEvent('notification', src, "Silahın kırık, tekrar kullanmadan önce tamir etmelisin.", 2)
                        break
                    end
                end
            else
                WeaponSlot.info.quality = 100
                for i = 1, RepeatAmount, 1 do
                    if WeaponSlot.info.quality - DecreaseAmount > 0 then
                        WeaponSlot.info.quality = WeaponSlot.info.quality - DecreaseAmount
                    else
                        WeaponSlot.info.quality = 0
                        TriggerClientEvent('inventory:client:UseWeapon', src, data)
                        TriggerClientEvent('notification', src, "Silahın kırık, tekrar kullanmadan önce tamir etmelisin.", 2)
                        break
                    end
                end
            end
        end
    end

    Player.SetInventory(Player.OyuncuData.items)
end)

Kod:
RegisterServerEvent("weapons:server:SetWeaponQuality")
AddEventHandler("weapons:server:SetWeaponQuality", function(data, hp)
    local src = source
    local Player = ESX.GetPlayerFromId(src)
    local WeaponData = ESX.SharedWeapons[GetHashKey(data.name)]
    local WeaponSlot = Player.OyuncuData.items[data.slot]
    local DecreaseAmount = Config.DurabilityMultiplier[data.name]
    WeaponSlot.info.quality = hp
    Player.SetInventory(Player.OyuncuData.items)
end)


Ayrıca disc-ammo kaldırıp gerekli entegreleri yapmalısınız
 
Arkadaşlar konuya çözüm getireyim, silahın durability işlemi için qb-weapons kullanmalısınız. Ve vereceğim kodları envanterinizin server>main.lua kısmına yazmalısınız.


Kod:
function IsWeaponBlocked(WeaponName)
    local retval = false
    for _, name in pairs(Config.DurabilityBlockedWeapons) do
        if name == WeaponName then
            retval = true
            break
        end
    end
    return retval
end


Kod:
RegisterServerEvent('weapons:server:UpdateWeaponQuality')
AddEventHandler('weapons:server:UpdateWeaponQuality', function(data, RepeatAmount)
    local src = source
    local Player = ESX.GetPlayerFromId(src)
    local WeaponData = ESX.SharedWeapons[GetHashKey(data.name)]
    local WeaponSlot = Player.OyuncuData.items[data.slot]
    local DecreaseAmount = Config.DurabilityMultiplier[data.name]

    if WeaponSlot ~= nil then
        if not IsWeaponBlocked(WeaponData.name) then
            if WeaponSlot.info.quality ~= nil then
                for i = 1, RepeatAmount, 1 do
                    if WeaponSlot.info.quality - DecreaseAmount > 0 then
                        WeaponSlot.info.quality = WeaponSlot.info.quality - DecreaseAmount
                    else
                        WeaponSlot.info.quality = 0
                        TriggerClientEvent('inventory:client:UseWeapon', src, data)
                        TriggerClientEvent('notification', src, "Silahın kırık, tekrar kullanmadan önce tamir etmelisin.", 2)
                        break
                    end
                end
            else
                WeaponSlot.info.quality = 100
                for i = 1, RepeatAmount, 1 do
                    if WeaponSlot.info.quality - DecreaseAmount > 0 then
                        WeaponSlot.info.quality = WeaponSlot.info.quality - DecreaseAmount
                    else
                        WeaponSlot.info.quality = 0
                        TriggerClientEvent('inventory:client:UseWeapon', src, data)
                        TriggerClientEvent('notification', src, "Silahın kırık, tekrar kullanmadan önce tamir etmelisin.", 2)
                        break
                    end
                end
            end
        end
    end

    Player.SetInventory(Player.OyuncuData.items)
end)

Kod:
RegisterServerEvent("weapons:server:SetWeaponQuality")
AddEventHandler("weapons:server:SetWeaponQuality", function(data, hp)
    local src = source
    local Player = ESX.GetPlayerFromId(src)
    local WeaponData = ESX.SharedWeapons[GetHashKey(data.name)]
    local WeaponSlot = Player.OyuncuData.items[data.slot]
    local DecreaseAmount = Config.DurabilityMultiplier[data.name]
    WeaponSlot.info.quality = hp
    Player.SetInventory(Player.OyuncuData.items)
end)


Ayrıca disc-ammo kaldırıp gerekli entegreleri yapmalısınız
qbus kullanıyorum...
 
la bu paylaşılalı yıllar olmadı mı
 
O zaman bunun yerine direk qb-inventory kullanmanızı tercih ederim üstelik bunun css leri qb-inventory için uyumlu
 
Merhaba, Verilen cevaplar doğrultusunda sorununuz çözüldü mü?
 

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!