https://i.hizliresim.com/gou8gb4.gif https://i.hizliresim.com/gou8gb4.gif

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

FiveM DUPE SORUNU

Katılım
23 Tem 2021
Mesajlar
430
Güncelleme: (06.05.2021)
Gelen yardım isteklerine bakılırsa bazı envanterlerdeki bazı eventler kendiliğinden aynı anda 1 den fazla tetikleniyor. İsterseniz bu birden fazla tetiklenen eventleri belirleyip sadece o eventlere uygulayabilir, isterseniz uğraşmayıp tüm eventleri aynı şekilde güncelleyebilirsiniz, ama hepsine yaparsanız belirlediğiniz değere göre 1 defa tetiklenen eventler için tek seferden daha fazla tetiklemeye imkan vermiş olursunuz (Her türlü log alırsınız, logları takip edip müdahale edecekseniz eğer bu size ciddi sorun teşkil etmeyecektir). Seçim size kalmış. Ben sadece çözümü paylaşıyorum.

En yukarı
local checkSource = {}
altına bir de aşağıdaki tanımı ekleyin
local toleransDegeri = 2 --(Buraya yazacağınız sayı o eventin arka arkaya tetiklenmesine izin verileceği sayıyı belirtir. Gereksiz log aldıkça sayıyı arttırabilirsiniz.)


Önceki kodlarda aşağıdaki gibi olan yerleri
Kod:
Kod:
if checkSource[source] == nil then
checkSource[source] = true
TriggerEvent('ExeLds:resetCooldown', source)


Bu şekilde değiştirin:
Kod:
if checkSource[source] == nil then
checkSource[source] = 1
else
checkSource[source] = checkSource[source] + 1
end
if checkSource[source] <= toleransDegeri then
TriggerEvent('ExeLds:resetCooldown', source)

else den sonrası önceki anlatımdaki gibi kalabilir.


AÇIKLAMA:
Önceki paylaşmış olduğum fiş çekildiğinde sunucudan otomatik kick sistemi oyuncuların yapmış olduğu dupe işlemini kısmen engelleyip size log gönderiyordu. Bu paylaşacağım sorguları kendi envanter scriptiniz hangisiyse ona doğru bir şekilde uyguladığınızda modem fişini çekme veya arka arkaya çok hızlı işlem yapma vb. gibi yöntemlerle meydana gelen dupe ve daha bir çok açığı bu sorgular sayesinde %100 oranda engelleyeceksiniz, ek olarak dupe yapmaya çalışanların logunu alacaksınız. Kendi envanterinizde nasıl aktif edeceğiniz konusunda en alta bir kaç envanterin aktif edilmiş event örneklerini paylaşacağım.


Script İndirme Linki:
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.

Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.



NOT:
Burada paylaştığım script tek başına hazır start verip geçeceğiniz bir script değildir! Scriptin doğru çalışması için size kendi yazmış olduğum sorgu kodlarını kendi envanterinize doğru bir şekilde uygulamanız gerekmektedir. Mümkün olduğunca kodlardan anlamayan arkadaşlarımızın da anlayabileceği şekilde anlatmaya çalışacağım.

Bu tarz yararlı paylaşımların devamının gelmesini istiyorsanız kullanıp beğenenler en azından teşekkür yorumu atarak destek olabilirler. Sizler bu tarz ücretsiz/hayrına yapılan paylaşımlardan alacağınızı alıp yolunuza devam ettikçe bu tarz paylaşımların arkası gelmeyecektir.


DESTEK:
Paylaşmış olduğum scriptler/kodlar ile alakalı yaşadığınız sorunlarda Discord Kanalımdan ticket açarak benden veya #yardım kanalından diğer scriptlerimi kullanan arkadaşlardan yardım isteyebilirsiniz.



KURULUM:
1-
Öncelikle exelds_antiDupeSystem scripti içindeki config dosyasındaki webhook linkini kendinizinkiyle değiştirin.
2- Sonrasında kendi envanter scriptinizin server dosyalarında "addInventoryItem" ve "removeInventoryItem" tetiklemeleri olan eventleri belirleyiniz.
3- Bu eventlerin bulunduğu ortak lua dosyasının en üstüne aşağıdaki kodu yapıştırın. Örneğin bu eventler server.lua da ise en üste aşağıdaki kodu ekleyin sonrasında eventleri düzenlemek için sonraki adıma geçin. (Bu uygulama tüm envanterlerde aynı)
Kod:
Kod:
local checkSource = {}

AddEventHandler('ExeLds:resetCooldown', function(id)
Citizen.Wait(500)
checkSource[id] = nil
end)
Sonrasında aynı lua içinde "addInventoryItem" ve "removeInventoryItem" bulunan tüm eventleri aşağıdaki envanterlere göre örneklerde görebileceğiniz gibi düzenleyin. Ben ekran görüntülerinde sadece birer tane event örneği gösterdim. Sizin tüm içinde "addInventoryItem" ve "removeInventoryItem" bulunan eventlere bunu uygulamanız gerek.
 
Geri
Üst