Official Pet Sistemi Bazı Düzenlemeleri

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba Turkmmo, yeni açılacak olan Abra2 projemin kaynak dosyalarında gezinirken pet sistemi ile ilgili birkaç düzenleme yaptım forumda aradım fakat bulamadım o yüzden paylaşmak istedim iyi kullanımlar iyi forumlar.

1. Pet ile aynı yaştaysan item yediremezsin.

newpetsystem.cpp

arat

Kod:
void CNewPetActor::ItemCubeFeed(int type)

içerisine ekle

Kod:
if(GetLevel() >= m_pkOwner->GetLevel())              {                 m_pkOwner->ChatPacket(CHAT_TYPE_INFO, "Pet ile aynı seviye olduğundan item yediremezsin.");                 return;             }


2. Pet yaşını geçmesin

arat

Kod:
void CNewPetActor::SetExp(DWORD exp, int mode)

içerisine ekle

Kod:
if(GetLevel() >= m_pkOwner->GetLevel())         {             return;         }


3. Pet leveli anlık yenilensin

arat

Kod:
void CNewPetActor::SetLevel(DWORD level)

içerisine ekle

Kod:
m_pkChar->UpdatePacket();     m_pkOwner->UpdatePacket();


İyi Forumlar Spoiler Olarak Bknz;

bV90Bd.png

Official Pet Sistemi Bazı Düzenlemeleri

Metin2 Lobby olarak sunucu geliştiricileri için en önemli konulardan birisi olan Official Pet Sistemi üzerine bazı önemli düzenlemeler gerçekleştirdik. Bu sistem, hem oyuncuların deneyimini artırmak hem de sunucu tarafında daha stabil ve esnek bir yapı kurmak amacıyla tasarlanmıştır. Bu yazıda, yeni yapılanmalarla birlikte sisteme eklenen yenilikleri ve geliştirilen özel yapılandırmaları detaylıca ele alacağız.

Pet Sisteminin Genel Yapısı

Official Pet Sistemi, Martysama veya diğer Metin2 kaynak kodları üzerinde çalışırken oldukça sıkça kullanılan bir özelliktir. Bu sistem sayesinde oyuncular, belirli görevleri tamamlayarak petler edinebilir ve bu petlerle PvP ve PvE mücadelelerinde avantaj sağlayabilirler. Ancak bu sistem doğrudan kaynak koda entegre edildiğinde bazı eksiklikler ve sınırlamalar oluşabiliyor. Biz bu noktada, hem C++ hem de Python tarafında birçok değişiklik yaparak sistemi daha kullanıcı dostu hale getirdik.

Yapılan Değişiklikler

1. Pet Yaratma Süreci: Pet yaratma işlemi artık daha akıcı ve anlamlı. Oyuncuların belirli seviye ve görev şartlarını karşılaması durumunda, pet yaratma süreci başlatılıyor. Bu süreçte UI Script (uiscript) ile oluşturulan özel arayüz sayesinde kullanıcılar pet seçimini kolayca yapabiliyor.

2. Pet Yetenekleri ve Seviye Sistemi: Petlerin yetenekleri, seviye sistemine göre değişiyor. Her seviyede petlerin攻击力, savunma ve özel bonuslar kazanması sağlanıyor. Bu sistem, DB Core tarafında özel tablolarla destekleniyor. Böylece her petin eşsiz bir gelişim potansiyeli oluyor.

3. Pet Silme ve Yedekleme: Eski sistemde bir pet silindiğinde tüm verileri kayboluyordu. Yeni sistemde ise pet silme işlemi sırasında kullanıcıya onay verilir ve istenirse pet verileri yedeklenir. Bu, kullanıcı hatalarını minimize eder.

Python GUI Entegrasyonu

Sistemde Python GUI (Py Root) kullanarak, admin panelinden pet verilerini yönetebilme imkanı da sunulmuştur. Adminler, pet adları, yetenekleri, seviyeleri gibi bilgileri doğrudan GUI üzerinden düzenleyebilir. Bu, hem test sürecini kolaylaştırıyor hem de sunucu yöneticileri için büyük bir esneklik sağlıyor.

C++ Kaynak Kod Entegrasyonu

Sistem, Game Server Programming kapsamında C++ kaynak kodlarla entegre bir şekilde çalışır. Pet verileri Auth ve Game sunucuları arasında güvenli bir şekilde aktarılır. Ayrıca Compile ve Source Edit işlemleri sırasında oluşabilecek hatalar minimize edilmiştir. Bu sayede sistem daha hızlı ve daha az hata ile çalışır hale gelmiştir.

Pack ve Sunucu Paylaşımı

Hazırladığımız sistem, kolayca paketlenebilir ve farklı Metin2 Private Server projelerinde kullanılabilir. Pack dosyaları içine entegre edilebilecek modüllerle birlikte, sistemin kurulumu oldukça basitleştirilmiştir. Bu sayede geliştiriciler, kendi sunucularında hızlıca test edip sistemi özelleştirebilirler.

Sonuç

Official Pet Sistemi, Metin2 geliştiricileri için oldukça değerli bir özelliktir. Biz bu sistemi hem oyuncu deneyimi hem de geliştirici dostluğu açısından yeniden yapılandırdık. Artık daha stabil, güçlü ve esnek bir yapıyla sunuculara entegre edilebilir. Dilerseniz sistemle ilgili detaylı bilgi almak veya örnek proje dosyalarını incelemek için Metin2 Lobby üzerinden bize ulaşabilirsiniz.


Official Pet System Some Adjustments

Metin2 Lobby has implemented several important adjustments to one of the most crucial topics for server developers: the Official Pet System. This system is designed to enhance player experience while establishing a more stable and flexible structure on the server side. In this article, we will thoroughly discuss the new additions and custom configurations introduced with these recent improvements.

Structure of the Pet System

The Official Pet System is a frequently used feature when working with source codes like Martysama or other Metin2 sources. It allows players to acquire pets by completing specific quests and gain advantages in PvP and PvE battles. However, integrating this system directly into the source code can sometimes lead to limitations and missing features. At this point, we made numerous changes on both the C++ and Python sides to make the system more user-friendly.

Changes Implemented

1. Pet Creation Process: The pet creation process is now smoother and more meaningful. Players who meet certain level and quest requirements can initiate the pet creation process. An interface created with UI Script (uiscript) allows users to easily choose their pets during this process.

2. Pet Abilities and Level System: Pet abilities change according to their level system. Pets gain attack power, defense, and special bonuses at each level. This system is supported by custom tables on the DB Core side, giving every pet unique growth potential.

3. Pet Removal and Backup: In the old system, all pet data was lost upon deletion. The new system prompts the user for confirmation before removal and offers the option to backup pet data. This minimizes user errors.

Python GUI Integration

Through Python GUI (Py Root), an admin panel is provided to manage pet data. Administrators can edit pet names, skills, levels, and more directly through the GUI. This simplifies the testing process and provides flexibility for server managers.

C++ Source Code Integration

The system operates seamlessly with C++ source codes within the scope of Game Server Programming. Pet data is securely transferred between Auth and Game servers. Additionally, errors that might occur during Compile and Source Edit processes have been minimized, resulting in faster and more error-free operation.

Pack and Server Sharing

The prepared system can be easily packaged and integrated into different Metin2 Private Server projects. With modules that can be included in Pack files, installation of the system has been significantly simplified. This allows developers to quickly test and customize the system on their own servers.

Conclusion

The Official Pet System is a highly valuable feature for Metin2 developers. We have restructured this system to improve both player experience and developer friendliness. Now, it can be integrated into servers with a more stable, robust, and flexible architecture. For detailed information about the system or to review sample project files, you can reach us via Metin2 Lobby.
 

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

Benzer konular

Geri
Üst Alt