Consumables: SSS
Eşya kurulumundan açlık ve susuzluğa, yiyecek vermekten yerdeki yiyeceklere ve bozulmaya kadar en sık karşılaşılan Consumables sorunlarının çözümleri.
Önce Debug'ı aç
Debug = true iken script tespit edilen framework ve envanteri, açlık ve susuzluk değeriyle her lokmayı, her teklifi
ve her yere bırakmayı konsola yazar. Sorunu bulmanın en hızlı yolu budur.
ox_inventory, ps-inventory, jpr-inventory veya qb-inventory'nin hiçbiri çalışmıyor ya da hype-consumables ondan
önce başlıyor. server.cfg içinde ensure hype-consumables satırını envanterin altına taşı. Inventory ayarına
sabit bir değer verdiysen çalışan kaynakla aynı olduğunu kontrol et.
Listelenen eşyalar config/foods.lua içinde var ama envanterinde yok. Bunları INSTALL/ox_inventory.md veya
INSTALL/qb_inventory.md dosyasından ekle (bkz. Kurulum) ya da istemediğin
kayıtları config/foods.lua içinden sil.
Eşyanın başka bir tanımı hâlâ aktif. ox_inventory'de burger, sprunk, water, sandwich, coffee ve
grapejuice data/items.lua içinde zaten var; eski tanımları sil, çünkü aynı anahtar iki kez yazılırsa sonuncusu
geçerli olur. Eşyada consume = 0 olduğunu ve client.export değerinin 'hype-consumables.useFood' olduğunu
kontrol et. qb tarzı envanterlerde aynı eşyaların başka usable kayıtlarını kaldır, örneğin qb-smallresources
içindekileri. Klasör adının tam olarak hype-consumables olduğunu da kontrol et.
Debug çıktısında Framework detected satırına bak. standalone yazıyorsa framework'ün scriptten sonra başlıyor ya
da desteklenmiyor; ensure hype-consumables satırını onun altına taşı. ESX'te değerler esx_status'a gönderilir,
yani o kaynak çalışıyor olmalı. QBCore'da HUD hud:client:UpdateNeeds ile yenilenir. Standalone sunucularda
hype-consumables:server:addStatus event'ini dinleyene kadar hiçbir şey
uygulanmaz.
İlk lokma kapalı bir paketi açar ve onu yığından ayırıp kendi slotuna taşır. Envanter doluysa ona yer kalmaz. Bir slot boşalt ve tekrar dene.
Bu bilerek böyle. Açılan her yiyeceğin kendi miktarı ve son kullanma tarihi olduğu için kendi slotunda kalır.
Birlikte oluşan kapalı paketler ox_inventory'de yine yığılır. qb tarzı envanterler sadece isme göre yığdığı için
orada her yiyecek unique olur.
Yiyeceğin son kullanma tarihi geçmiş. Oyuncuların daha az açlık ve susuzluk değeri ve biraz can kaybıyla yiyebilmesi
için Spoilage.allowConsume = true yap ya da bozulma sürelerini Categories içinde veya yiyecek bazında
spoilTime ile değiştir.
Ölüm ve kelepçe yemeyi bitirir; Consume.cancelOnRagdoll açıkken ragdoll, yüzme ve düşme de bitirir. Yiyecek
envanterinden çıktığında da (verildiğinde, yere bırakıldığında veya başka bir envantere taşındığında) ve
Consume.allowInVehicle false iken araç içinde de biter.
Yeme tuşları sadece yemek yerken veya oyuncu seçerken engellenir. Bu sürede başka bir scriptle çakışıyorlarsa
Controls içindeki kontrol id'lerini ve etiketleri değiştir. Bkz.
FiveM kontrol listesi.
Sadece oyuncu seçerken veya gelen bir teklif varken aktiftirler. Oyuncular bunları Ayarlar → Tuş Atamaları → FiveM
altından değiştirebilir, yani oyuncunun tuşu farklı olabilir. Keys ayarını değiştirmek sadece bu atamayı hiç
almamış oyuncuları etkiler.
Transfer.distance (varsayılan 3 m) içinde başka oyuncu yok. Daha yakın dur veya mesafeyi artır. Teklif kabul
edilmeden oyuncular birbirinden uzaklaşırsa teklif de iptal olur.
Çalışan bir target kaynağı yok. ox_target veya qb-target'ı scriptten önce başlat. Target olmadan yerdeki objeler yine oluşur ama yerden alınamaz.
Kimsenin almadığı yiyecek Drops.lifetime sonunda silinir (varsayılan bir saat, 0 = hiç silinmez).
Drops.removeSpoiled açıkken bozulan yiyecek de silinir. Drops.persist = false iken tüm yerdeki yiyecekler
restart'ta silinir.
Bir karakter aynı anda en fazla Drops.maxPerPlayer (varsayılan 5, 0 = sınırsız), tüm dünya ise en fazla
Drops.maxTotal (varsayılan 150) yiyecek bırakabilir. Bazılarını yerden al veya sınırları artır.
Yiyeceğin prop veya dropProp değeri yok ya da modeli oyunda bulunmuyor. Bu durumda Drops.fallbackProp
kullanılır. Yiyeceğe oyunda var olan bir modelle dropProp ver.
Düzenli kontrol sadece çevrimiçi oyuncuların envanterlerini tarar. Son kullanma tarihi zaman damgası olarak tutulduğu için bozulma bir sonraki kullanımda veya oyuncu girişinde uygulanır.
Kalan miktar ve son kullanma satırları, eşya her değiştiğinde sunucuda ox:locale dilinde metadata'ya yazılır. Dili
değiştirdikten sonra mevcut eşyalar bir sonraki değişikliklerinde, örneğin sonraki lokmada güncellenir.
Evet. Eşyayı her zamanki gibi ekle. ox_inventory'de metadata hemen yazılır; qb tarzı envanterlerde ilk kullanımda veya oyuncu girişinde yazılır.
config/foods.lua içine bir kayıt, envanterine de aynı isimde bir eşya ekle. Bkz.
Yiyecek ekleme.
server.cfg içine setr ox:locale "tr" (veya başka bir kod) yaz. Bkz.
Diller.
Evet, Vue kaynak kodu web/ içinde. Düzenledikten sonra web/ içinde pnpm install ve pnpm build çalıştırarak
web/build klasörünü yeniden derle.
Yeni sürümü indir, klasörü değiştir ve config/config.lua ile config/foods.lua dosyalarını koru. Yeni seçenekler
ve eşya değişiklikleri için güncelleme notlarına bak.