Metin2 de level hilesi çıkmadı.yani 99 level olan bı server de 120 level olumamiyor.bunun sebebini Max levelle sınırlanması olarak düşünüyorum.ayni sınırlandırma atacak speed ve movspeede gelemez mi en azından vslik sunucularda iş görür
benim demek istediğim oyunda bi sınırlandırma yapılabiliyor.Bahsettiğiniz şey hız hilelerini engellemek ise, bunun en doğru yolu bence sınırlandırma yapmak yerine client korumasını arttırmaktır.
DLL Inject türündeki girişimleri ve Cheat Engine gibi yazılımlarla etkileşim halinde bulunamayacak şekilde bir koruma sağlansa daha kesin bir sonuç verir diye düşünüyorum.
Levelle ilgili hile kolay kolay çıkamaz çünkü level olayı, hız olaylarından çok farklı ve geniş bir yelpazeye sahip.
Mesela hız dediğimiz olay tek bir olaydır. Karakter ya hızlı gider, ya da hızlı gider. Leveli ne olursa olsun, ya da itemli olsun yada olmasın bir karaktere hız değeri atanabilir.
Ancak levelde işin içine statü hesaplamaları, ilgili level sınırlarını aşmak vs. gibi faktörler de giriyor. Yani isteği karşılayan bir level hilesi yapılacaksa eğer, bu saydıklarım ve daha fazlasının da üstesinden gelmesi gerekiyor. Ki bu da neredeyse imkansız. Aksi takdirde sadece tek başına level yazısını değiştirmenin hiç bir faydası olmayacaktır doğal olarak.
BYTE bMovingSpeed;
BYTE bAttackSpeed
DWORD GET_ATTACK_SPEED(LPCHARACTER ch)
{
...
}
hepsini byte yaptım değişmedi.Client src de hareket hızı ve saldırı hızı packet.h de şu şekilde tanımlı;
C++:BYTE bMovingSpeed; BYTE bAttackSpeed
Ve bu değişken isimlerini client src nin içinde tüm dosyalarda arattığımda, kullanılan hiç bir yerde farklı bir türde tanımlandığını görmedim. Doğrudan packet.h değerini çekiyor.
Bunlara ek olarak battle.cpp dosyasındaki şu fonksiyonunda düzenlenmesi gerekebilir.
C++:DWORD GET_ATTACK_SPEED(LPCHARACTER ch) { ... }