[USE_MOUNT] Yanında gezdirmeli binek sistemi dönüşüm + seri binip inme fix

  • 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
Forum biraz araştırma yaptıkdan sonra sadece atlar için hızlı binme ve inme fix'ini gördüm . Yanında gezdirmeli binek sistemi için birşey göremedim.

QuestFlaglı sürümü kaldırıldı.
Yeni sürüm için :

Kod:
// time control start     private:         int m_HorseMountTime;     public:         void SetHorseAndMountTime(int time){ m_HorseMountTime = time;}         int GetHorseAndMountTime() const { return m_HorseMountTime;}     // time control end

Kod:
ACMD(do_user_mount_ride) {     if (ch->IsObserverMode())         return;     if (ch->IsDead() || ch->IsStun())         return;

Kod:
/******************************/         int iTimePulse = thecore_pulse(); // o anki data çekildi.         if (iTimePulse - ch->GetHorseAndMountTime() < passes_per_sec * 1) // süre kontrolü yapıldı             return;// return edildi süre henüz dolmadıgı için         ch->SetHorseAndMountTime(iTimePulse); // gönderildi         /******************************/

Kanıt :
-

[USE_MOUNT] Yanında gezdirmeli binek sistemi dönüşüm + seri binip inme fix

Metin2 özel sunucularında [USE_MOUNT] komutu ile sunucuya özel binek sistemleri eklemek, hem oyun içi deneyimi artırmak hem de oyuncuların daha fazla etkileşim kurmasını sağlamak açısından oldukça değerlidir. Bu sistem, standart binip inme mekaniği yerine, bineğin yanınızda gezinmesini sağlayacak şekilde dönüştürülerek, aynı zamanda 'seri binip inme' exploitlerini de engeller.

Sistem Hakkında Genel Bilgi:

Metin2 oyununda standart olarak gelen binek sistemi, oyuncuların bineğe bindikten sonra onu kullanmalarına izin verir. Ancak bazı özel sunucularda bu sistem geliştirilerek, binek karakterin yanından ayrılmaz hale getirilebilir. Bu sayede binek aktifken bile oyuncu dolaşabilir, savaşabilir veya diğer aktiviteleri gerçekleştirebilir. Ayrıca bu sistem, bineğin karakterin arkasında veya yanında belirli bir mesafede takip etmesini sağlar. Bu da görsel olarak daha estetik ve akıcı bir oyun deneyimi sunar.

Fix Neden Gerekli?

Standart sistemlerde bazı oyuncular, bineğe tekrar tekrar binip inerek bazı avantajlar elde edebilirler. Örneğin bazı skill'lerin resetlenmesi, cooldown'ların sıfırlanması veya binek bonuslarının tekrar kazanılması gibi durumlar söz konusu olabilir. Bu exploit, oyun dengesini bozabilecek niteliktedir. Bu nedenle [USE_MOUNT] komutuna özel bir kontrol eklenerek, binek sisteminin bu tip kötüye kullanımına karşı korunması sağlanmalıdır.

Teknik Uygulama Detayları:

Sistem, öncelikle client tarafında bir GUI dosyası ile başlatılır. Bu dosya, binek komutunu tetikleyen butonu ve diğer arayüz öğelerini içerir. Daha sonra Python tarafında bir event handler yazılır. Bu handler, [USE_MOUNT] komutunu dinler ve binek sistemini çalıştırır. Eğer binek zaten aktifse, binek karakterin yanından ayrılmaz. Eğer pasifse, binek karakterin yanına gelerek takip moduna geçer. Aynı zamanda, bineğin binip inme süresi kontrol edilerek, kısa süreli tekrar komutları engellenir. Bu işlem genellikle bir zamanlayıcı (timer) yardımıyla yapılır.

Yanında Gezdirmeli Sistem Nasıl Çalışır?

Oyuncu bineğe bindiğinde sistem, bineğin artık karakterin arkasında veya belirlenen konumda takip etmesini sağlar. Binek, karakterle aynı yörüngede hareket eder ama biraz mesafe korunarak, görsel açıdan doğal bir etki yaratılır. Oyuncu binekten indiğinde, binek hemen ortadan kalkmaz; karakterin yakınında kalır ve tekrar binmek istendiğinde hızlıca kullanılabilir. Bu, oyun içi akışı bozmaz ve kullanıcı deneyimini artırır.

Seride Binip İnme Engeli:

Her binek komutu çağrıldığında, sistem bir sayaç başlatır. Bu sayaç, belirlenen minimum bekleme süresi dolmadan tekrar binek komutunun çalışmasını engeller. Böylece exploitlerin önüne geçilir. Bu süre genellikle 1-2 saniye arasında ayarlanabilir ve sunucu dengesi doğrultusunda optimize edilebilir.

Kurulum ve Entegrasyon:

Sistemin kurulumu için öncelikle client dosyalarına özel bir binek GUI eklenmelidir. Ardından Python tarafında binek event handler'ı yeniden yazılarak, takip sistemi entegre edilmelidir. Son olarak, C++ server tarafında da binek komutu için bir kontrol yazısı eklenmelidir. Bu kontrol, binek komutunun sıklığını analiz eder ve gerekirse engeller. Tüm bu işlemler doğru yapıldığında, binek sistemi güvenli ve akıcı bir şekilde çalışacaktır.

Sonuç:

Bu sistem, Metin2 özel sunucularında binek kullanımını daha keyifli ve dengeli hale getirir. Seri binip inme exploitlerini engellemek, oyun içi adaleti korumak açısından kritik öneme sahiptir. Aynı zamanda bineğin yanınızda gezmesi gibi görsel ve mekanik eklemelerle, kullanıcı memnuniyeti büyük ölçüde artar. Bu tür sistemlerin geliştirilmesi, Metin2 özel sunucularının rekabetçi ve eğlenceli kalmasında önemli rol oynar.


[USE_MOUNT] Mount System Conversion with Follow Mode + Fix for Rapid Mount/Dismount Exploit

Adding custom mount systems via the [USE_MOUNT] command to Metin2 private servers enhances the in-game experience and increases player interaction. This system transforms the standard mount behavior by allowing the mount to follow the character instead of being dismounted, while also preventing rapid mount/dismount exploits.

General Information about the System:

The default mount system in Metin2 allows players to ride their mounts after mounting. However, on some private servers, this system can be customized so that the mount never leaves the character's side. This allows players to walk around, fight, or perform other activities even while the mount is active. Additionally, the mount can follow at a certain distance behind or beside the character, creating a more aesthetic and fluid gameplay experience.

Why Is the Fix Necessary?

In standard systems, some players may exploit rapid mount/dismount cycles to gain advantages such as resetting skills, cooldowns, or reapplying mount bonuses. Such exploits can disrupt game balance. Therefore, special controls must be added to the [USE_MOUNT] command to prevent these types of abuse in the mount system.

Technical Implementation Details:

The system begins with a GUI file on the client-side, which triggers the mount command and manages UI elements. Then, a Python-based event handler is created to listen for the [USE_MOUNT] command and activate the mount system. If the mount is already active, it remains close to the character. If inactive, the mount moves next to the character and enters follow mode. Additionally, the duration between mount/dismount commands is checked using a timer to block rapid repeated commands.

How Does the Follow-Along System Work?

When the player mounts, the system ensures the mount follows closely behind or at a designated position relative to the character. The mount moves along the same path as the character, maintaining a slight distance to create a natural visual effect. When the player dismounts, the mount does not disappear immediately; it stays nearby and can quickly be remounted. This preserves game flow and enhances user experience.

Blocking Rapid Mount/Dismount Cycles:

Each time a mount command is issued, the system starts a counter. Until a set minimum delay passes, the mount command will not execute again, thus preventing exploits. This delay is typically set to 1-2 seconds and can be adjusted according to server balance needs.

Installation and Integration:

To install the system, a custom mount GUI must first be added to the client files. Then, the Python mount event handler should be rewritten to integrate the follow-along feature. Finally, a control mechanism must be added to the C++ server-side code to monitor and limit the frequency of mount commands. Once properly implemented, the mount system operates securely and smoothly.

Conclusion:

This system makes mount usage more enjoyable and balanced on Metin2 private servers. Preventing rapid mount/dismount exploits is critical for maintaining in-game fairness. Visual and mechanical additions like having your mount follow you also greatly improve user satisfaction. Developing such systems plays an important role in keeping Metin2 private servers competitive and entertaining.
 

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

Benzer konular

Geri
Üst Alt