İstiflenen Taşların Komple Silinmesi Fix

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 74

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Arat
Kod:
ITEM_MANAGER::instance().RemoveItem(item, "REMOVE (METIN)");

Değiştir
Kod:
item->SetCount(item->GetCount() - 1);

Anlamışsınızdır çok sorun oluyor Saltanat Tipi swlerde :)

F<3R

Metin2 Lobby'da İstiflenen Taşların Komple Silinmesi Fix

Metin2 özel sunucularında geliştirme süreçlerinde birçok geliştirici, oyuncuların karakter envanterinde taş gibi itemlerin istiflenebilmesi durumunda ortaya çıkan sorunlarla karşılaşabilir. Bu tür istiflenebilen itemlerin silinmesi sırasında bazı sistemsel eksiklikler nedeniyle komple silinmeme durumu gözlemlenebilir. Bu durum hem sunucu performansını etkileyebilir hem de kullanıcı deneyimini düşürebilir. Bu yazıda, istiflenen taşların komple silinmesi fix konusunu detaylıca ele alacağız ve doğru uygulama yöntemlerini açıklayacağız.

Taş Sistemleri ve İstiflenebilir Itemler

Metin2 oyunlarında taşlar, sandıklardan veya düşmanlardan elde edilebilen ve istiflenebilen değerli itemlerdir. Bu itemler genellikle envanterde biriktirilir ve zamanla binlerce adede ulaşabilir. Ancak bazı durumlarda, bu taşları silmek istendiğinde sistem sadece bir miktarını siler ve geri kalanları envanterde tutmaya devam edebilir. Bu durum genellikle C++ kaynak kodlarında tanımlanan item silme fonksiyonunun eksik veya hatalı bir şekilde yapılandırılması sonucu oluşur.

Silme Fonksiyonunun Hatalı Davranışı

Özel sunucuların çoğunda kullanılan default silme fonksiyonu, sadece bir stack içindeki belirli miktarda itemi siler. Eğer envanterde birden fazla stack varsa, diğerleri silinmez. Bu da oyuncunun envanterinde gereksiz yere taş kalmasına sebep olur. Bu sorun, game core veya client src üzerinde yapılan eksik düzenlemelerden kaynaklanabilir.

Fix Uygulaması[/BR][/BR]Bu hatayı düzeltmek için C++ tarafında bulunan item silme fonksiyonunun tüm envanterdeki aynı itemleri silmesi sağlanmalıdır. Bu işlem için öncelikle game server programming bilgisi gereklidir. Fonksiyon şu şekilde yeniden düzenlenebilir:

- Oyuncunun envanterindeki tüm istiflenebilir taşları kontrol et.
- Bulunan her stack için silme işlemini tekrarla.
- Tüm silme işlemleri tamamlanana kadar döngüyü sürdür.

Python GUI ve Script Kullanımı

Eğer fix işlemini Python tabanlı bir py gui arayüzü üzerinden yapmayı tercih ediyorsanız, uiscript dosyalarında gerekli kontrolleri sağlayarak kullanıcı dostu bir arayüz üzerinden bu işlemi gerçekleştirebilirsiniz. Bu tür sistemler genellikle martysama tarzı geliştiriciler tarafından kullanılır.

Veritabanı ve Sunucu Performansı

Sistemsel olarak taşlar komple silinemediğinde, veritabanında gereksiz kayıt birikimleri oluşabilir. Bu da db core üzerinde olumsuz etkilere yol açabilir. Doğru fix uygulandığında hem sunucu performansı artar hem de veritabanı daha temiz tutulur.

Sunucu Geliştirme Sürecinde Dikkat Edilmesi Gerekenler

Bu tip hatalar, sadece taşlar için değil, tüm istiflenebilen itemler için geçerlidir. Metin2 development sürecinde, özellikle source edit işlemleri sırasında bu tür küçük ama önemli detaylara dikkat etmek büyük fark yaratır. Aynı zamanda pack dosyalarında da benzer kontroller yapılmalıdır.

Sonuç

İstiflenen taşların komple silinmesi fix, Metin2 özel sunucularında karşılaşılan yaygın sorunlardan biridir. Doğru uygulandığında, kullanıcı memnuniyeti artar, sunucu performansı optimize edilir ve veritabanı daha sağlıklı yönetilir. Bu fix, C++ system bilgisi gerektirse de, doğru adımlar izlenerek kolayca uygulanabilir.


Complete Deletion Fix for Stacked Stones in Metin2 Lobby

During the development process of Metin2 private servers, many developers may encounter issues where stacked items like stones do not fully delete from player inventories. This can negatively impact both server performance and user experience. In this article, we will thoroughly examine the topic of fixing complete deletion of stacked stones and explain proper implementation methods.

Stone Systems and Stackable Items

In Metin2, stones are valuable items that can be obtained from chests or monsters and are stackable. These items are usually accumulated in the inventory and can reach thousands over time. However, sometimes when attempting to delete these stones, the system only deletes a certain amount and leaves the rest in the inventory. This issue often arises due to incorrect or incomplete configuration of the item deletion function defined in the C++ source code.

Incorrect Behavior of Deletion Function

In most private servers, the default deletion function only removes a specific amount within a single stack. If there are multiple stacks in the inventory, the others remain undeleted, causing unnecessary stone accumulation. This problem can stem from incomplete modifications in game core or client src.

Implementing the Fix

To fix this error, the item deletion function on the C++ side must be modified to delete all instances of the same item across the entire inventory. This requires knowledge of game server programming. The function can be redesigned as follows:

- Check all stackable stones in the player's inventory.
- Repeat the deletion operation for each stack found.
- Continue the loop until all deletions are completed.

Using Python GUI and Scripts

If you prefer to implement the fix via a Python-based py gui interface, you can create a user-friendly UI through uiscript files by implementing necessary checks. Such systems are commonly used by developers like martysama.

Database and Server Performance

When stones are not completely deleted, unnecessary record accumulations occur in the database, potentially causing negative impacts on db core. With the correct fix applied, both server performance increases and the database remains cleaner.

Considerations During Server Development

Such errors are not limited to stones but apply to all stackable items. During Metin2 development, especially during source edit processes, paying attention to small but important details like this can make a significant difference. Similar checks should also be performed in pack files.

Conclusion

The complete deletion fix for stacked stones is one of the common issues encountered in Metin2 private servers. When correctly implemented, user satisfaction increases, server performance is optimized, and the database is managed more effectively. Although this fix requires C++ system knowledge, it can be easily applied by following the correct steps.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt