Videosunu daha önce paylaşmıştım, vakit olmadığından geliştiremedim veya paylaşamadım dosyayı.
@
Buton ekleme vs. anlatmıyorum diğer konudan kodları alabilirsiniz butonun koordinatıyla biraz oynamayla yenisini ekleyebilirsiniz.
Vereceğim kodlardaki hali itemi yere atar yani silmez. Bence bu halde olması item kaybını önleme açısından daha iyi ama quest ile yapılan versiyondaki gibi silinmesini istiyorsanız bir çoğunuzun server'ında envanterde "çöp kutusu" yani item silme eklentisi var. Verdiğim kodlardan "net.SendItemDropPacket(g)" kısmını
şeklinde düzeltirsiniz. Olduğu gibi kullanırsanız envanter temizleme süresi 10 dakikadır. Bir kere temizledikten sonra 10 dakika beklenmesi gerekir.
Kodlar:
Diğer konuda buton eklerken ismi "SiralaButton"du bu butonun adını "AtBut" yaptım ona göre eklersiniz.
Diğer konudaki "if self.SiralaButton:" eklenen yere
diğer konudaki "def ClickSirala" eklediğimiz yere
Ekleyin.
Bu kadar.
Uiinventory.py dosyamın tam halini link olarak veriyorum, takıldığınız yerde bakarsınız.
py içinde aratacaklarınız: "Atbut", "DropPack", "CloseDrop", "ClickAtici"
@
İş yoğunluğundan pc bakamıyorum daha paylaşılacak çok şey var, özel rütbe sistemleri gibi. Şimdilik beklemede hepsi.
Bu arada İstanbul'da part time iş arayan varsa yanıma alabilirim
Not: Kodlarda değişiklik yapabilirsiniz örneğin, item silmek istiyor musun kısmını pickmoney yani inputla yada butonlarla değiştirebilirsiniz böylece sadece seçilen envanterin itemleri silinir. Daha basit hali ise yukarıdan biraz kod çekerek otomatik olarak bulunan envanteri bilmesi olur onu da veririm sonra.
Metin2 Sunucularında Python Kullanarak Envanter Temizleme Sistemi Oluşturmak
Metin2 özel sunucu geliştirme sürecinde, oyuncuların envanterinde gereksiz eşyaların birikmesi zamanla performans sorunlarına yol açabilir. Bu durumun önüne geçmek için geliştiriciler, sunucu tarafında Python tabanlı sistemler kullanarak otomatik envanter temizleme mekanizmaları kurabilir. Bu yazıda, Python ile nasıl bir envanter temizleme sistemi geliştirileceğini detaylı olarak ele alacağız.
Neden Envanter Temizleme Gereklidir?
Metin2 sunucularında oyuncuların envanterleri zamanla çeşitli sebeplerle dolabilir. Örneğin, günlük görev ödülleri, drop edilen eşyalar veya hatalı item spawnları nedeniyle envanterde gereksiz itemler birikir. Bu durum hem sunucu performansını düşürür hem de oyuncuların oyun deneyimini olumsuz etkileyebilir. Bu nedenle, otomatik envanter temizleme gibi sistemler büyük önem taşır.
Python ile Envanter Temizleme Mekanizması
Python, Metin2 sunucu tarafında scripting yapmak için yaygın olarak kullanılan dillerden biridir. Özellikle Py Root klasöründe yer alan Python dosyaları üzerinden sunucu mantığı yönetilebilir. Envanter temizleme sistemi de bu yapıya entegre edilerek geliştirilebilir.
Temizleme Stratejisi
Otomatik temizleme işlemi, belirli kurallara göre yapılmalıdır. Örneğin şu kurallar tanımlanabilir:
- Belirli bir seviyenin altındaki eşyalar silinebilir.
- Eski tarihe sahip itemlar otomatik olarak temizlenebilir.
- Oyuncu tarafından kullanılmayan itemler belirli bir süre sonra kaldırılabilir.
Bu kurallar Python kodları yardımıyla kontrol edilir ve uygulanır.
Python Kod Yapısı
Python ile envanter temizliği için örnek bir yapı şu şekilde olabilir:
1. Oyuncunun envanteri okunur.
2. Her item için filtre kuralları uygulanır.
3. Filtreye takılan itemlar silinir veya oyuncuya bildirim gönderilir.
Bu işlemler, sunucu tarafında belirli aralıklarla çalışacak şekilde ayarlanabilir. Örneğin, her saat başı otomatik temizleme yapılması gibi.
Python GUI ve Kullanıcı Bildirimleri
Python ile geliştirilen bu sistemlerde, Py GUI bileşenleri ile oyunculara bilgilendirme mesajları da gönderilebilir. Bu sayede oyuncu, hangi eşyalarının silindiği konusunda bilgilendirilir ve kullanıcı memnuniyeti artırılır.
Veritabanı Entegrasyonu
Python tabanlı envanter temizleme sistemi, DB Core ile entegre çalışarak daha verimli sonuçlar verebilir. Eşyaların tarihlerini, sahiplerini ve durumlarını veritabanından çekererek daha gelişmiş filtrelemeler yapılabilir.
Sonuç
Metin2 özel sunucularda envanter temizleme sistemi, hem sunucu performansını artırmak hem de oyuncu deneyimini iyileştirmek için önemli bir özelliktir. Python dilinin esnek yapısı sayesinde bu tür sistemler kolayca geliştirilebilir ve özelleştirilebilir. Geliştiriciler, bu yöntemi kullanarak sunucularını daha verimli hale getirebilirler.
Creating an Inventory Cleanup System with Python in Metin2 Servers
During the development of private Metin2 servers, accumulation of unnecessary items in players' inventories over time can lead to performance issues. To prevent this, developers can implement automatic inventory cleaning mechanisms using Python-based systems on the server-side. In this article, we will detail how to build such an inventory cleanup system using Python.
Why Is Inventory Cleanup Necessary?
In Metin2 servers, players' inventories tend to fill up due to various reasons over time. For instance, daily quest rewards, dropped items, or erroneous item spawns may cause unwanted items to accumulate. This situation can reduce server performance and negatively affect the player experience. Therefore, systems like automatic inventory cleanup are highly important.
Inventory Cleaning Mechanism with Python
Python is one of the commonly used languages for scripting on the server-side of Metin2. Specifically, Python files located under the Py Root folder manage server logic. An inventory cleanup system can be developed and integrated into this structure.
Cleanup Strategy
The automatic cleanup process should follow certain rules. For example, the following rules can be defined:
- Items below a certain level may be removed.
- Items with old dates can be automatically cleaned.
- Items unused by the player may be removed after a specific period.
These rules can be checked and applied using Python code.
Python Code Structure
An example structure for inventory cleanup with Python could be as follows:
1. Read the player's inventory.
2. Apply filtering rules to each item.
3. Delete items caught by the filter or notify the player.
These processes can be scheduled to run at specific intervals, such as once every hour.
Python GUI and User Notifications
Within these Python-based systems, Py GUI components can be used to send informational messages to players. This way, players can be informed about which items have been removed, improving user satisfaction.
Database Integration
A Python-based inventory cleanup system can yield more efficient results by integrating with DB Core. By fetching item dates, owners, and statuses from the database, more advanced filtering can be implemented.
Conclusion
In private Metin2 servers, an inventory cleanup system is essential for enhancing both server performance and player experience. Thanks to Python’s flexible structure, such systems can be easily developed and customized. Developers can use this method to make their servers more efficient.
@
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
quest ile yapılanını paylaşmış, python versiyonunu vereyim dedim.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Buton ekleme vs. anlatmıyorum diğer konudan kodları alabilirsiniz butonun koordinatıyla biraz oynamayla yenisini ekleyebilirsiniz.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Vereceğim kodlardaki hali itemi yere atar yani silmez. Bence bu halde olması item kaybını önleme açısından daha iyi ama quest ile yapılan versiyondaki gibi silinmesini istiyorsanız bir çoğunuzun server'ında envanterde "çöp kutusu" yani item silme eklentisi var. Verdiğim kodlardan "net.SendItemDropPacket(g)" kısmını
Kod:
constInfo.ItemSil_Slot = g event.QuestButtonClick(constInfo.ItemSil_Index)
şeklinde düzeltirsiniz. Olduğu gibi kullanırsanız envanter temizleme süresi 10 dakikadır. Bir kere temizledikten sonra 10 dakika beklenmesi gerekir.
Kodlar:
Kod:
Diğer konudan "sonbasma" olarak aratın önünüze "sonbasma = 0" çıkacak altına "sontemizlik = 0" ekleyin.
Diğer konuda buton eklerken ismi "SiralaButton"du bu butonun adını "AtBut" yaptım ona göre eklersiniz.
Diğer konudaki "if self.SiralaButton:" eklenen yere
Kod:
if self.AtBut: self.AtBut.SetEvent(ui.__mem_func__(self.ClickAtic i))
diğer konudaki "def ClickSirala" eklediğimiz yere
Kod:
def ClickAtici(self): self.questionDialog = uiCommon.QuestionDialog() self.questionDialog.SetText("Tüm itemleri yere atmak istiyor musun?") self.questionDialog.SetAcceptEvent(ui.__mem_func__ (self.DropPack)) self.questionDialog.SetCancelEvent(ui.__mem_func__ (self.CloseDrop)) self.questionDialog.Open() def DropPack(self): if app.GetTime() > self.sontemizlik: for g in xrange(180): net.SendItemDropPacket(g) self.CloseDrop() self.sontemizlik = app.GetTime() + 60*10 else: v = self.sontemizlik - app.GetTime() chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Bir sonraki temizlik için 10 dakika beklemelisin. Kalan: %d" % (v)) def CloseDrop(self): self.questionDialog.Close() self.questionDialog=None
Ekleyin.
Bu kadar.
Uiinventory.py dosyamın tam halini link olarak veriyorum, takıldığınız yerde bakarsınız.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
py içinde aratacaklarınız: "Atbut", "DropPack", "CloseDrop", "ClickAtici"
@
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
İş yoğunluğundan pc bakamıyorum daha paylaşılacak çok şey var, özel rütbe sistemleri gibi. Şimdilik beklemede hepsi.
Bu arada İstanbul'da part time iş arayan varsa yanıma alabilirim
Not: Kodlarda değişiklik yapabilirsiniz örneğin, item silmek istiyor musun kısmını pickmoney yani inputla yada butonlarla değiştirebilirsiniz böylece sadece seçilen envanterin itemleri silinir. Daha basit hali ise yukarıdan biraz kod çekerek otomatik olarak bulunan envanteri bilmesi olur onu da veririm sonra.
Metin2 Sunucularında Python Kullanarak Envanter Temizleme Sistemi Oluşturmak
Metin2 özel sunucu geliştirme sürecinde, oyuncuların envanterinde gereksiz eşyaların birikmesi zamanla performans sorunlarına yol açabilir. Bu durumun önüne geçmek için geliştiriciler, sunucu tarafında Python tabanlı sistemler kullanarak otomatik envanter temizleme mekanizmaları kurabilir. Bu yazıda, Python ile nasıl bir envanter temizleme sistemi geliştirileceğini detaylı olarak ele alacağız.
Neden Envanter Temizleme Gereklidir?
Metin2 sunucularında oyuncuların envanterleri zamanla çeşitli sebeplerle dolabilir. Örneğin, günlük görev ödülleri, drop edilen eşyalar veya hatalı item spawnları nedeniyle envanterde gereksiz itemler birikir. Bu durum hem sunucu performansını düşürür hem de oyuncuların oyun deneyimini olumsuz etkileyebilir. Bu nedenle, otomatik envanter temizleme gibi sistemler büyük önem taşır.
Python ile Envanter Temizleme Mekanizması
Python, Metin2 sunucu tarafında scripting yapmak için yaygın olarak kullanılan dillerden biridir. Özellikle Py Root klasöründe yer alan Python dosyaları üzerinden sunucu mantığı yönetilebilir. Envanter temizleme sistemi de bu yapıya entegre edilerek geliştirilebilir.
Temizleme Stratejisi
Otomatik temizleme işlemi, belirli kurallara göre yapılmalıdır. Örneğin şu kurallar tanımlanabilir:
- Belirli bir seviyenin altındaki eşyalar silinebilir.
- Eski tarihe sahip itemlar otomatik olarak temizlenebilir.
- Oyuncu tarafından kullanılmayan itemler belirli bir süre sonra kaldırılabilir.
Bu kurallar Python kodları yardımıyla kontrol edilir ve uygulanır.
Python Kod Yapısı
Python ile envanter temizliği için örnek bir yapı şu şekilde olabilir:
1. Oyuncunun envanteri okunur.
2. Her item için filtre kuralları uygulanır.
3. Filtreye takılan itemlar silinir veya oyuncuya bildirim gönderilir.
Bu işlemler, sunucu tarafında belirli aralıklarla çalışacak şekilde ayarlanabilir. Örneğin, her saat başı otomatik temizleme yapılması gibi.
Python GUI ve Kullanıcı Bildirimleri
Python ile geliştirilen bu sistemlerde, Py GUI bileşenleri ile oyunculara bilgilendirme mesajları da gönderilebilir. Bu sayede oyuncu, hangi eşyalarının silindiği konusunda bilgilendirilir ve kullanıcı memnuniyeti artırılır.
Veritabanı Entegrasyonu
Python tabanlı envanter temizleme sistemi, DB Core ile entegre çalışarak daha verimli sonuçlar verebilir. Eşyaların tarihlerini, sahiplerini ve durumlarını veritabanından çekererek daha gelişmiş filtrelemeler yapılabilir.
Sonuç
Metin2 özel sunucularda envanter temizleme sistemi, hem sunucu performansını artırmak hem de oyuncu deneyimini iyileştirmek için önemli bir özelliktir. Python dilinin esnek yapısı sayesinde bu tür sistemler kolayca geliştirilebilir ve özelleştirilebilir. Geliştiriciler, bu yöntemi kullanarak sunucularını daha verimli hale getirebilirler.
Creating an Inventory Cleanup System with Python in Metin2 Servers
During the development of private Metin2 servers, accumulation of unnecessary items in players' inventories over time can lead to performance issues. To prevent this, developers can implement automatic inventory cleaning mechanisms using Python-based systems on the server-side. In this article, we will detail how to build such an inventory cleanup system using Python.
Why Is Inventory Cleanup Necessary?
In Metin2 servers, players' inventories tend to fill up due to various reasons over time. For instance, daily quest rewards, dropped items, or erroneous item spawns may cause unwanted items to accumulate. This situation can reduce server performance and negatively affect the player experience. Therefore, systems like automatic inventory cleanup are highly important.
Inventory Cleaning Mechanism with Python
Python is one of the commonly used languages for scripting on the server-side of Metin2. Specifically, Python files located under the Py Root folder manage server logic. An inventory cleanup system can be developed and integrated into this structure.
Cleanup Strategy
The automatic cleanup process should follow certain rules. For example, the following rules can be defined:
- Items below a certain level may be removed.
- Items with old dates can be automatically cleaned.
- Items unused by the player may be removed after a specific period.
These rules can be checked and applied using Python code.
Python Code Structure
An example structure for inventory cleanup with Python could be as follows:
1. Read the player's inventory.
2. Apply filtering rules to each item.
3. Delete items caught by the filter or notify the player.
These processes can be scheduled to run at specific intervals, such as once every hour.
Python GUI and User Notifications
Within these Python-based systems, Py GUI components can be used to send informational messages to players. This way, players can be informed about which items have been removed, improving user satisfaction.
Database Integration
A Python-based inventory cleanup system can yield more efficient results by integrating with DB Core. By fetching item dates, owners, and statuses from the database, more advanced filtering can be implemented.
Conclusion
In private Metin2 servers, an inventory cleanup system is essential for enhancing both server performance and player experience. Thanks to Python’s flexible structure, such systems can be easily developed and customized. Developers can use this method to make their servers more efficient.
