Merhaba arkadaşlar, M2-BOB, Lalaker v.s hilelerinde bulunan çekme ve saldırı hızı özelliklerin fixleridir. Deneme şansım olmadı fakat, deneyince kanıt ekleyeceğim. Paylaşıldıysa konu kapatılabilir.
MOBLOCK
char_battle.cpp'yi açın ve: CHARACTER::Attack fonksiyonunu arayın.MOBLOCK
Biraz aşağı doğru indiğinizde şu kodu göreceksiniz;
Kod:
pkVictim->SetSyncOwner(this); if (pkVictim->CanBeginFight()) pkVictim->BeginFight(this);
Şununla değiştirin;
Kod:
if(iRet != BATTLE_NONE) { pkVictim->SetSyncOwner(this); if (pkVictim->CanBeginFight()) pkVictim->BeginFight(this); }
SALDIRI HIZI
battle.cpp'ye girin ve şu fonksiyonu arayın, IS_SPEED_HACK ve kod bloğunu komple değiştirin;
Kod:
bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) { if (ch->m_kAttackLog.dwVID == victim->GetVID()) { if (current_time - ch->m_kAttackLog.dwTime < GET_ATTACK_SPEED(ch)) { INCREASE_SPEED_HACK_COUNT(ch); sys_log(0, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d", ch->GetName(), current_time - ch->m_kAttackLog.dwTime, GET_ATTACK_SPEED(ch), ch->m_speed_hack_count); if (test_server) { ch->ChatPacket(CHAT_TYPE_INFO, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d", ch->GetName(), current_time - ch->m_kAttackLog.dwTime, GET_ATTACK_SPEED(ch), ch->m_speed_hack_count); } SET_ATTACK_TIME(ch, victim, current_time); SET_ATTACKED_TIME(ch, victim, current_time); if (ch->m_speed_hack_count >= 10) ch->GetDesc()->DelayedDisconnect(3); return true; } } SET_ATTACK_TIME(ch, victim, current_time); if (victim->m_AttackedLog.dwPID == ch->GetPlayerID()) { if (current_time - victim->m_AttackedLog.dwAttackedTime < GET_ATTACK_SPEED(ch)) { INCREASE_SPEED_HACK_COUNT(ch); sys_log(0, "%s Attack Speed HACK! time (delta, limit)=(%u, %u), hack_count = %d", ch->GetName(), current_time - victim->m_AttackedLog.dwAttackedTime, GET_ATTACK_SPEED(ch), ch->m_speed_hack_count); if (test_server) { ch->ChatPacket(CHAT_TYPE_INFO, "Attack Speed Hack(%s), (delta, limit)=(%u, %u)", ch->GetName(), current_time - victim->m_AttackedLog.dwAttackedTime, GET_ATTACK_SPEED(ch)); } SET_ATTACKED_TIME(ch, victim, current_time); if (ch->m_speed_hack_count >= 10) ch->GetDesc()->DelayedDisconnect(3); return true; } } SET_ATTACKED_TIME(ch, victim, current_time); return false; }
GET_ATTACK_SPEED fonksiyonundan şu iki satırı silin;
Kod:
if (item && item->GetSubType() == WEAPON_DAGGER) real_speed /= 2;
Kod:
"default_bonus" değişkenini 70 gibi bir şeye ayarlayın (test etmek için oldukça iyi bir değerdir). Bu değerde ince ayar çekebilirsiniz Bu değerde tüm hileledeki saldırılar tetiklenecektir ve oyun yanlış karar vermeden oynanabilir halde olacaktır. Yinede daha fazla denenmesi gerekiyor. Açık sunucularda denenecekse, en azından değer olarak 80 seçilmesi önerilir.
Metin2'de C++ ile Mobber-Moblock ve Saldırı Hızı Sistemlerinin Geliştirilmesi
Metin2 özel sunucularında performans ve oyun dengesi için C++ tabanlı sistem geliştirmek oldukça kritik öneme sahiptir. Özellikle PvP odaklı sunucularda, Mobber ve Moblock gibi sistemler oyuncuların saldırı hızını, mobları bloklamasını ve PvP etkileşimlerini doğrudan etkiler. Bu nedenle, bu sistemlerin doğru şekilde optimize edilmesi büyük önem taşır.
Mobber Sistemi Nedir?
Mobber, bir oyuncunun düşman karakter veya mob'a karşı sürekli saldırı yapabilmesi için kullanılan bir sistemdir. Bu sistem, PvP ortamında özellikle önemlidir çünkü saldırı hızı arttıkça etkileşim daha hızlı ve daha yoğun hale gelir. Ancak bazı hack kullanıcıları bu sistemi kötüye kullanarak oyun içi avantaj elde edebilir. Bu nedenle, geliştiricilerin Mobber sistemini hem desteklemesi hem de kontrollü tutması gerekir.
Moblock Nedir ve Nasıl Çalışır?
Moblock, oyuncunun mobları engelleme mekanizmasını ifade eder. Yani bir karakterin belirli bir alandaki moblarla etkileşimini sınırlayabilir. Bu, PvP sunucularında oyun dengesi açısından önemli bir özelliktir. C++ üzerinden Moblock sistemini düzenlemek, sunucu tarafında daha stabil ve hızlı çalışmasını sağlar. Ayrıca bu sistem sayesinde bot kullanımını sınırlamak mümkün olur.
Saldırı Hızı Ayarlamaları ve Fix Uygulamaları
Metin2 özel sunucularında saldırı hızı (atk speed), oyuncuların saniye başına kaç kez saldırı gerçekleştirebildiğini belirler. Bu değerlerin dengeli olması, PvP deneyimini etkileyen temel faktörlerden biridir. C++ kaynak kodlarında saldırı hızı sabitleri, animasyon gecikmeleri ve saldırı bekleme süresi gibi ayarlar değiştirilerek bu değerler optimize edilebilir.
Ancak bu değişiklikler sırasında dikkat edilmesi gereken bazı durumlar vardır. Örneğin, saldırı hızı çok yüksekse sunucuda performans sorunları yaşanabilir. Ayrıca istemci tarafında animasyon senkronizasyon problemleri çıkabilir. Bu nedenle, Fix adı verilen küçük kodlamalar ile bu sorunlar çözülür.
Fix Uygulamalarında Dikkat Edilmesi Gerekenler
Fix uygulamaları, genellikle C++ kodunda küçük değişikliklerle sunucu dengesini koruyarak istenen özellikleri aktif etmek için kullanılır. Bu fixler, saldırı hızı, Mobber/Moblock gibi sistemler üzerinde değişiklik yaparken özellikle dikkatli olunmalıdır. Yanlış bir değişiklik, sunucunun çökmesine ya da hile kullanımına açık alanlar yaratmasına sebep olabilir.
Örneğin, saldırı hızı için yapılan bir fixte, mspeed ve attack_speed gibi değerler doğru şekilde ayarlanmalıdır. Bu değerlerin kontrol noktaları sunucu tarafında kontrol edilmeli ve hileci oyuncuların bu sistemleri suistimal etmesi engellenmelidir.
C++ ile Sistem Geliştirme Avantajları
C++ dilinde geliştirilen sistemler, hem performans hem de güvenlik açısından daha güçlüdür. Metin2 özel sunucularında C++ tabanlı sistemler, sunucu yükünü azaltırken daha kararlı ve güvenli bir oyun deneyimi sunar. Ayrıca, bu sistemler kolayca debug edilebilir ve test edilebilir. Bu sayede geliştiriciler, sunucularını daha profesyonel bir seviyeye taşıyabilir.
Sonuç
Metin2 özel sunucularında Mobber, Moblock ve saldırı hızı gibi sistemlerin doğru şekilde entegrasyonu, oyun deneyiminin kalitesini doğrudan etkiler. C++ tabanlı geliştirme ile bu sistemler hem daha hızlı çalışır hem de daha az hata içerir. Bu yazıda anlatılan teknikler, Metin2 geliştiricileri için faydalı olabilecek temel bilgileri sunmaktadır.
Developing Mobber-Moblock and Attack Speed Systems with C++ in Metin2
Developing C++ based systems is critical for performance and game balance in Metin2 private servers. Especially in PvP-oriented servers, systems like Mobber and Moblock directly affect player attack speeds, mob blocking, and PvP interactions. Therefore, correctly optimizing these systems is highly important.
What is the Mobber System?
Mobber refers to a system that allows a player to continuously attack an enemy character or mob. This system is particularly important in PvP environments since increased attack speed leads to faster and more intense interactions. However, some hack users may exploit this system to gain unfair advantages in-game. Thus, developers must both support and control the Mobber system.
What is Moblock and How Does It Work?
Moblock refers to the mechanism that blocks mobs from interacting with a player. In other words, it limits a character's interaction with mobs in a specific area. This feature is crucial for game balance in PvP servers. Adjusting the Moblock system via C++ ensures more stable and faster operation on the server side. Additionally, this system helps limit bot usage.
Attack Speed Settings and Fix Applications
In Metin2 private servers, attack speed determines how many times per second a player can attack. Balancing these values is one of the key factors affecting the PvP experience. By modifying constants such as attack speed, animation delays, and attack cooldowns within the C++ source code, these values can be optimized.
However, certain considerations must be made during these changes. For example, if attack speed is too high, it might cause performance issues on the server. Additionally, animation synchronization problems could arise on the client-side. Therefore, small coding patches called Fix are used to resolve these issues.
Considerations for Fix Applications
Fix applications typically involve minor changes in C++ code to activate desired features while maintaining server stability. These fixes should be handled carefully, especially when adjusting systems like attack speed, Mobber, and Moblock. Incorrect changes could cause server crashes or create loopholes for cheating.
For example, in an attack speed fix, values like mspeed and attack_speed must be set correctly. These values should be checked on the server-side to prevent cheaters from exploiting these systems.
Advantages of Developing Systems with C++
Systems developed in C++ offer stronger performance and security. C++ based systems in Metin2 private servers reduce server load while providing a more stable and secure gaming experience. Moreover, these systems can be easily debugged and tested, allowing developers to elevate their servers to a more professional level.
Conclusion
Correctly integrating systems like Mobber, Moblock, and attack speed in Metin2 private servers directly impacts the quality of the gaming experience. With C++ based development, these systems operate faster and contain fewer errors. The techniques described in this article provide foundational knowledge beneficial for Metin2 developers.
