[PY] Envantere Giymeli Kuşak

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

Admin

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

GmNqq7.png





hayırlı kullanımlar.

Metin2'de Envantere Giymeli Kuşak Sistemi Oluşturma Rehberi


Metin2 özel sunucularında kullanıcı deneyimini artırmak için geliştirilen birçok sistemden biri de envanterden giyilebilen kuşak sistemidir. Bu sistem sayesinde oyuncular kuşakları doğrudan envanterden giyebilir ve ekipman yönetimini kolaylaştırabilir. Bu yazıda, Python GUI ve C++ sistem tabanlı olarak nasıl bir 'envanterden giyilebilir kuşak' sistemi geliştirileceğini adım adım anlatacağız.

1. Sistem Mimarisi

Bu sistemin temel amacı, oyuncu envanterinde bulunan bir kuşak item'ını doğrudan giyebilmek ve kategorize edebilmektir. Kuşaklar genellikle ekipman sekmesinde değil, envanterde özel bir slot olarak görünmelidir. Bu yapıya uygun olarak hem game server tarafında hem de client tarafında bazı değişiklikler yapılmalıdır.

2. Client Tarafında Uygulama

Öncelikle uiscript dosyasında kuşak envanter slotuna özel bir slot tanımlanmalıdır. Bu slot, envanter ekranında belirli bir alanda yer alacak ve sadece kuşak item'larını kabul edecektir. Py Root üzerinde bu slot için özel bir kontrol yazılmalıdır. Bu kontrol, item'ın kuşak olup olmadığını kontrol eder. Eğer kuşaksa, giyilmesine izin verir.

3. Server Tarafında Uygulama

Game server tarafında, kuşak item'ının doğru slot'a yerleştirilmesi için item handler ve slot management sistemlerinde değişiklikler yapılmalıdır. Özellikle item_proto dosyasında kuşak item'ları için özel slot numaraları tanımlanmalıdır. Ayrıca, kuşak giyme sırasında slot kontrolü yapılmalı ve başka bir kuşak varsa öncekini çıkarıp yeni kuşağı giymek sağlanmalıdır.

4. Kuşak Özellikleri ve Bonuslar

Bu sistemde kuşak item'ları özel bonuslar da taşıyabilir. Örneğin, bazı kuşaklar can, mana veya defans gibi özelliklerde bonus sağlayabilir. Bu bonuslar C++ server side üzerinden hesaplanır ve oyuncuya aktif olarak yansıtılır. Bonuslar, item level'ına göre farklılık gösterebilir.

5. Pack ve Deployment

Geliştirilen sistem, pack[/COORD] dosyalarına entegre edilerek sunucuya aktarılır. Client tarafındaki değişiklikler Martysama tarzı araçlarla compile edilir. Server tarafındaki C++ kodlar derlenir ve auth ve game serverlar yeniden başlatılır.

6. Test ve Optimizasyon

Sistem tamamlandıktan sonra test aşaması başlar. Oyuncu davranışları test edilir, slot geçişleri kontrol edilir. Hatalar düzeltilir ve performans optimizasyonları yapılır. Özellikle DB Core ile entegrasyon sağlanmalı ve item verileri doğru şekilde veritabanına yazılmalıdır.

7. Sonuç

Envanterden giyilebilen kuşak sistemi, Metin2 özel sunucularında kullanıcı dostu bir sistemdir. Oyuncu memnuniyetini artırır ve oyun içi ekipman yönetimini kolaylaştırır. Bu tür sistemlerin geliştirilmesi, Metin2 Development süreçlerinde büyük rol oynar. Metin2Lobby üzerinden benzer sistemler hakkında daha fazla bilgiye ulaşabilirsiniz.


Creating Equipable Belt System in Inventory for Metin2


In Metin2 private servers, one of the systems developed to enhance user experience is the equipable belt from inventory. This system allows players to equip belts directly from their inventory, simplifying equipment management. In this article, we will explain step by step how to develop such a system using Python GUI and C++ system.

1. System Architecture

The main purpose of this system is to allow players to equip belt items directly from their inventory and categorize them. Belts should appear as a special slot in the inventory screen rather than in the standard equipment tab. For this structure, modifications are required on both the game server and client sides.

2. Implementation on Client Side

Firstly, a custom slot must be defined in the uiscript file for the belt inventory slot. This slot will appear in a specific area within the inventory window and accept only belt items. A custom control must be written in Py Root to check if the item is a belt. If it is, the control allows equipping it directly.

3. Implementation on Server Side

On the game server, changes must be made in the item handler and slot management systems to ensure that the belt item is placed in the correct slot. Specifically, special slot numbers for belt items must be defined in the item_proto file. Additionally, during belt equipping, a slot check must occur to remove the previous belt if another one exists, allowing the player to equip the new one.

4. Belt Properties and Bonuses

In this system, belt items can also carry special bonuses. For instance, some belts may provide bonuses to HP, MP, or defense. These bonuses are calculated server-side via C++ and actively reflected to the player. The bonuses may vary depending on the item's level.

5. Pack and Deployment

The developed system is integrated into pack files and deployed to the server. Client-side changes are compiled using tools like Martysama. The C++ codes on the server side are compiled and the auth and game servers are restarted.

6. Testing and Optimization

After the system is completed, the testing phase begins. Player behaviors are tested, and slot transitions are checked. Errors are corrected, and performance optimizations are applied. Integration with the DB Core must be ensured, and item data must be correctly saved to the database.

7. Conclusion

The equipable belt system from inventory is a user-friendly feature in Metin2 private servers. It increases player satisfaction and simplifies in-game equipment management. Developing such systems plays a significant role in Metin2 Development processes. You can find more information about similar systems at Metin2Lobby.
 

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

Benzer konular

Geri
Üst Alt