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

Cevaplandı Can cannry item Hakkında

ManoMachine

Üye
FT Kullanıcı
Katılım
4 yıl 7 ay 11 gün
Mesajlar
534
Merhaba Arkadaşlar Bazı meslekler de Envanter limitini geçiyor
Kendim ugrasmayı ve öğrenmeyi sevdiğimden bir kaç soru aydınlanması gerekiyor




Ağagıdaki kod satırında
if xPlayer.canCarryItem
Nerde kullanmam gerekli yani

xPlayer.addInventoryItem('washedstones', 10)

üstünde mi yoksa direk bunu silip yerine


if xPlayer.canCarryItem("washedstones",10) şeklindemi yazmalıyım

ayrıca baska dikkat etmem gereken noktalar var mı değerli fikirlerinizi bekliyorum


RegisterNetEvent("v-mine:washing") AddEventHandler("v-mine:washing", function(item, count) local _source = source local xPlayer = ESX.GetPlayerFromId(_source) if xPlayer ~= nil then if xPlayer.getInventoryItem('stones').count > 9 then TriggerClientEvent("v-mine:washing", source) Citizen.Wait(15000) xPlayer.addInventoryItem('washedstones', 10) xPlayer.removeInventoryItem("stones", 10) elseif xPlayer.getInventoryItem('stones').count < 10 then TriggerClientEvent('esx:showNotification', source, 'Yıkamak için üzerinde en az 10 adet taş olmalı.') end end end) RegisterNetEvent("v-mine:remelting") AddEventHandler("v-mine:remelting", function(item, count) local _source = source local xPlayer = ESX.GetPlayerFromId(_source) local randomChance = math.random(1, 100) if xPlayer ~= nil then if xPlayer.getInventoryItem('washedstones').count > 9 then TriggerClientEvent("v-mine:remelting", source) Citizen.Wait(15000) if randomChance < 5 then xPlayer.addInventoryItem("diamond", 1) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 9 and randomChance < 25 then xPlayer.addInventoryItem("gold", math.random(1,5)) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 24 and randomChance < 50 then xPlayer.addInventoryItem("iron", math.random(5,10)) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 49 then xPlayer.addInventoryItem("copper", math.random(10,20)) xPlayer.removeInventoryItem("washedstones", 10) end elseif xPlayer.getInventoryItem('stones').count < 10 then TriggerClientEvent('esx:showNotification', source, 'Eritmek için en az 10 adet yıkanmış taşınız olmalı.') end end end)
 
DF
Merhaba Arkadaşlar Bazı meslekler de Envanter limitini geçiyor
Kendim ugrasmayı ve öğrenmeyi sevdiğimden bir kaç soru aydınlanması gerekiyor


Hocam selamlar yorumlarınızdan gördüm o yüzden yazdım

Ağagıdaki kod satırında
if xPlayer.canCarryItem
Nerde kullanmam gerekli yani

xPlayer.addInventoryItem('washedstones', 10)

üstünde mi yoksa direk bunu silip yerine


if xPlayer.canCarryItem("washedstones",10) şeklindemi yazmalıyım

ayrıca baska dikkat etmem gereken noktalar var mı değerli fikirlerinizi bekliyorum


RegisterNetEvent("v-mine:washing") AddEventHandler("v-mine:washing", function(item, count) local _source = source local xPlayer = ESX.GetPlayerFromId(_source) if xPlayer ~= nil then if xPlayer.getInventoryItem('stones').count > 9 then TriggerClientEvent("v-mine:washing", source) Citizen.Wait(15000) xPlayer.addInventoryItem('washedstones', 10) xPlayer.removeInventoryItem("stones", 10) elseif xPlayer.getInventoryItem('stones').count < 10 then TriggerClientEvent('esx:showNotification', source, 'Yıkamak için üzerinde en az 10 adet taş olmalı.') end end end) RegisterNetEvent("v-mine:remelting") AddEventHandler("v-mine:remelting", function(item, count) local _source = source local xPlayer = ESX.GetPlayerFromId(_source) local randomChance = math.random(1, 100) if xPlayer ~= nil then if xPlayer.getInventoryItem('washedstones').count > 9 then TriggerClientEvent("v-mine:remelting", source) Citizen.Wait(15000) if randomChance < 5 then xPlayer.addInventoryItem("diamond", 1) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 9 and randomChance < 25 then xPlayer.addInventoryItem("gold", math.random(1,5)) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 24 and randomChance < 50 then xPlayer.addInventoryItem("iron", math.random(5,10)) xPlayer.removeInventoryItem("washedstones", 10) elseif randomChance > 49 then xPlayer.addInventoryItem("copper", math.random(10,20)) xPlayer.removeInventoryItem("washedstones", 10) end elseif xPlayer.getInventoryItem('stones').count < 10 then TriggerClientEvent('esx:showNotification', source, 'Eritmek için en az 10 adet yıkanmış taşınız olmalı.') end end end)

Çok kısa bir kod örneği bırakıyorum.

Kod:
RegisterServerEvent('kibra-kokain:kokainTopla')
AddEventHandler('kibra-kokain:kokainTopla', function ()
    local src = source
    local oyuncu = ESX.GetPlayerFromId(src)
     if oyuncu.canCarryItem('hamkokain', 1) then
      oyuncu.addInventoryItem('hamkokain', 1)
      TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'success', text = '1 Tane Kokain Elde Ettiniz.', length = 2500})
     else
        TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Envanteriniz dolu!', length = 2500})
     end
end)

Eğer hala kavrayamadıysanız discord adresimden anlatabilirim. kibra#9999
 
DF
canCarryItem yerine addInventoryItem'ı if ifadesi içerisinde kullanabilirsiniz, böylelikle kullandığınızda eğer üzerine alabiliyorsa true alamıyorsa false verir.
 
DF
Çok kısa bir kod örneği bırakıyorum.

Kod:
RegisterServerEvent('kibra-kokain:kokainTopla')
AddEventHandler('kibra-kokain:kokainTopla', function ()
    local src = source
    local oyuncu = ESX.GetPlayerFromId(src)
     if oyuncu.canCarryItem('hamkokain', 1) then
      oyuncu.addInventoryItem('hamkokain', 1)
      TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'success', text = '1 Tane Kokain Elde Ettiniz.', length = 2500})
     else
        TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Envanteriniz dolu!', length = 2500})
     end
end)

Eğer hala kavrayamadıysanız discord adresimden anlatabilirim. kibra#9999

hocam addinventory itemin ordaki yerini kavrayamadım can cannryi neden orya kouyoruz yani şöyleki oda envantere item vermeyi sağlamıyor mu?
 
DF
ESX framework sayfasindaki açiklamaya bakarsak ( ) tam da senin dedigin gibi kullanilabiliyormus.
Yani xPlayer.canCarryItem(item, count)

Örnek:

Kod:
if targetXPlayer.canCarryItem(itemName, itemCount) then
    sourceXPlayer.removeInventoryItem(itemName, itemCount)
    targetXPlayer.addInventoryItem   (itemName, itemCount)

    sourceXPlayer.showNotification(_U('gave_item', itemCount, sourceItem.label, targetXPlayer.name))
    targetXPlayer.showNotification(_U('received_item', itemCount, sourceItem.label, sourceXPlayer.name))
else
    sourceXPlayer.showNotification(_U('ex_inv_lim', targetXPlayer.name))
end
 
DF
ESX framework sayfasindaki açiklamaya bakarsak ( ) tam da senin dedigin gibi kullanilabiliyormus.
Yani xPlayer.canCarryItem(item, count)

Örnek:

Kod:
if targetXPlayer.canCarryItem(itemName, itemCount) then
    sourceXPlayer.removeInventoryItem(itemName, itemCount)
    targetXPlayer.addInventoryItem   (itemName, itemCount)

    sourceXPlayer.showNotification(_U('gave_item', itemCount, sourceItem.label, targetXPlayer.name))
    targetXPlayer.showNotification(_U('received_item', itemCount, sourceItem.label, sourceXPlayer.name))
else
    sourceXPlayer.showNotification(_U('ex_inv_lim', targetXPlayer.name))
end

addinventoryitem in üsüne yazsak olacak o zaman peki şanslı sistemde nasıl yapıcaz


Örnek olarak elimde şöyle bi satır var


Kod:
xPlayer.addInventoryItem('ketcap', math.random(1,5))


Kod:
RegisterNetEvent("brky:ketcap")
AddEventHandler("brky:ketcap", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if xPlayer.getInventoryItem('domates').count > 4 then
                TriggerClientEvent("brky:ketcap", source)
                Citizen.Wait(16000)
                xPlayer.addInventoryItem('ketcap', math.random(1,5))
                xPlayer.removeInventoryItem("domates", 5)
            elseif xPlayer.getInventoryItem('domates').count < 5 then
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Üzerinde yeterli domates yok!' })
            end
        end
    end)


Bunda nasıl bi yöntem uygulamamız gerekli
örnek olarak kafamda şöyle bişey canlanıyor
DOĞRUMU İLERLİYORUM ACABA?

Kod:
RegisterNetEvent("brky:ketcap")
AddEventHandler("brky:ketcap", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if xPlayer.canCarryItem("domates",1) ----- bunu EKLEDİM
            if xPlayer.getInventoryItem('domates') ---- BURDAKİ COUNT İBARESİNİ SİLDİM
                TriggerClientEvent("brky:ketcap", source)
                Citizen.Wait(16000)
                xPlayer.addInventoryItem('ketcap', math.random(1,5))-- ŞANS SİSTEMİNE DOKUNMAM GEREKLİMİ
                xPlayer.removeInventoryItem("domates", 5)
            elseif xPlayer.getInventoryItem('domates').count < 5 then
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Üzerinde yeterli domates yok!' })
            end
        end
    end)
 
DF
addinventoryitem in üsüne yazsak olacak o zaman peki şanslı sistemde nasıl yapıcaz


Örnek olarak elimde şöyle bi satır var


Kod:
xPlayer.addInventoryItem('ketcap', math.random(1,5))


Kod:
RegisterNetEvent("brky:ketcap")
AddEventHandler("brky:ketcap", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if xPlayer.getInventoryItem('domates').count > 4 then
                TriggerClientEvent("brky:ketcap", source)
                Citizen.Wait(16000)
                xPlayer.addInventoryItem('ketcap', math.random(1,5))
                xPlayer.removeInventoryItem("domates", 5)
            elseif xPlayer.getInventoryItem('domates').count < 5 then
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Üzerinde yeterli domates yok!' })
            end
        end
    end)


Bunda nasıl bi yöntem uygulamamız gerekli
örnek olarak kafamda şöyle bişey canlanıyor
DOĞRUMU İLERLİYORUM ACABA?

Kod:
RegisterNetEvent("brky:ketcap")
AddEventHandler("brky:ketcap", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if xPlayer.canCarryItem("domates",1) ----- bunu EKLEDİM
            if xPlayer.getInventoryItem('domates') ---- BURDAKİ COUNT İBARESİNİ SİLDİM
                TriggerClientEvent("brky:ketcap", source)
                Citizen.Wait(16000)
                xPlayer.addInventoryItem('ketcap', math.random(1,5))-- ŞANS SİSTEMİNE DOKUNMAM GEREKLİMİ
                xPlayer.removeInventoryItem("domates", 5)
            elseif xPlayer.getInventoryItem('domates').count < 5 then
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Üzerinde yeterli domates yok!' })
            end
        end
    end)

Oradaki countu neden sildin
 
DF
Kod:
RegisterNetEvent("brky:ketcap")
AddEventHandler("brky:ketcap", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if xPlayer.canCarryItem("domates",1)
            if xPlayer.getInventoryItem('domates').count > 4 then
                TriggerClientEvent("brky:ketcap", source)
                Citizen.Wait(16000)
                xPlayer.addInventoryItem('ketcap', math.random(1,5))
                xPlayer.removeInventoryItem("domates", 5)
            elseif xPlayer.getInventoryItem('domates').count < 5 then
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Üzerinde yeterli domates yok!' })
            end
        end
    end)

Bu şekilde doğrumudur acaba sadece add inventorynin üstnde can canrry itemi atmam yeteli olur diye anladım doğrumu arkadaşlar
 
DF
hocam addinventory itemin ordaki yerini kavrayamadım can cannryi neden orya kouyoruz yani şöyleki oda envantere item vermeyi sağlamıyor mu?

canCarryItem, yani itemTasiyabilirMi.

Eger kodlamayi turkcelestirirsek:

Kod:
eger oyuncu.itemTasiyabilirMi(item, kaçadet)
   -- eger tasiyabiliyorsa
  gönderenOyuncu.EnvanterdenSil(item, kaçadet)
  alanOyuncu.EnvantereEkle(item, kaçadet)
yada 
  -- eger tasiyamiyorsa
  alanoyuncu.BildirimGoster("Envanterde yeterince yer yok.")
bitir

yani canCarryItem ile kontrol ettirip eger tasiyabilirse (yani envanterinde yer varsa) o zaman birseyi ona aktarabiliyorsun, yoksa yer kalmadi gibisinden bir bildiri mesaji gönderiyorsun.

Umarim açiklayici olmustur.
 
DF
Kod:
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterNetEvent("brky:marulal")
AddEventHandler("brky:marulal", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if XPlayer.canCarryItem("marul",1) then
            if xPlayer.getInventoryItem('marul').count < 40 then
                xPlayer.addInventoryItem('marul', math.random(1,5))
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'inform', text = 'Marul Topladın!' })
            end
        end
    end)

itemleri alırken Envanter kilosunu hala geçiyor nerde hata yapıyorum
 
DF
Kod:
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterNetEvent("brky:marulal")
AddEventHandler("brky:marulal", function(item, count)
    local _source = source
    local xPlayer  = ESX.GetPlayerFromId(_source)
        if xPlayer ~= nil then
            if XPlayer.canCarryItem("marul",40) then -- burada 40 adet tasiyabilirmi diye kontrol ettirmen gerek
            if xPlayer.getInventoryItem('marul').count < 40 then  -- eger envanterdeki marul itemi 40 dan az ise
                xPlayer.addInventoryItem('marul', math.random(1,5))  -- envantere 1 ila 5 arasinda marul ekle
                TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'inform', text = 'Marul Topladın!' }) -- bildiri yolla
            end -- envanter kontrolünü sonlandir
            end -- bunu unutmustun, bu da cancarryitem i sonlandirir
        end
    end)

itemleri alırken Envanter kilosunu hala geçiyor nerde hata yapıyorum

Yukarida ufak bir iki hata var..
 
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//