MaviAyGames | Grup Tecrübe Paylaşımı Mesafe Kontrolü

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Grup ile kasılındığı zaman grup üyesi uzakta olduğunda exp gitmiyordu bu düzenleme ile bunun önüne geçilmiş bulunulmaktadır.
Service.h
Kod:
#define ENABLE_PARTY_EXP_FIX

Char_battle.cpp

Arat:

Kod:
LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);         // NPC°¡ ¶§¸®±âµµ Çϳª? -.-;         if (!pAttacker || pAttacker->IsNPC() || DISTANCE_APPROX(GetX() - pAttacker->GetX(), GetY() - pAttacker->GetY()) > 5000)             continue;
Değiştir:
Kod:
#ifdef ENABLE_PARTY_EXP_FIX         LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);         // NPC°¡ ¶§¸®±âµµ Çϳª? -.-;         if(!pAttacker || !pAttacker->IsPC())             continue;         // Block exp award based on distance         // Groups have DOUBLE the exp distance to prevent the "exploit" where the party leader gets full exp bonus and some party members don't get exp.         int dist = DISTANCE_APPROX(GetX()-pAttacker->GetX(), GetY()-pAttacker->GetY());         if(dist > 10000 || (dist > 5000 && !pAttacker->GetParty()))             continue; #else         LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);         // NPC°¡ ¶§¸®±âµµ Çϳª? -.-;         if (!pAttacker || pAttacker->IsNPC() || DISTANCE_APPROX(GetX() - pAttacker->GetX(), GetY() - pAttacker->GetY()) > 5000)             continue; #endif

MaviAyGames | Grup Tecrübe Paylaşımı ve Mesafe Kontrolü Sistemi

Metin2 özel sunucularında oyun içi deneyim ve grup sistemlerinin optimize edilmesi, oyuncu sadakati ve oyun dengeleri için kritik öneme sahiptir. MaviAyGames, Metin2 geliştiricileri arasında öne çıkan projelerden biridir ve özellikle Grup Tecrübe Paylaşımı ile Mesafe Kontrolü gibi temel mekanizmalar üzerinde önemli yenilikler sunmaktadır. Bu yazıda, MaviAyGames tarafından geliştirilen grup tecrübesi paylaşımı ve mesafe kontrolü sistemlerinin teknik detaylarına odaklanacağız.

Grup Tecrübe Paylaşımı Nedir?

Grup tecrübesi paylaşımı, Metin2 oyununda bir oyuncu grubunun ortak olarak düşmanları yendiklerinde elde ettikleri tecrübe puanlarının belirli bir algoritmaya göre grup üyeleri arasında bölüştürülmesini sağlar. Bu sistem sayesinde, oyuncular birlikte seyahat edip ortak görevler yaparken, herkesin gelişim hızı daha dengeli hale gelir. Ancak bu sistemin doğru çalışması için bazı teknik kontroller gereklidir. Örneğin, grup üyelerinin birbirine olan mesafesi fazla olursa, tecrübenin paylaşılması mantıksız olabilir. İşte bu noktada Mesafe Kontrolü devreye girer.

Mesafe Kontrolü Neden Gereklidir?

Metin2 oyununda gruplar bazen harita boyunca farklı konumlarda bulunabilir. Eğer mesafe kontrolü yapılmazsa, bir oyuncu uzakta bir mob öldürdüğü zaman diğer grup üyelerine tecrübe aktarımı yapılması haksızlık yaratır. Bu durum oyun içi dengeyi bozar ve bazı oyuncuların pasif olarak tecrübe kazanmasına neden olabilir. MaviAyGames bu sorunu çözmek için C++ tabanlı bir mesafe kontrolü sistemi geliştirmiştir. Bu sistem sayesinde, tecrübe paylaşımı sadece belirlenen mesafe sınırı içindekiler için aktif olur. Bu mesafe genellikle 30-50 grid olarak ayarlanabilir ve sunucuya özel olarak düzenlenebilir.

C++ Kaynak Kod Seviyesinde Uygulama

Grup tecrübesi paylaşımı ve mesafe kontrolü, Metin2 sunucu tarafında game core içinde çalışır. Bu sistemler genellikle src dosyalarında char_manager.cpp, party.cpp gibi dosyalarda düzenlenerek uygulanır. MaviAyGames tarafından sağlanan source edit çözümleri sayesinde bu tür sistemler kolayca entegre edilebilir. Geliştiriciler, db core ile uyumlu şekilde çalışarak hem auth hem de game sunucusunda gerekli değişiklikleri yapabilirler. Ayrıca bu sistemler Python tabanlı GUI arayüzlerle de yönetilebilir. Py Root ve Py GUI araçları sayesinde, sunucu yöneticileri bu ayarları daha kullanıcı dostu bir şekilde değiştirebilirler.

Avantajlar ve Oyun Dengesi

Bu tür grup sistemleri, Metin2 özel sunucularında PvP aktiviteleri ve co-op oyun stillerini teşvik eder. Doğru uygulandığında, oyuncuların birlikte oynaması ve stratejik planlamalar yapması teşvik edilir. Ayrıca mesafe kontrolü sayesinde hile kullanımı engellenir ve adil bir deneyim sunulur. MaviAyGames tarafından sunulan sistemler, bu bağlamda Metin2 geliştiricilerine profesyonel düzeyde destek sağlar.

Sonuç

Metin2 özel sunucularında grup tecrübesi paylaşımı ve mesafe kontrolü gibi sistemler, hem oyuncu deneyimini artırır hem de sunucu dengesini korumada kilit rol oynar. MaviAyGames’in sunduğu çözümler sayesinde bu sistemler kolayca uygulanabilir ve özelleştirilebilir. Sunucu geliştiricileri için bu tür sistemlerin doğru entegrasyonu, Metin2 development dünyasında rekabet avantajı sağlar.


MaviAyGames | Group Experience Sharing and Distance Control

In Metin2 private servers, optimizing in-game experience and group mechanics is crucial for player retention and game balance. MaviAyGames stands out among Metin2 developers by introducing key innovations in core mechanisms like Group Experience Sharing and Distance Control. In this article, we will focus on the technical details of the group experience sharing and distance control systems developed by MaviAyGames.

What is Group Experience Sharing?

Group experience sharing allows experience points earned from defeating enemies to be distributed among members of a player group according to a specific algorithm. This ensures a more balanced progression rate among players who travel together and engage in common quests. However, for this system to function properly, certain technical checks must be implemented. For instance, if the distance between group members is too large, it would be不合理 to distribute experience. This is where Distance Control comes into play.

Why is Distance Control Necessary?

In Metin2, group members may sometimes be located across different areas of the map. Without distance control, experience distribution could occur even when a player kills a monster far away from the rest of the group, which can be unfair and disrupts game balance. To address this, MaviAyGames has developed a C++-based distance control system that ensures experience sharing only occurs within a defined range—typically set between 30-50 grids, adjustable per server configuration.

Implementation at the C++ Source Code Level

Group experience sharing and distance control operate within the game core of the Metin2 server. These systems are typically implemented by editing files such as char_manager.cpp and party.cpp inside the src folder. Solutions provided by MaviAyGames allow for easy integration of such systems through source edits. Developers can make necessary modifications in both auth and game servers, maintaining compatibility with the db core. Additionally, these systems can be managed through user-friendly interfaces using Python-based tools such as Py Root and Py GUI.

Benefits and Game Balance

These types of group systems encourage cooperative gameplay and PvP activities in Metin2 private servers. When implemented correctly, they promote teamwork and strategic planning among players. Moreover, distance control prevents exploitation and ensures fair play. The systems offered by MaviAyGames provide professional-level support to developers in this regard.

Conclusion

Group experience sharing and distance control systems enhance the player experience while maintaining server balance in Metin2 private servers. Thanks to solutions offered by MaviAyGames, these systems can be easily implemented and customized. Proper integration of such systems provides competitive advantages in the world of Metin2 development.
 

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

Benzer konular

Geri
Üst Alt