Yardım Düz vuruş işlemiyor

  • Konuyu açan Konuyu açan TheElk
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 153
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

TheElk

Üye
Üye
Mesaj
50
Çözümler
1
Beğeni
11
Puan
434
Ticaret Puanı
0
Mainline altyapı ile bir files geliştiriyorum da düz vuruşlar işlemiyor sadece rakibin nerdeyse içine girersem 1-2 düz vuruş işliyor onun haricinde işlemiyor. ayrıca videoda da görüldüğü üzere karşıdaki karakter ayağa kalkınca kendi kendine adım atıyor. Bu sorunlar nasıl çözülür nerelere bakmamız lazım?

Slotlarda bu problem yok, slotlarda vuruşlar sorunsuz. Sadece düelloda oluyor.

 
karakterin içinden geçme özelliği bende açık değil, menzil ayarını da bulamadım sorun hala devam ediyor :(
 
battle.cpp de

şu satırları kontrol et
batil.cpp:
Genişlet Daralt Kopyala
auto battle_distance_valid_by_xy(const CHARACTER *ch, const CHARACTER *victim) -> bool
{
    const auto distance = DISTANCE_APPROX(ch->GetX() - victim->GetX(), ch->GetY() - victim->GetY());
    float fHitRange = 300;
#ifdef ENABLE_NEW_DISTANCE_CALC
    fHitRange += static_cast<int32_t>(victim->GetMonsterHitRange());
#endif

    if (distance > fHitRange)
        return false;

    return true;
}

Edit : battle_is_attackable() bunlarıda kontrol et ve flaglar düzgün set edilmişmi skill_proto dosyasından kontrol et


ayağa kalkınca kendi kendine adım atmasında client ayağa kalkınca server snap ediyor yani gözle adım attı gibi görünüyor


Ek olarak ninja skillerini vs de dener misin ? eğer okcu ninja skili ok hedefe yani targete varmıyorsa splash sorunlarında olabilir böyle birşey olursa onu da char_skill.cpp de formüller var k hesaplaması vs o kodları incele veya mevcut alt yapıya göre kıyaslamasını yapabilirsin 2 gün önce ninjanın hafif adım becerisinde fix atarken fark etmiştim bazılarında splash sorunları var.


1769764523702.webp





 
Son düzenleme:
battle.cpp de

şu satırları kontrol et
batil.cpp:
Genişlet Daralt Kopyala
auto battle_distance_valid_by_xy(const CHARACTER *ch, const CHARACTER *victim) -> bool
{
    const auto distance = DISTANCE_APPROX(ch->GetX() - victim->GetX(), ch->GetY() - victim->GetY());
    float fHitRange = 300;
#ifdef ENABLE_NEW_DISTANCE_CALC
    fHitRange += static_cast<int32_t>(victim->GetMonsterHitRange());
#endif

    if (distance > fHitRange)
        return false;

    return true;
}

Edit : battle_is_attackable() bunlarıda kontrol et ve flaglar düzgün set edilmişmi skill_proto dosyasından kontrol et


ayağa kalkınca kendi kendine adım atmasında client ayağa kalkınca server snap ediyor yani gözle adım attı gibi görünüyor


Ek olarak ninja skillerini vs de dener misin ? eğer okcu ninja skili ok hedefe yani targete varmıyorsa splash sorunlarında olabilir böyle birşey olursa onu da char_skill.cpp de formüller var k hesaplaması vs o kodları incele veya mevcut alt yapıya göre kıyaslamasını yapabilirsin 2 gün önce ninjanın hafif adım becerisinde fix atarken fark etmiştim bazılarında splash sorunları var.


28820 eklentisini görüntüle




battle.cpp dosyasında birden fazla bana çok saçma gelen distance kontrolleri varmış onları kaldırdım şu an tam istediğim gibi calısıyor cok tesekkür ederim. Skilllerde bir problem gözükmüyor ancak söylediğin yerleri kontrol ediyorum hala bir yanlış varsa düzelteceğim. Aslında distance'ı ayarlayınca kendi kendine adım atması da azaldı ama hala nadiren atıyor. Bunun bir çözümü var mı? Yoksa problem değil şu anki hali de sorunsuz gibi
 
battle.cpp dosyasında birden fazla bana çok saçma gelen distance kontrolleri varmış onları kaldırdım şu an tam istediğim gibi calısıyor cok tesekkür ederim. Skilllerde bir problem gözükmüyor ancak söylediğin yerleri kontrol ediyorum hala bir yanlış varsa düzelteceğim. Aslında distance'ı ayarlayınca kendi kendine adım atması da azaldı ama hala nadiren atıyor. Bunun bir çözümü var mı? Yoksa problem değil şu anki hali de sorunsuz gibi

var server ve client tarafındaki kodları kontrol et çok büyük sorun değil ama ileride başını ağrıtır ( kişisel fikrim)

bu tip sorunlar genelde ; distance ve hareket senkranizasoyonu ve target state üçlüsünden çıkıyor


şuraları kontrol edebilirsin ; battle.cpp içinde attack sonrası pozisyon düzeltmeleri (FuncMove / SetRotationToXY )

bence tahminim tabi kişisel görüşüm yine ; karakter ayağa kalktıktan sonra target a yaklaşman gerektiğini düşünüyor böyle birşey var %80 , bunu anlayabilmek için de şöyle yapabilirsin karakter ölsün sonra diğer karakterden çıkış yap bu sefer oluyor mu dene olmuyorsa artık adım atma sorununu kesin tespit etmiş olursun ve şuna benzer kod satırını kaldırmalısın bence kaldırma kod satırını düzelt. Örnek ; ch->Goto(target->GetX(), target->GetY());
 
Geri
Üst