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.
yapman gereken sadece bu attığım şeyi es_extended > server > classes > player.lua yı değiştirmek ve database e cash itemi eklemen olacak.
Linkleri,görmek için Giriş yap veya üye ol.
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 :/Hocam 20 kişiden sonra patlama garantisi var mı ?
Satın almak isteyen zaten satın alır ben satanlardanım fakat paylaşmanı tebrik ettimdenemedim 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 :/
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.Satın almak isteyen zaten satın alır ben satanlardanım fakat paylaşmanı tebrik ettim
es_extended/config.lua Config.MaxWeight i discin maxı ile aynı yapman lazım önce sonra şu doc de örneği varhmm 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ı ?
<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>
<input type="number" class="control" id="count" value="0" onClick="this.select();">
<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();">
es_extended/config.lua Config.MaxWeight i discin maxı ile aynı yapman lazım önce sonra şu doc de örneği varLinkleri,görmek için Giriş yap veya üye ol.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.
o kod bir örnek direk kullanamazsın kendine göre düzenlemen gerekiyor sen nereye eklemek istediğini yazarsan daha kolay yardımcı olabilirim.--
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
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
kara para sistemi nasıl hocam senin envantoryndeSelamlar 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
Linkleri,görmek için Giriş yap veya üye ol.
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ğilLinkleri,görmek için Giriş yap veya üye ol.indirerek items tablosunu silip yeniden okutması yeterli yorumlarınız için teşekkürler
İndirme ve virustotal
İndirme linki:Linkleri,görmek için Giriş yap veya üye ol.
Virustotal:Linkleri,görmek için Giriş yap veya üye ol.
Ayrıca
jezzy ye söylediği yöntem için teşekkür ediyorum.
Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!