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

Paylaşım DİSC-İNVENTORYHUD WEİGHT SİSTEMLİ

  • Konbuyu başlatan karpuz
  • Başlangıç tarihi
  • Cevaplar 350
  • Görüntüleme 48K
Hocam 20 kişiden sonra patlama garantisi var mı ?
denemedim bilmiyorum yani burada kimseye garantide vermedim önce discworldZanın paylaştığı envantere weight sistemi yazdım sonrada Forumda paylaşılan envantere entegre ettim. Garantili bir şekilde çalışıyor olsa bedava dağıtmazdım ha gerçi bu haliyle bile alan bulunur kesinde neyse. Eğer bir bug gördüysen yaz çözüm arıyorum ben zaten eminim başkaları da yardımcı olacaktır. Şimdi bakınca gördüm weight sistemi sattığını eğer satış kaygısıyla bunu yazdıysan komik :/
 
DF
Son düzenleme:
denemedim bilmiyorum yani burada kimseye garantide vermedim önce discworldZanın paylaştığı envantere weight sistemi yazdım sonrada Forumda paylaşılan envantere entegre ettim. Garantili bir şekilde çalışıyor olsa bedava dağıtmazdım ha gerçi bu haliyle bile alan bulunur kesinde neyse. Eğer bir bug gördüysen yaz çözüm arıyorum ben zaten eminim başkaları da yardımcı olacaktır. Şimdi bakınca gördüm weight sistemi sattığını eğer satış kaygısıyla bunu yazdıysan komik :/
Satın almak isteyen zaten satın alır ben satanlardanım fakat paylaşmanı tebrik ettim
 
DF
hmm peki bir yerden item çekerken envanterin odlu olup olmadığın kontol etmek için nasıl if döngüsü açabiliriz veya addinventory item yerine başka bi kodu varmı ?
 
DF
Satın almak isteyen zaten satın alır ben satanlardanım fakat paylaşmanı tebrik ettim
ben satılmasına hiçbir şey demiyorum sorunsuz yapabildiysen zaten sat ben serverım olmadığı için kullanmıyorum o yüzden paylaştım ancak arkadaş sanki ben sorunsuzdur yazmışım gibi laf yapıyor. tabi ki belli bir süre sonra hata verecektir bu hatayı yazsa burada yardım edebilecek birilerini bulacak ama kendisi bu yöntemi değilde yazdığı şekilde yaklaşırsa bende aynı şekilde karşılık veririm.
Son olarak şunu söyleyeyim ki cidden bu envanteri satan insanların neden sattığını anlıyorum daha ben her şeyi fixlemedim ama beynim alev aldı sizi tebrik ediyorum.
 
DF
Son düzenleme:
hmm peki bir yerden item çekerken envanterin odlu olup olmadığın kontol etmek için nasıl if döngüsü açabiliriz veya addinventory item yerine başka bi kodu varmı ?
es_extended/config.lua Config.MaxWeight i discin maxı ile aynı yapman lazım önce sonra şu doc de örneği var cancarryitem ile itemin taşınabilirliğini kontrol ediyor sonra addInventoryItem ile itemi ekliyorsun. Eğer shop yapmak istiyorsan da disc-inventoryhud/config.lua da örnekleri var onlari editleyip yapabilirsin.
 
DF
Son düzenleme:
Öncelikle, envanter için teşekkürler.

Input slotuna girilebilecek sayıyı kısıtlamak iyi olurdu aslında. Yanılmıyorsam basamaklı sayılar yazabiliyorduk. İşinize yarayabilir diye düşünüyorum.

ui.html'de <head></head> kısmına bu kodu yapıştırın.

JavaScript:
<script>
        function maxLengthCheck(object) {
          if (object.value.length > object.maxLength)
            object.value = object.value.slice(0, object.maxLength)
        }

        function isNumeric (evt) {
          var theEvent = evt || window.event;
          var key = theEvent.keyCode || theEvent.which;
          key = String.fromCharCode (key);
          var regex = /[0-9]|\./;
          if ( !regex.test(key) ) {
            theEvent.returnValue = false;
            if(theEvent.preventDefault) theEvent.preventDefault();
          }
        }
</script>


Ondan sonra bu kısmı;

HTML:
<input type="number" class="control" id="count" value="0" onClick="this.select();">


Bu şekilde değiştirebilirsiniz.
Aşağıdaki değerlerle, kendi kafanıza göre oynayabilirsiniz.

MaxLength = Karakter uzunluğunu,
Min, Max = Bunlar ise girilebilecek sayı aralığını belirtir.

HTML:
<input type="number" class="control" id="count" value="0" min="1" max="999" maxlength="3" oninput="return maxLengthCheck(this)" onkeypress="return isNumeric(event) (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57" onClick=" this.select();">
 
DF
es_extended/config.lua Config.MaxWeight i discin maxı ile aynı yapman lazım önce sonra şu doc de örneği var cancarryitem ile itemin taşınabilirliğini kontrol ediyor sonra addInventoryItem ile itemi ekliyorsun. Eğer shop yapmak istiyorsan da disc-inventoryhud/config.lua da örnekleri var onlari editleyip yapabilirsin.

--
if targetXPlayer.canCarryItem(itemName, itemCount) then
sourceXPlayer.removeInventoryItem(itemName, itemCount)
targetXPlayer.addInventoryItem (itemName, itemCount)
else
sourceXPlayer.showNotification('Target player could not hold all of that.')
end
--
attem to nill value (global TargetxPlayer')
veya field cancarry item hataları aldım
paylaştığınız extendete kullanıyorum local xplayer tanımlarken mi farklı bişey yapmam gerekiyor yoksa başka bi yerdemi yanlış yaıyorum.k bakmayın yeniyim biraz
 
DF
--
if targetXPlayer.canCarryItem(itemName, itemCount) then
sourceXPlayer.removeInventoryItem(itemName, itemCount)
targetXPlayer.addInventoryItem (itemName, itemCount)
else
sourceXPlayer.showNotification('Target player could not hold all of that.')
end
--
attem to nill value (global TargetxPlayer')
veya field cancarry item hataları aldım
paylaştığınız extendete kullanıyorum local xplayer tanımlarken mi farklı bişey yapmam gerekiyor yoksa başka bi yerdemi yanlış yaıyorum.k bakmayın yeniyim biraz
o kod bir örnek direk kullanamazsın kendine göre düzenlemen gerekiyor sen nereye eklemek istediğini yazarsan daha kolay yardımcı olabilirim.
kullanıma örnek
Kod:
local xPlayer = ESX.GetPlayerFromId(source) -- bu işlemi yaparak oyuncuyu belirliyoruz
if pickup.type == 'item_standard' then
    if xPlayer.canCarryItem(pickup.name, pickup.count) then - burada oyuncunun itemi taşıyabilirliğini test ediyoruz
        xPlayer.addInventoryItem(pickup.name, pickup.count)-- burada da itemi ekliyoruz
        TriggerClientEvent('esx:removePickup', -1, id)
    end
end
 
DF
f2de birtane daha açılıyor sağda envanter o kapanmıyor yapamadım
 
DF
Crythis krystall1 es_extended > client > main.l ua > 478.satır Menü interactions bö ümünü si lebilirsin yada yorum satırına alabilirsin.
 
DF
arkadaşlar buna uyumlu elinde html tasarım olanlar var mı tasarımı sapıtıyor resimler sığmıyor.
 
DF
Selamlar disc-inventoryhud'a weight sistemini eklemeyi sonunda başardım başka birisinin paylaşmadığını bildiğim için herkesle paylaşmak istedim.

Video

Sorunları

Kurulumu



Parayı item haline getirmeyi gösteren F ferittemel37 e teşekkür ederim :)
Parayı item haline getirmek için es_extended/server/classes/player.lua dosyasını açıyoruz. Ve şu kodları değiştiriyoruz.

Kod:
self.getMoney = function()
    return self.player.get('money')
end

bu kodu

self.getMoney = function()
    local money = self.getInventoryItem('cash')
    if self.player.get('money') ~= money.count then
        self.player.set('money',money.count)
    end
    return money.count
end

bununla

Kod:
bu kodu
self.addMoney = function(money)

    money = ESX.Math.Round(money)



    if money >= 0 then

        self.player.addMoney(money)

    else

        print(('es_extended: %s attempted exploiting! (reason: player tried adding -1 cash balance)'):format(self.identifier))

    end

end

self.removeMoney = function(money)

    money = ESX.Math.Round(money)



    if money >= 0 then

        self.player.removeMoney(money)

    else

        print(('es_extended: %s attempted exploiting! (reason: player tried removing -1 cash balance)'):format(self.identifier))

    end

end

bununla değiştirmelisiniz

self.addMoney = function(money)

    money = ESX.Math.Round(money)



    if money >= 0 then

        self.addInventoryItem("cash",money)

        local money = self.getInventoryItem('cash')

        if self.player.get('money') ~= money.count then

            self.player.set('money',money.count)

        end

    else

        print(('es_extended: %s attempted exploiting! (reason: player tried adding -1 cash balance)'):format(self.identifier))

    end

end



self.removeMoney = function(money)

    money = ESX.Math.Round(money)



    if money >= 0 then

        self.removeInventoryItem("cash",money)

        local money = self.getInventoryItem('cash')

        if self.player.get('money') ~= money.count then

            self.player.set('money',money.count)

        end

    else

        print(('es_extended: %s attempted exploiting! (reason: player tried removing -1 cash balance)'):format(self.identifier))

    end

end

küçük bir detay eğer itemi para haline getirdiyseniz sağ altta -para +item gibi bildirim gözükücektir onu kapatmak için es_extended/server/html/ui.html dosyasını açıp <div id="inventory_notifications"></div> satırını silerseniz sağ altta bildirim çıkmaz.

Sonra inventoryi kurmaya geçebiliriz mysql datanızdan items tablosunu silin. Sonra disc-sql'i datanıza okutun dosyaların startlarını verdiğinizde tamamdır.
start verme sırası
disc-base
disc-ammo
disc-inventoryhud

NOT: Parayı eklemeden önce yükleyenler inventory yeni atmış olduğumla değiştirmeli. Sql verisini inventory.rar içindeki değil indirerek items tablosunu silip yeniden okutması yeterli yorumlarınız için teşekkürler :)


İndirme ve virustotal

İndirme linki:
Virustotal:

Ayrıca
jezzy jezzy ye söylediği yöntem için teşekkür ediyorum.
kara para sistemi nasıl hocam senin envantorynde
 
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!