- Katılım
- 5 yıl 7 ay 11 gün
- Mesajlar
- 245
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
Bu şekilde değiştirin:
else den sonrası önceki anlatımdaki gibi kalabilir.
AÇIKLAMA:
Önceki paylaşmış olduğum
Script İndirme Linki:
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
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ı)
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.
m3_inventoryhud Örnek:
qb-inventory Örnek:
disc-inventoryhud Örnek:
esx_inventoryhud Örnek:
Özet olarak envanter scriptinizin server lua dosyasındaki düzenleme aşağıdaki gibi olacaktır:
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:
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
Linkleri,görmek için
Giriş yap veya üye ol.
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:
Linkleri,görmek için
Giriş yap veya üye ol.
Linkleri,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
Linkleri,görmek için
Giriş yap veya üye ol.
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:
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.
m3_inventoryhud Örnek:
qb-inventory Örnek:
disc-inventoryhud Örnek:
esx_inventoryhud Örnek:
Özet olarak envanter scriptinizin server lua dosyasındaki düzenleme aşağıdaki gibi olacaktır:
Kod:
local checkSource = {}
AddEventHandler('ExeLds:resetCooldown', function(id)
Citizen.Wait(500)
checkSource[id] = nil
end)
RegisterServerEvent('ExeLds:ornekEvent')
AddEventHandler('ExeLds:ornekEvent', function(ornekData1, ornekData2, ...)
if checkSource[source] == nil then
checkSource[source] = true
TriggerEvent('ExeLds:resetCooldown', source)
--Event kodları burada
else
TriggerEvent('ExeLds:sendDupeLog', source)
end
end)
Son düzenleme: