Merhabalar geçen bir quest yazarken karşılaştığım sorunu fixlemiştim.
Paylaşmak istedim.
Çoğu dungeon questlerinde d.count_monster() fonksiyonu kullanılır.
Lakin d.count_monster() == 0 olarak geçer questlerde yani o mapta mob sayısı 0 düşene kadar bir sonraki görev verilmez.
Ama bu fonksiyon sadece karakterleri saymaz. Diğer herşeyi sayar. Serverinde Giymeli binek ve pet varsa bunlarda o kategoride sayılıyor. Bunun fixi
dungeon.cpp aç ve arat
içinde bunu bulun
bunla değiştirin tabi serverinizde hangileri yoksa kaldırın.
Define yapıp sağlama almak isteyenler için.
İyi forumlar.
Paylaşmak istedim.
Çoğu dungeon questlerinde d.count_monster() fonksiyonu kullanılır.
Lakin d.count_monster() == 0 olarak geçer questlerde yani o mapta mob sayısı 0 düşene kadar bir sonraki görev verilmez.
Ama bu fonksiyon sadece karakterleri saymaz. Diğer herşeyi sayar. Serverinde Giymeli binek ve pet varsa bunlarda o kategoride sayılıyor. Bunun fixi
dungeon.cpp aç ve arat
Kod:
struct FCountMonster
içinde bunu bulun
Kod:
if (!ch->IsPC())
bunla değiştirin tabi serverinizde hangileri yoksa kaldırın.
Kod:
if (!ch->IsPC() && !ch->IsDead() && !ch->IsPet() && !ch->IsNewPet() && !ch->IsNewMount())
Define yapıp sağlama almak isteyenler için.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
İyi forumlar.
Metin2 özel sunucularında oyun deneyimini artırmak amacıyla geliştirilen sistemlerden biri olan Dungeon Fixi, oyun içi zindanların sorunsuz çalışmasını ve oyuncuların daha keyifli vakit geçirmesini sağlar. Bu sistem özellikle C++ tabanlı Metin2 sunucu kaynak kodlarında önemli değişiklikler gerektirir. Bu yazıda, Dungeon Fixi sisteminin ne olduğu, nasıl geliştirildiği ve Metin2 özel sunucularında nasıl entegre edileceği konusunda detaylı bilgi vereceğiz.
Dungeon Fixi Nedir?
Dungeon Fixi, Metin2 oyununda bulunan zindanların bazı hatalardan arındırılması, zaman aşımı kontrollerinin optimize edilmesi ve istenmeyen çıkışlar gibi durumların engellenmesi için geliştirilmiş bir sistemdir. Özellikle PvP sunucularda bu sistem, oyuncuların zindanlarda daha adil ve sürdürülebilir bir oyun deneyimi yaşamasını sağlar.
Sistem Geliştirme ve Kodlama
Dungeon Fixi, genellikle C++ dili kullanılarak geliştirilir. Metin2 oyun sunucusu kaynak kodları (game src[/BR]) üzerinde değişiklik yapılarak zindan yönetimi, zamanlayıcılar ve çıkış mekanikleri optimize edilir. Bu süreçte db core ve game core arasında veri akışı sağlanarak, zindanların durumu sunucu tarafında doğru şekilde takip edilir.
Zaman Aşımı ve Zindan Çıkış Mekanikleri
Dungeon Fixi sistemi, zindanların belirli bir süre sonra kapanmasını sağlar. Bu sayede oyuncuların zindanlarda sonsuza kadar kalması engellenir. Aynı zamanda zindanlardan istenmeyen çıkışlar da engellenerek, oyuncuların sadece belirlenen kapılar veya çıkış noktalarından çıkması sağlanır. Bu kontrol C++ ile yazılmış fonksiyonlar aracılığıyla sunucu tarafında yapılır.
Python Entegrasyonu ve UI Script Kullanımı
Dungeon Fixi sistemi, bazen Python tabanlı UIScript[/BR] dosyalarıyla da entegre edilir. Bu sayede oyunculara zindanla ilgili bilgiler grafiksel olarak gösterilir. Py Root dizininde yer alan arayüz dosyaları ile oyuncular, zindan süresi, kaç kişiyle girdikleri gibi bilgilere kolayca ulaşabilirler. Martysama gibi geliştiriciler bu tür sistemleri daha kullanıcı dostu hale getirmek için Py GUI araçlarını kullanabilirler.
Sistemin Paketlenmesi ve Dağıtımı
Dungeon Fixi sistemi tamamlandıktan sonra bir pack[/BR] dosyası haline getirilerek dağıtılır. Bu paket, Metin2[/BR] özel sunucu sahipleri tarafından kolayca entegre edilebilir. Paketleme işlemi sırasında hem C++[/BR] kodlar hem de Python[/BR] betikleri ve UIScript[/BR] dosyaları doğru şekilde yerleştirilmelidir.
Sunucu Tarafında Derleme ve Test
Dungeon Fixi[/BR] sistemi, Metin2[/BR] sunucu kaynak kodlarına entegre edildikten sonra derlenmelidir. Compile[/BR] işlemi sırasında hata alınmaması için tüm bağımlılıklar doğru şekilde tanımlanmalıdır. Auth[/BR] ve Game Server[/BR] yapıları test edilerek sistemin sorunsuz çalıştığı doğrulanmalıdır. Metin2Lobby[/BR] gibi platformlar üzerinden geliştiriciler, sistemin test sürecini diğer geliştiricilerle paylaşabilirler.
Sonuç
Dungeon Fixi[/BR], Metin2[/BR] özel sunucularında oyun deneyimini ciddi anlamda artıran gelişmiş bir sistemdir. C++[/BR] tabanlı geliştirme, Python[/BR] entegrasyonu, UIScript[/BR] arayüzü ve doğru paketleme ile birlikte güçlü bir yapıya sahiptir. Bu sistem, PvP[/BR] sunucularında oyun içi dengeleri korumak ve zindan sistemlerini stabilize etmek için idealdir.
Metin2 private servers are enhanced with systems like Dungeon Fix which aim to improve the overall gaming experience. This system requires significant modifications within C++-based Metin2 server source codes. In this article, we will provide detailed information about what Dungeon Fix is, how it is developed, and how it can be integrated into Metin2 private servers.
What is Dungeon Fix?
Dungeon Fix is a system designed to eliminate errors within dungeons in the Metin2 game, optimize timeout controls, and prevent unwanted exits. Especially on PvP servers, this system allows players to enjoy a fairer and more sustainable gameplay experience inside dungeons.
System Development and Coding
Dungeon Fix is usually developed using C++. Modifications are made to the Metin2 game server source codes (game src[/BR]) to optimize dungeon management, timers, and exit mechanisms. During this process, data flow between db core and game core ensures that dungeon states are tracked correctly on the server side.
Timeout and Exit Mechanics
Dungeon Fix ensures that dungeons close after a certain period, preventing players from staying indefinitely. Additionally, unwanted exits from dungeons are blocked so that players can only leave through designated doors or exit points. These checks are handled by functions written in C++ on the server side.
Python Integration and UI Script Usage
Dungeon Fix can also be integrated with Python-based UIScript[/BR] files. This allows graphical displays of dungeon-related information to players. Interface files located in the Py Root directory allow players to easily access details such as dungeon duration and number of players inside. Developers like Martysama can use Py GUI tools to make these systems more user-friendly.
Packaging and Distribution
Once completed, the Dungeon Fix system is packaged into a pack[/BR] file for distribution. This package can be easily integrated by Metin2[/BR] private server owners. During packaging, both C++[/BR] code and Python[/BR] scripts along with UIScript[/BR] files must be placed correctly.
Server-Side Compilation and Testing
After integrating the Dungeon Fix system into the Metin2 server source codes, the system needs to be compiled. Dependencies must be properly defined to avoid errors during the compile[/BR] process. Auth[/BR] and Game Server[/BR] structures should be tested to ensure the system works without issues. Developers can share the testing process with other developers via platforms like Metin2Lobby[/BR].
Conclusion
Dungeon Fix is a powerful system that significantly enhances the gaming experience on Metin2 private servers. With C++-based development, Python integration, UIScript[/BR] interfaces, and proper packaging, it forms a robust solution. This system is ideal for maintaining game balance and stabilizing dungeon mechanics in PvP[/BR] servers.
