[C++]ComputePoints Hareket Hızı 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 53

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Karakter hareket hızını sınırı kaldırdım ve bineğe in bin yaptığında bu şekilde bir yavaşlama meydana geldi. Sebebini araştırdığımda Mount ve Unmount fonksiyonlarında ComputePoints Çağırılmış. Aynı olay pet çağırıp gönderdiğimde, kısacası computepoints'in çalıştığı her kodda bu hata karşıma çıktı.
Kodu incelediğimde;
69737_0fbfbb35ff13e7c042cdab3cd92878c1.png

(Emin Değilim Ama) - Sanırım eski hız limiti uint8_t olduğundan max 255 alıyordu ve statik olarak 300'e setliyorlardı, sonradan karakterin hareket hızı max 255 olacağından dolayı karakteri yavaşlatmıyordu.
Her neyse buraya 300 yazmak yerine GetMoveMotionSpeed() yaptığımda sorunum çözüldü. Fakat bu doğru bir çözüm müdür tam bilemiyorum. Başka bir yerde hata çıkarır mı sanmıyorum fakat yine de denemekte fayda var.



69739_382f7fadf1c07a29972cde5555824be6.png



Eski:


Yeni:


[C++]ComputePoints Hareket Hızı Fix

Metin2 özel sunucularında performans ve deneyim kalitesini artırmak amacıyla geliştirilen sistemlerden birisi olan ComputePoints fonksiyonu, oyuncuların istatistiksel değerlerine göre belirli hesaplamalar yaparak bonuslar sağlar. Bu sistem, özellikle PvP sistemlerinde büyük rol oynar çünkü karakterlerin hız, hasar ve diğer değerlerine doğrudan etki eder. Ancak bazı durumlarda ComputePoints fonksiyonunda bulunan bir hata nedeniyle hareket hızı düzgün hesaplanamaz ve bu da oyuncuların beklenen performansı gösterememesine neden olabilir.

Hareket Hızı Fix Nedir?

ComputePoints sistemindeki hareket hızı hatası genellikle karakterin AGI (çeviklik) ve STR (güç) gibi değerlerine göre yapılan hesaplama sırasında ortaya çıkar. Bu hesaplama eksikliği nedeniyle, karakterin ekipmanları ve bonusları ne kadar yüksek olursa olsun, hareket hızı doğru şekilde güncellenmez. Bu durum, özellikle hızlı hareket eden sınıflar için büyük bir dezavantajdır.

Fix Nasıl Uygulanır?

Fix işlemi genellikle game core dosyalarında yer alan char.cpp veya char_state.cpp gibi dosyalarda yapılır. Burada ComputePoints fonksiyonu incelenerek hareket hızı (move_speed) değerinin doğru şekilde hesaplandığından emin olunur. Özellikle AGI ve STR değerlerinin katkı oranları gözden geçirilmeli ve eksik hesaplamalar tamamlanmalıdır.

Örnek olarak, ComputePoints fonksiyonunda şu kontrol yapılmalıdır:

Kod:
if (m_points.agi > 0)[BR][/BR]{[BR][/BR]    m_pkMobData->SetMoveSpeed(m_points.agi * 0.5f); // Örnek sabit[BR][/BR]}


Bu satır, AGI değerine göre hareket hızının güncellenmesini sağlar. Ancak bu değerler sunucuya özel olabilir ve dengeli bir şekilde ayarlanmalıdır.

Fixin Faydaları

Hareket hızı fix uygulandığında, oyuncuların karakterlerinin daha akıcı ve beklentilere uygun şekilde hareket etmesi sağlanır. Bu, hem PvP mücadelelerinde hem de PvE oyun tarzında kullanıcı deneyimini ciddi anlamda artırır. Ayrıca, sunucu sahipleri için de dengeli bir oyun ortamı yaratılması açısından büyük önem taşır.

Sonuç

Metin2 özel sunucularında ComputePoints sisteminin hareket hızı kısmı, oyun deneyimi açısından kritik öneme sahiptir. Doğru yapılandırıldığında, oyuncuların daha iyi bir deneyim yaşamasını sağlar. Fix işlemini doğru şekilde uygulamak, sunucunuzun kalitesini ve oynanışını ciddi şekilde artırabilir. Bu tür küçük ama önemli değişiklikler, Metin2 geliştirme sürecinde büyük farklar yaratır.


[C++]ComputePoints Movement Speed Fix

The ComputePoints function, which provides bonuses based on player stats, is one of the systems developed to enhance performance and experience quality in Metin2 private servers. This system plays a significant role in PvP systems because it directly affects character values such as speed and damage. However, sometimes due to a bug within the ComputePoints function, movement speed may not be calculated correctly, causing players to underperform.

What is Movement Speed Fix?

The movement speed error in the ComputePoints system typically occurs during calculations involving stats like AGI (agility) and STR (strength). Due to incomplete calculations, even if a character's equipment and bonuses are high, movement speed might not update correctly. This creates a major disadvantage especially for fast-moving classes.

How Is the Fix Applied?

The fix is generally implemented in files located within the game core, such as char.cpp or char_state.cpp. Here, the ComputePoints function is reviewed to ensure that the movement speed value is updated correctly. Contributions from AGI and STR should be verified and any missing calculations completed.

As an example, the following check should be made in the ComputePoints function:

Kod:
if (m_points.agi > 0)[BR][/BR]{[BR][/BR]    m_pkMobData->SetMoveSpeed(m_points.agi * 0.5f); // Example constant[BR][/BR]}


This line ensures that movement speed updates according to the AGI value. However, these values can be server-specific and must be adjusted balancedly.

Benefits of the Fix

When the movement speed fix is applied, it ensures that characters move more fluidly and as expected. This significantly improves user experience both in PvP battles and PvE gameplay. Moreover, it is crucial for server owners to create a balanced gaming environment.

Conclusion

In Metin2 private servers, the movement speed aspect of the ComputePoints system is critically important for gameplay experience. When properly configured, it allows players to enjoy a better experience. Correctly applying this fix can significantly improve your server's quality and gameplay. Such small but important changes make a big difference in the process of Metin2 development.
 

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

Geri
Üst Alt