Ben daha önce de bu özelliği kapatmayı düşündüm ve o zaman ki yarım yamalak bilgilerimle yapmaya çalıştım. Çünkü bug sanmıştım.

Sonradan orijinalde filan test ettim aynı olduğunu görünce uğraşmayı bıraktım.
Ben bunla ilgili sorunu çözmek için aklımdan algoritma kurmaya çalışıyorum. Aklımda 2 farklı algoritma var. Bunu anlatmadan önce oyunda ki item yapısı ve sandık rate olayını anlatmam gerekiyor.
Oyunda 3 ayrı türde yer kaplayan item mevcut. 1x1, 1x2, 1x3. Açılacak sandık diyelim Lusifer olsun. İçinden 1x2, 1x1 veya 1x3 boyutunda eşyalar rasgele çıkabilir. Bu sandık gene diğerlerinden kolay. 1 tane item atıyor. Bu yüzden şöyle fikir yürütebilirsin ben çıkan her item için 1x3 şeklinde boşluk kontrolü yaptırabilirim ama buda mevcut sistemi saçma bir şekilde çözmek olur.
Bu yüzden aklımda iki tür var. Bunları test etmedim. Çünkü bu tarz kodlarda düzenleme yapmak zaman ve matematik işlemi gerektiriyor. Hatta sırf şu item boyutu hesaba katılmadığı için forumlarda paylaşılan k envanter sistemleri buglu.
Bu bilgileri aklımızda sorunu iyi tespit edebilmek için verdim.
Şimdi gelelim 2 türlü çözüme.
1. Çözüm yolu;
Kaynak kodunda boş yer kontrolü yapan fonksiyon var zaten.
Sandığa sağ tıkladığında çıkacak eşyaları ilk önce envanterda boş alan kontolü olup olmadığını kontrol ettirirsiniz. Varsa eşyaları verir yoksa uyarı verir. Fakat bunda envanter boş uyarısı verdikten sonra oyuncu envanteri boşalttı ve sonra tekrardan sandığa tıkladı diyelim bir önceki verilecek itemler yerine yeniden şansa bağlı olarak itemler verilecek.
Bunun kötü yanı şu. Kullanıcı belki bir öncekinde daha iyi item elde edebilirdi.
2. Çözüm yolu;
Belli yere kadar yukarı da söylediğim gibi devam ettirebilirsiniz daha sonra envanter dolu dedi ve uyarı verdi. Hemen verilecek itemleri bir vector yapısına kayıt ettirirsiniz. Oyuncu envanteri boşaltıp tekrar sandığı açtığında bir önce ki uyarı sebebi ile alamadığı itemleri alabilir.
Bunlar sadece önden yapılan beyin fırtınaları iş kodlama kısmına gelince belki iş planlandığı gibi gitmeyebilir.