///
Metin2 sunucularında Lonca sistemi, oyuncuların bir araya gelerek ortak hedefler peşinde koşmasını sağlayan temel yapı taşlarından biridir. Ancak bazı özel sunucu sahipleri, kendi özel sistemlerini kurarken lonca kurma ve loncadan atıldıktan sonra tekrar giriş yapma süresi gibi mekanikleri özelleştirmeyi tercih ederler. Bu yazıda, Lonca kurma ve Loncadan atıldıktan sonra yeniden girme süresini kaldırma ++ sistemini nasıl entegre edebileceğinizi detaylıca inceleyeceğiz.
Lonca Kurma Sistemi Nedir?
Metin2'de bir lonca oluşturmak, belirli seviye, altın ve diğer gerekli ögelerle sınırlıdır. Orijinal sistemde, oyuncular belirli bir seviyeye ulaştığında ve yeterli miktarda altın harcadığında lonca kurabilirler. Ancak özel sunucularda bu sisteme ek olarak, lonca adı benzersiz olmalı, oyuncunun daha önce hiç loncada olmaması veya başka özel kontroller yapılabilir. Bu tür özelleştirmeler, genellikle C++ sunucu tarafında veya Python GUI tabanlı sistemler üzerinden tanımlanır.
Yeniden Giriş Süresi Kaldırma Avantajı
Bazı sunucularda, oyuncular bir loncadan atıldıklarında belirli bir süre boyunca başka bir loncaya katılamazlar. Bu bekleme süresi, loncalar arası çatışmaları engellemek veya滥用 (kötüye kullanım) durumlarını önlemek için konulmuştur. Ancak PVP odaklı sunucularda, bu bekleme süresi oyuncu deneyimini olumsuz etkileyebilir. Bu nedenle, yeniden loncaya girme süresini kaldırma ++ sistemi, oyuncuların daha dinamik bir şekilde hareket etmesini sağlar.
C++ Sunucu Tarafında Uygulama
Bu sistemi uygulamak için, öncelikle game server source code üzerinde değişiklik yapılması gerekir. Özellikle party.cpp veya guild.cpp dosyalarında, oyuncunun atılma sonrası tekrar lonca kurup kuramayacağına dair kontrol yapılır. Bu kontrol bloğunu bypass ederek, bekleme süresini devre dışı bırakabilirsiniz. Örneğin:
Kod:
[COLOR=orange]if (ch->GetGuild() == NULL && ch->GetParty() == NULL)[/COLOR]
satırını,
Kod:
[COLOR=green]if (ch->GetParty() == NULL)[/COLOR]
olarak değiştirmek, oyuncunun daha önce loncada olmasının önemi olmadığını gösterebilir.
Python GUI Tarafında Entegrasyon
Eğer sunucu tarafında işlemleriniz tamamlandıysa, istemci tarafında da lonca kurma ekranında değişiklik yapmanız gerekebilir. Bu genellikle uiscript ve py root dosyalarında yapılır. Lonca kurma penceresi açıldığında, önceki lonca üyeliği kontrolünü devre dışı bırakan bir Python fonksiyonu yazılabilir. Bu işlem sırasında Martysama gibi özel sistemlerle uyumlu olunması önemlidir.
Dikkat Edilmesi Gerekenler
Bu tür değişiklikler, özellikle DB-Core ve Game-Core üzerinde çalışırken dikkatle yapılmalıdır. Yanlış kodlama sonucunda sunucu çökmesi, veri kaybı veya güvenlik açıkları oluşabilir. Ayrıca, bu sistemlerin doğru çalışması için Auth-Server ile senkronizasyon da sağlanmalıdır. Metin2 Lobby olarak bu tarz gelişmiş sistemlerin nasıl kurulacağını öğrenmek isterseniz, sitemizdeki kaynak kod örneklerine göz atabilirsiniz.
Sonuç
Lonca kurma ve atılma sonrası yeniden katılma süresini kaldırma ++ sistemi, Metin2 özel sunucularında kullanıcı deneyimini ciddi anlamda artırabilir. Hem C++ hem de Python tabanlı sistemlerde uygulanabilen bu özellik, doğru kodlama ile güçlü bir PVP deneyimi sunar. Bu tür sistemleri uygulamak isteyen geliştiriciler için, Metin2Lobby olarak sitemizde bolca kaynak ve örnek sunuyoruz.
The Guild system in Metin2 servers is one of the fundamental structures that allows players to come together and pursue common goals. However, some private server owners prefer to customize mechanics such as guild creation and the cooldown period after being kicked from a guild when setting up their own unique systems. In this article, we will examine in detail how you can integrate the system for Creating a Guild and Removing the Rejoin Time After Being Kicked from a Guild ++.
What Is the Guild Creation System?
In Metin2, creating a guild is limited by certain level requirements, gold, and other elements. In the original system, players can create a guild once they reach a certain level and spend enough gold. However, on private servers, additional customizations may apply, such as the guild name must be unique, the player has never been in a guild before, or other specific checks. These kinds of customizations are usually defined either on the C++ server side or through Python-based GUI systems.
Benefits of Removing Rejoin Time
On some servers, after players are kicked from a guild, they cannot join another guild for a certain amount of time. This waiting period is implemented to prevent conflicts between guilds or to avoid misuse. However, on PVP-oriented servers, this cooldown can negatively impact the player experience. Therefore, the removal of the rejoin time after being kicked from a guild ++ system allows players to act more dynamically.
Implementation on the C++ Server Side
To implement this system, changes must first be made to the game server source code. Particularly in files like party.cpp or guild.cpp, there are controls determining whether a player can create or join a guild again after being removed. By bypassing these control blocks, you can disable the waiting period. For example, changing the line:
Kod:
[COLOR=orange]if (ch->GetGuild() == NULL && ch->GetParty() == NULL)[/COLOR]
to:
Kod:
[COLOR=green]if (ch->GetParty() == NULL)[/COLOR]
may indicate that previous guild membership no longer matters for the player.
Integration on the Python GUI Side
If your server-side changes are complete, you might also need to make modifications to the guild creation screen on the client side. This is usually done within uiscript and py root files. When the guild creation window opens, a Python function can be written to ignore any check regarding previous guild membership. It's important during this process to remain compatible with custom systems like Martysama.
Precautions to Take
Such modifications should be handled carefully, especially when working with DB-Core and Game-Core. Incorrect coding can lead to server crashes, data loss, or security vulnerabilities. Additionally, synchronization with the Auth-Server must be ensured for these systems to function correctly. As Metin2 Lobby, if you wish to learn how to set up such advanced systems, you can explore our source code examples available on our website.
Conclusion
The Guild Creation and Removal of Rejoin Time After Being Kicked ++ system can significantly enhance user experience on private Metin2 servers. Applicable in both C++ and Python-based systems, this feature offers a robust PVP experience with correct coding. For developers looking to implement such systems, we offer numerous resources and examples on our site, Metin2Lobby.
