Çözüldü Hamle ve Hava Kılıcı Sorunu Hk. Tartışma

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Kaiser

⋞ 〈 ☪ 〉 ⋟
Site yetkilisi
Admin
Premium Üye
Geliştirici
Yardımsever Üye
Mesaj
3.696
Çözümler
345
Beğeni
3.590
Puan
1.849
Ticaret Puanı
0
Arkadaşlar kolay gelsin, öncelikle bu konuda, bilgili olanların sunacağı bilgiler sayesinde bu camiada sır gibi saklanan bu sorunlara çözümler bulunmasını diliyorum.

Sorunlar şunlar;

Ads-z.jpg


1- Hava kılıcının öldükten sonra etkisinin(yani verdiği güç) kaybolmasına rağmen görüntü olarak yanmaya devam ediyor olması. (Zaman zaman değil, her defasında)
Tabi karakteri tekrar ayağa kaldırdığımızda her şey olması gerektiği gibi oluyor.. Ve işin garip yanı, 2 tane client açık olduğunda yan çar olan hesaptan bakıldığında hiç bir problem yok. Ancak savaşçının clientinde böyle bir sorun oluşuyor.

Bu konuyla alakalı olarak RemoveAffect ve __ClearAffect başta olmak üzere hem client hemde server hemde python tarafında karşılaştırmadığım kod kalmadı. Mainline fileste denedim sorun aynı, marty son sürümde denedim ve sonuç yine aynı. Bu konuya ilişkin sanıyorum ki bir püf nokta var fakat bir türlü bulamadım. Ben biraz titiz çalışmayı sevdiğim için çoğu kişiye göre göz ardı edilebilen bu tarz şeyleri ben es geçemiyorum maalesef. Bu sorun, laf arasında test etmesini rica ettiğim @Reached arkadaşımız da da mevcut. Yani çözülemese bile, insanı gerçekten meraklandıran bir durum.


2- Meşhur hamle atınca hp düşmesi. Razunning v4 de de bu sorun mevcut, ve yine marty filesınde de bu sorun mevcut. Bu sorunun yaşanmadığı bir filesten, değerli bir kaç insan sayesinde temin ettiğim char set dosyalarını inceledim, ComputePoints() fonksiyonunu tamamen alıp bendekiyle değiştirdim (tabi uyumlu hale getirerek)
Yetmedi PointChange() fonksiyonunu da komple çektim ve uyarladım ama maalesef sonuç aynı. Bide şu herkesin ilk olarak söylediği çözümü bilirsiniz, UpdatePacket(); üstüne yada altına eklenen if blokları.. O da bir işe yaramadı. Skill_proto ya kadar aklıma gelen her şeyi değiştirdim.
Karakterin canı yükseldikçe, hamle attığında düşen hp miktarı da yükseliyor.

Yani; ben oyunumda 5000HP efsun kullanıyorum ve karakterin canı itemlerle beraber 22k. Hamle attığımda ise 3-4K kadar bir düşüş oluyor. Can 38K iken hamle atıldığında düşen HP miktarı ise tam +10K civarı. Fakat karakterin canını 14-15K ya çekip denediğimde bu sefer 1-2k düşme yaşanıyor.

Benim bu konuyu açmamdaki asıl sebep, sadece "birileri el atsın da çözülsün" den ziyade, benim bu bütün denemelerime karşılık vermeyen o gözden uzak olan şeyin ne olduğunu öğrenmek. Yani dediğim gibi, bu sorunlar çözülmese bile ya da metin2 işini bıraksam bile bu iki olayın sebebini merak ediyor olacağım.
Bu yüzden sizlerle tartışmak için böyle bir konu açmak istedim, umarım konu amacına ulaşır...

Eğer burda bunu başarabilirsek, inanıyorum ki hem yabancı hemde Türk forumları arasında belki de ilk kaynak burası olacak. Çünkü aklınıza gelen her forum sitesini didik didik aradım taradım, her birinde gösterilen yolu denedim ama hiç biri maalesef yardımcı olmadı.
 
Çözüm
Merhabalar tekrardan, konuda belirttiğim sorunları çözmüş bulunmaktayım. Daha doğrusu hamle atarken hp düşmesinin fixi @mazeah321 aittir. Konusunun linki: Hamle HP DÜŞME Fix

Diğer sorun ise, yani karakter ölünce hava kılıcının etkisinin kaybolmasına rağmen, görüntü olarak yanıyor görünmesini de kodları didik didik ederek çözümünü buldum.
Sorun görseli:
ads-z-jpg.7358


Önce client src ye daldım ama daha sonra at üstündeyken ve hava kılıcı yanıyorken karakter öldüğünde böyle bir sorunun yaşanmadığını görünce sorunun client ile alakalı olmadığını anladım. Ancak maalesef bunu çok sonra fark ettim :)
Bende char_horse.cpp dosyasında StopRiding() fonksiyonuna...
bende böyle sorunlar yok, hamle atınca hp düşmesinin fixi çok uzun süre önce paylaşılmıştı..
 
bende böyle sorunlar yok, hamle atınca hp düşmesinin fixi çok uzun süre önce paylaşılmıştı..
Evet bir çok yerde fix adı altında paylaşımlar mevcut. Ancak hangisini denediysem hiç biri işe yaramadı. Benim tahminim bu sorunun fixi sadece char.cpp ile sınırlı değil gibi. Paylaşımların hepsi char.cpp üzerinden gösterilmiş ama ne hikmetse işe yaramıyor. Sizin bahsettiğiniz çözüm hangisi?
 
skill protoda hava kılıcının affectinin adını bulup sonra removebadaffect kısmına ekler misin
 
removegoodaffect mi ne vardı onada ekle yada diğer skillerin ekstradan eklendiği biyer var mı diye kontrolden geçir
RemoveGoodAffect ve RemoveBadAffect'in bununla bir alakası olduğunu sanmıyorum açıkcası, çünkü bu sorunun yaşanmadığı fileslerden karşılaştırdım ancak bendekilerle hiç bir farkı yok.
 
Char_item.cpp:
void CHARACTER::SetWear(BYTE bCell, LPITEM item)
{
    // > WEAR_MAX_NUM : 용혼석 슬롯들.
    if (bCell >= WEAR_MAX_NUM + DRAGON_SOUL_DECK_MAX_NUM * DS_SLOT_MAX)
    {
        sys_err("CHARACTER::SetItem: invalid item cell %d", bCell);
        return;
    }

    SetItem(TItemPos (INVENTORY, INVENTORY_MAX_NUM + bCell), item);

    if (!item && bCell == WEAR_WEAPON)
    {
        // 귀검 사용 시 벗는 것이라면 효과를 없애야 한다.
        if (IsAffectFlag(AFF_GWIGUM))
            RemoveAffect(SKILL_GWIGEOM);

        if (IsAffectFlag(AFF_GEOMGYEONG))
            RemoveAffect(SKILL_GEOMKYUNG);
    }
}
sil
Char_item.cpp:
void CHARACTER::SetWear(BYTE bCell, LPITEM item)
{
    // > WEAR_MAX_NUM : 용혼석 슬롯들.
    if (bCell >= WEAR_MAX_NUM + DRAGON_SOUL_DECK_MAX_NUM * DS_SLOT_MAX)
    {
        sys_err("CHARACTER::SetItem: invalid item cell %d", bCell);
        return;
    }

    SetItem(TItemPos (INVENTORY, INVENTORY_MAX_NUM + bCell), item);

    bool CHARACTER::CanUnequipNow()

    if (item->GetType() == ITEM_WEAPON)
    {
        // 귀검 사용 시 벗는 것이라면 효과를 없애야 한다.
        if (IsAffectFlag(AFF_GWIGUM))
            RemoveAffect(SKILL_GWIGEOM);

        if (IsAffectFlag(AFF_GEOMGYEONG))
            RemoveAffect(SKILL_GEOMKYUNG);
    }
}
bunu ekleyip, Bıild edip denermisiniz.
 
Char_item.cpp:
void CHARACTER::SetWear(BYTE bCell, LPITEM item)
{
    // > WEAR_MAX_NUM : 용혼석 슬롯들.
    if (bCell >= WEAR_MAX_NUM + DRAGON_SOUL_DECK_MAX_NUM * DS_SLOT_MAX)
    {
        sys_err("CHARACTER::SetItem: invalid item cell %d", bCell);
        return;
    }

    SetItem(TItemPos (INVENTORY, INVENTORY_MAX_NUM + bCell), item);

    if (!item && bCell == WEAR_WEAPON)
    {
        // 귀검 사용 시 벗는 것이라면 효과를 없애야 한다.
        if (IsAffectFlag(AFF_GWIGUM))
            RemoveAffect(SKILL_GWIGEOM);

        if (IsAffectFlag(AFF_GEOMGYEONG))
            RemoveAffect(SKILL_GEOMKYUNG);
    }
}
sil
Char_item.cpp:
void CHARACTER::SetWear(BYTE bCell, LPITEM item)
{
    // > WEAR_MAX_NUM : 용혼석 슬롯들.
    if (bCell >= WEAR_MAX_NUM + DRAGON_SOUL_DECK_MAX_NUM * DS_SLOT_MAX)
    {
        sys_err("CHARACTER::SetItem: invalid item cell %d", bCell);
        return;
    }

    SetItem(TItemPos (INVENTORY, INVENTORY_MAX_NUM + bCell), item);

    bool CHARACTER::CanUnequipNow()

    if (item->GetType() == ITEM_WEAPON)
    {
        // 귀검 사용 시 벗는 것이라면 효과를 없애야 한다.
        if (IsAffectFlag(AFF_GWIGUM))
            RemoveAffect(SKILL_GWIGEOM);

        if (IsAffectFlag(AFF_GEOMGYEONG))
            RemoveAffect(SKILL_GEOMKYUNG);
    }
}
bunu ekleyip, Bıild edip denermisiniz.
Bu şekilde derlenmiyor maalesef. bool CHARACTER::CanUnequipNow() tek başına bunu çağırmıyor.
 
METIN2_3ef76c801c21fd3bd.gif



Marty v5.3 altyapı kullanıyorum. Sadece hamle değil, dediğin durum öfke, keskinlik, korunma gibi skillerde de olan bir durum.

Daha öncelerinde mainline üstüne bir files kullanıyordum. Ondaki hamle hp düşmesi böyle değildi. HP düştükten sonra gifteki gibi saliseler içinde eski haline dönmüyordu. Mesela 30K HP 12K'ya düştüyse bastığın hp ile yavaş yavaş doluyordu. Bu saliselik düşüp tekrar yükselme durumunda düelloda yarı canını indirecek düzeyde damageler aldırıp test ettim. Anlık düşüşte o hp'den daha fazla hasar aldığında ölmüyor. Normal değer üzerinden devam ediyor. Girip oynadığım ve incelediğim hiçbir server gifteki durumu aşamamıştı.
 
METIN2_3ef76c801c21fd3bd.gif



Marty v5.3 altyapı kullanıyorum. Sadece hamle değil, dediğin durum öfke, keskinlik, korunma gibi skillerde de olan bir durum.

Daha öncelerinde mainline üstüne bir files kullanıyordum. Ondaki hamle hp düşmesi böyle değildi. HP düştükten sonra gifteki gibi saliseler içinde eski haline dönmüyordu. Mesela 30K HP 12K'ya düştüyse bastığın hp ile yavaş yavaş doluyordu. Bu saliselik düşüp tekrar yükselme durumunda düelloda yarı canını indirecek düzeyde damageler aldırıp test ettim. Anlık düşüşte o hp'den daha fazla hasar aldığında ölmüyor. Normal değer üzerinden devam ediyor. Gifteki durumu aşan bir servere şuana kadar girmedim.
Peki bunu tamamen ortadan kaldıranlar nasıl kaldırıyor acaba? Yani metin2 forumlarının altını üstüne getirdim denemediğim yol kalmadı ama bana mısın demiyor.. Sura skillerini denemedim ama öfkede böyle bir sorun yaşamıyorum mesela.
Hamle dışındaki skiller ws ortasında kullanılabilecek türden olmadığı için onları bir nebze es geçebilirim, ama hamleyi halletmek gerek bir şekilde.
 
Peki bunu tamamen ortadan kaldıranlar nasıl kaldırıyor acaba? Yani metin2 forumlarının altını üstüne getirdim denemediğim yol kalmadı ama bana mısın demiyor.. Sura skillerini denemedim ama öfkede böyle bir sorun yaşamıyorum mesela.
Hamle dışındaki skiller ws ortasında kullanılabilecek türden olmadığı için onları bir nebze es geçebilirim, ama hamleyi halletmek gerek bir şekilde.
Revaçta olan 2-3K online olan bir çok servere girip inceledim ve hepsi aynı problem içerisinde.
Karakterin üzerindeki max hp belli bir noktayı geçtikten sonra bu düşmeler oluyor. Mesela 5 level karakter 3-4K can ile hamle vurduğunda hiç bir hp kaybı yaşamıyor.
WS konusuna gelince dediğim gibi ws için bir zararını görmedim. 1 haftaya yakın hamle ve diğer skillerin ws ortasında anlık düşüş sırasında diğer karakterden damage vurarak denedim. Ws'ye bir zararı olduğunu düşünmüyorum. Daha çok görüntüde böyle duruyor. Çünkü HP target ile diğer karakterden baktığım zaman hamle vurduğu esnada HP değeri sabit duruyor.
 
Revaçta olan 2-3K online olan bir çok servere girip inceledim ve hepsi aynı problem içerisinde.
Karakterin üzerindeki max hp belli bir noktayı geçtikten sonra bu düşmeler oluyor. Mesela 5 level karakter 3-4K can ile hamle vurduğunda hiç bir hp kaybı yaşamıyor.
WS konusuna gelince dediğim gibi ws için bir zararını görmedim. 1 haftaya yakın hamle ve diğer skillerin ws ortasında anlık düşüş sırasında diğer karakterden damage vurarak denedim. Ws'ye bir zararı olduğunu düşünmüyorum. Daha çok görüntüde böyle duruyor. Çünkü HP target ile diğer karakterden baktığım zaman hamle vurduğu esnada HP değeri sabit duruyor.
Yazdıklarınıza bakılırsa, bir mucize olmadığı sürece bu durum böyle kalmaya devam edecek gibi görünüyor.. Bu sorunun zerre kadar yaşanmadığı filesler de gördüm, bütün her şeyi karşılaştırdım kod sıralamasını bile uyarladım ama fayda etmedi. Çok kafama taktığım bir durum bu açıkcası ama sağlık olsun..
 
Yazdıklarınıza bakılırsa, bir mucize olmadığı sürece bu durum böyle kalmaya devam edecek gibi görünüyor.. Bu sorunun zerre kadar yaşanmadığı filesler de gördüm, bütün her şeyi karşılaştırdım kod sıralamasını bile uyarladım ama fayda etmedi. Çok kafama taktığım bir durum bu açıkcası ama sağlık olsun..
Sorun olmayan fileslerde hiç HP barının kodlarına vs baktın mı? Bana kalırsa bu ho barının bir saçmalığı skiller ile falan alakası yok gibi geliyor bana.
 
Herzaman olmuyor bende 20 hamlede 2 3 kere falan oluyor. Birde denediğin karakterde full set çekip, hp efsunu içeren itemler giyip, oto pot vs açıp dener misin? Yani karakterin normal bir oyuncu donanımına sahip olsun.

En güncel marty sürümünde dahil bu problem mevcut.
 
Sorun olmayan fileslerde hiç HP barının kodlarına vs baktın mı? Bana kalırsa bu ho barının bir saçmalığı skiller ile falan alakası yok gibi geliyor bana.
Tam olarak nereyi kastediyorsun ? Eğer net bir nokta söyleyebilirsen onu da karşılaştırabilirim tabi.
Herzaman olmuyor bende 20 hamlede 2 3 kere falan oluyor. Birde denediğin karakterde full set çekip, hp efsunu içeren itemler giyip, oto pot vs açıp dener misin? Yani karakterin normal bir oyuncu donanımına sahip olsun.

En güncel marty sürümünde dahil bu problem mevcut.
Aynı dediğin şekilde deniyorum zaten. Statü,item,oto pot falan açık hepten. Ama yinede oluyor maalesef.. Videoda +20k can olmasına rağmen olmuyor. Bende 16 17 k can varken bile düşüş oluyor.
 
Tam olarak nereyi kastediyorsun ? Eğer net bir nokta söyleyebilirsen onu da karşılaştırabilirim tabi.

Aynı dediğin şekilde deniyorum zaten. Statü,item,oto pot falan açık hepten. Ama yinede oluyor maalesef.. Videoda +20k can olmasına rağmen olmuyor. Bende 16 17 k can varken bile düşüş oluyor.
Şimdi bende kendi filesimde denedim. Bende şu şekilde oluyor. Soldaki anlık hp sağdakide max hp değerimiz ya bende sağdaki max hp değeri 3 5 k anlık düşüp çıkıyor ama anlık hp değerimde düşüş olmuyor.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst