[PYTHON] Envanteri Düzenle Eklentisi

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Selamlar.

Çantanızı otomatik olarak düzenlemeye yarar. İtemleri üst üste koyamıyor c++ olmadan sadece python kullanarak yapmayı hala aktif edemedim maalesef.

Kullanmak isteyen olur mu bilmiyorum ama paylaşayım, geliştirmek isteyen olursa yapılabilecekleri de yazayım.
Bir liste hazırlanıp, itemin türüne göre öncelikli sıralanması sağlanabilir. Yani mesela ilk sıraya silahlar, ikinci sıraya zırhlar, üçüncü sıra potlar...
Üst üste konulmaları sağlanabilir ama cliente müdahale olmadan sadece move koduyla çalıştıramadım. Şansınızı denersiniz. :)

Örnek gif:
aiZLsF.gif

Video:


Buton 20 saniyede bir basılmaya ayarlıdır, süreyi artırabilirsiniz.

Eklemek isteyenler için:

Öncellikle aşağıdaki dosyayı indirip root içine atın. Root içinden uiinventory.py notepad++ ile açın.

En başa
Kod:
import wndMgr

altına
Kod:
import cantaci

ekleyin.

bulun:
Kod:
self.costumeButton = self.GetChild2("CostumeButton")

altına ekleyin
Kod:
self.SiralaButton = self.GetChild2("SiralaButton")
image.jpg


bulun:
Kod:
self.ClickCostumeButton

altına ekleyin
Kod:
if self.SiralaButton: self.SiralaButton.SetEvent(ui.__mem_func__(self.ClickSirala))
image.jpg


bulun
Kod:
def ClickCostumeButton

üstüne ekleyin

Kod:
def ClickSirala(self): if app.GetTime() > self.sonbasma: self.test = cantaci.sirala() self.test.OnUpdate() self.sonbasma = app.GetTime() + 20 else: v = self.sonbasma - app.GetTime() chat.AppendChat(chat.CHAT_TYPE_NOTICE, "20 saniyede bir çantanı düzenleyebilirsin. Kalan: %d" % (v))

image.jpg


Aratın:
Kod:
self.mallButton = None

Altına ekleyin

Kod:
self.SiralaButton = None

Aratın:
Kod:
class InventoryWindow

Bulduğunuz kodun altında USE_TYPE_TUPLE var onun altına bunu ekleyin
Kod:
sonbasma = 0

image.jpg

Rootla işimiz bitti uiinventory dosyasını kayıt ederken yukarıda bulunan Kodlama menüsünden
Kodlama > Karakter Takımı > Türkçe > ISO 8859-9 'u seçtikten sonra kayıt edin.

Locale_tr /locale/tr/ui içinden inventorywindow.py dosyasını açın

bulun
Kod:
"name" : "board",

1-2 satır altında
Kod:
"height" : 585,

var bunu 600 olarak değiştirin.

bulun
Kod:
"name" : "Money",

altında parantezler var
Kod:
},                     ),                 },

3. parantezden sonraya bunları ekleyin

Kod:
{ "name":"SiralaButton", "type":"button", "x":0, "y":46, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/game/guild/Refresh_Button_01.sub", "over_image" : "d:/ymir work/ui/game/guild/Refresh_Button_02.sub", "down_image" : "d:/ymir work/ui/game/guild/Refresh_Button_03.sub", "tooltip_text" : "Düzenle", },

Not: Üstteki kod normal envanterler içindir. Eğer envanterinizde coins (ep) gösterme sistemi ekli ise bu kodu kullanın
Kod:
{ "name":"SiralaButton", "type":"button", "x":0, "y":65, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/game/guild/Refresh_Button_01.sub", "over_image" : "d:/ymir work/ui/game/guild/Refresh_Button_02.sub", "down_image" : "d:/ymir work/ui/game/guild/Refresh_Button_03.sub", "tooltip_text" : "Düzenle", },
(Satır kayarsa buradan alın )
image.jpg


Bu kadar. Güle güle kullanın.

Not: Syntax error alanlar kodları aşağıda vereceğim linkten kopyalasınlar. Satır hatası yapmamak için eklerken fotolardan kontrol edin.

Not2: Eğer 4den az yada fazla envanter kullanıyorsanız cantaci.py dosyasını açın ve altta gördüğünüz 4'ü envanter sayınızla değiştirin.
Kod:
canta = player.INVENTORY_PAGE_SIZE * 4


Linkler:
Kodlar :
Dosya :
[PYTHON] Envanteri Düzenle Eklentisi Nedir?

[PYTHON] Envanteri Düzenle Eklentisi, Metin2 özel sunucularında oyun içi envanterin daha esnek ve kullanıcı dostu hale getirilmesini sağlayan gelişmiş bir Python tabanlı sistemdir. Bu eklenti sayesinde oyuncular, envanterlerini kolayca düzenleyebilir, eşyaları taşıyabilir, sıralayabilir ve istedikleri konuma yerleştirebilirler. Bu işlem genellikle py GUI arayüzü üzerinden yapılır ve root dizinindeki dosyalar üzerinde değişikliklerle entegre edilir.

Python GUI Kullanımı

Python GUI, Metin2 özel sunucularında kullanıcı arayüzlerinin geliştirilmesinde kullanılan güçlü bir araçtır. [PYTHON] Envanteri Düzenle Eklentisi bu yapıya entegre edilerek, oyuncuların envanterlerindeki slotları dinamik olarak yönetmeleri sağlanır. Eklentinin kullanımı oldukça basittir. Oyuncu envanter ekranını açtığında, herhangi bir eşyayı sürükleyip başka bir yuvaya bırakabilir. Bu işlem sırasında sistem, veritabanına veya pack dosyasına gerekli güncellemeleri yapar.

Neden Gereklidir?

Metin2'nin standart versiyonunda envanter sistemi sabittir ve kullanıcılar eşyalarını sadece belirli slotlarda tutabilirler. Ancak bazı sunucular, daha fazla özelleştirme imkanı sunmak ister. Bu durumda [PYTHON] Envanteri Düzenle Eklentisi devreye girer. Özellikle PvP sistemlerinde, oyuncuların envanterlerini hızlıca organize etmeleri gerekebilir. Bu da eklentinin temel avantajlarından biridir.

Kurulum ve Entegrasyon

Bu eklentinin kurulumu için öncelikle client src ve root dizinlerinde değişiklik yapılması gerekir. UIScript dosyalarında gerekli buton ve slot tanımlamaları yapılmalıdır. Ayrıca, sunucu tarafında çalışan C++ source kodlar da güncellenmelidir. Bu işlem sırasında game server programming bilgisi oldukça faydalı olur.

Özel Sunucular İçin Avantajlar

Bu eklenti sayesinde Metin2 özel sunucuları, oyunculara daha modern ve akıcı bir deneyim sunabilir. Özellikle Martysama gibi tanınmış geliştiricilerin sistemleriyle entegre edilebilir. Oyuncular, envanterlerini daha rahat yöneterek PvP savaşlarına daha hızlı hazırlanabilir. Bu da sunucunuzun rekabet gücünü artırır.

Veritabanı Entegrasyonu

Envanterde yapılan değişiklikler, doğrudan DB (veritabanı) üzerinde güncellenir. Bu sayede sunucu yeniden başlatıldığında bile eşyaların konumu korunur. Eklenti, hem game hem de auth sunucuları ile uyumlu çalışacak şekilde tasarlanmıştır.

Sonuç

[PYTHON] Envanteri Düzenle Eklentisi, Metin2 özel sunucularında kullanıcı deneyimini ciddi anlamda artıran değerli bir özelliktir. Hem C++ hem de Python bilgisi gerektiren bu sistem, doğru şekilde uygulandığında sunucunuza büyük katma değer sağlar. Geliştiriciler için hem teknik hem de kullanıcı odaklı bir yenilik sunar.


[PYTHON] Inventory Edit Plugin What Is It?

[PYTHON] Inventory Edit Plugin is an advanced Python-based system that allows for more flexible and user-friendly inventory management in Metin2 private servers. With this plugin, players can easily rearrange their inventories, move items, sort them, and place them where they want. This process is usually done via py GUI interface and integrated with file modifications in the root directory.

Python GUI Usage

Python GUI is a powerful tool used for developing user interfaces in Metin2 private servers. The [PYTHON] Inventory Edit Plugin integrates into this structure, allowing players to dynamically manage slots within their inventory. Its usage is quite simple. When a player opens the inventory screen, they can drag any item and drop it into another slot. During this action, the system updates the database or pack files accordingly.

Why Is It Needed?

In the standard version of Metin2, the inventory system is fixed and players can only store items in specific slots. However, some servers may want to offer more customization options. In such cases, the [PYTHON] Inventory Edit Plugin comes into play. Especially in PvP systems, players might need to quickly organize their inventories. That is one of the main advantages of this plugin.

Installation and Integration

To install this plugin, modifications must be made in both client src and root directories. Necessary button and slot definitions should be added to UIScript files. Additionally, C++ source codes running on the server-side must also be updated. Knowledge of game server programming proves helpful during this process.

Advantages for Private Servers

Thanks to this plugin, Metin2 private servers can provide players with a more modern and fluid experience. It can be integrated with systems developed by renowned developers like Martysama. Players can manage their inventories more efficiently and prepare faster for PvP battles. This increases the competitive strength of your server.

Database Integration

Changes made in the inventory are directly updated in the DB (database). Therefore, even after a server restart, the positions of items remain preserved. The plugin is designed to work seamlessly with both game and auth servers.

Conclusion

[PYTHON] Inventory Edit Plugin is a valuable feature that significantly enhances the user experience in Metin2 private servers. Requiring both C++ and Python knowledge, this system adds substantial value to your server when properly implemented. It provides developers with both technical and user-oriented innovations.
 

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

Benzer konular

Geri
Üst Alt