Hava kılıcı için alevli savrulma izi ve canavarların yanma efekti

Kaptan Yosun

Geliştirici
Geliştirici
Yardımsever Üye
Emekli Üye
Mesaj
1.096
Çözümler
40
Beğeni
1.245
Puan
1.339
Ticaret Puanı
0
Client kaynak kodlarında zaten olup, devre dışı bırakılmış bir etki.

Hava kılıcı açıkken vurduğunuz canavarlar alev almış gibi yanarlar.

1729336923015.webp


Etkinleştirmek için client kaynak kodunu düzenleyeceğiz.

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Bir de kılıcı savururken alev efekti çıksın isterseniz bu düzenlemeyi de yapabilirsiniz:

1729338446408.webp


Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
 
Son düzenleme:
Bununla birlikte bir üst kısımdaki kodu da aktif ederseniz Büyülü Keskinlik için elektrik efekti de aktif oluyor, aslında ikisi de çok güzel eklenti neden kullanmaktan vazgeçtiklerini merak ettim, belki de görsel olarak uzun vadede çok göz yoracağını düşünmüş olabilirler, teşekkürler paylaşım için.
 
Bununla birlikte bir üst kısımdaki kodu da aktif ederseniz Büyülü Keskinlik için elektrik efekti de aktif oluyor, aslında ikisi de çok güzel eklenti neden kullanmaktan vazgeçtiklerini merak ettim, belki de görsel olarak uzun vadede çok göz yoracağını düşünmüş olabilirler, teşekkürler paylaşım için.
O kodu aktif edince büyülü keskinlikle vurulan yaratıklara elektrik efekti veriliyor ancak büyülü keskinliğin kendi efekti kayboluyor, sebebini biliyor musun?
 
O kodu aktif edince büyülü keskinlikle vurunlar yaratıklara elektrik efekti veriliyor ancak büyülü keskinligin kendi efekti kayboluyor, sebebini biliyor musun?
C++:
void CInstanceBase::__ComboProcess()
{
    DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex();

    if (0 != dwcurComboIndex)
    {
        if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex())
        {
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM))
            {
                __AttachEffect(EFFECT_FLAME_ATTACK);
            }
           
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_GWIGEOM))
            {
                __AttachEffect(EFFECT_ELECTRIC_HIT);
            }
        }
    }

    m_dwLastComboIndex = dwcurComboIndex;
}

Bu düzenleme ile sorun olmaması lazım, denemedim ama muhtemelen çözmeli.



Bir yeri daha atlamışım bir de ilk effect fonksiyonunun sonunda büyülü keskinlik efektini aktif etmiyor, onu eklemek lazım en alta, şu bölümün büyülü keskinlik versiyonu;

C++:
__Warrior_SetGeomgyeongAffect(isVisible);
 
C++:
void CInstanceBase::__ComboProcess()
{
    DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex();

    if (0 != dwcurComboIndex)
    {
        if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex())
        {
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM))
            {
                __AttachEffect(EFFECT_FLAME_ATTACK);
            }
          
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_GWIGEOM))
            {
                __AttachEffect(EFFECT_ELECTRIC_HIT);
            }
        }
    }

    m_dwLastComboIndex = dwcurComboIndex;
}

Bu düzenleme ile sorun olmaması lazım, denemedim ama muhtemelen çözmeli.



Bir yeri daha atlamışım bir de ilk effect fonksiyonunun sonunda büyülü keskinlik efektini aktif etmiyor, onu eklemek lazım en alta, şu bölümün büyülü keskinlik versiyonu;

C++:
__Warrior_SetGeomgyeongAffect(isVisible);
Ben de orada warrior görünce Sura kodu yok zannettim, eve geçince konuya güncelleme yaparım, sağ ol
 
Metin2 çok eski videolarından hatırlıyorum bu efekti, belki zehirlenmiş mobların tanınması, 2005 2006 yıllarının pclerinde çok moblu alanlarda kasma yaratabileceği düşüncesiyle vazgeçmiş olabilirler.
 
1 sunucuda görmüştüm aynı olayı extra olarak zehirleme buzlanma vs eklemişlerdi baya hoş görünüyor. Önce @Kaiser e bu efektin ortaya çıkardığı için, sonra @Kaptan Yosun a kodlarla uğraşıp açmayı gösterdiği için çok teşekkürler.
 
C++:
void CInstanceBase::__ComboProcess()
{
    DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex();

    if (0 != dwcurComboIndex)
    {
        if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex())
        {
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM))
            {
                __AttachEffect(EFFECT_FLAME_ATTACK);
            }
        
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_GWIGEOM))
            {
                __AttachEffect(EFFECT_ELECTRIC_HIT);
            }
        }
    }

    m_dwLastComboIndex = dwcurComboIndex;
}

Bu düzenleme ile sorun olmaması lazım, denemedim ama muhtemelen çözmeli.



Bir yeri daha atlamışım bir de ilk effect fonksiyonunun sonunda büyülü keskinlik efektini aktif etmiyor, onu eklemek lazım en alta, şu bölümün büyülü keskinlik versiyonu;

C++:
__Warrior_SetGeomgyeongAffect(isVisible);
EFFECT_ELECTRIC_HIT yapınca suranın kılıcını takip etmiyor da, gövdesinde elektrik çıkıyor. Sanki sura elektrik hasarı yemiş gibi. EFFECT_ELECTRIC_ATTACK olması lazım. bir de suranın büyülü keskinlik affectini gösteren kodunu bulamadım hala. sanki yok gibi.
Sadece bunlar var

C++:
        void __Warrior_SetGeomgyeongAffect (bool isVisible);
        void __Assassin_SetEunhyeongAffect (bool isVisible);
        void __SetReviveInvisibilityAffect (bool isVisible);
 
Son düzenleme:
EFFECT_ELECTRIC_HIT yapınca suranın kılıcını takip etmiyor da, gövdesinde elektrik çıkıyor. Sanki sura elektrik hasarı yemiş gibi. EFFECT_ELECTRIC_ATTACK olması lazım. bir de suranın büyülü keskinlik affectini gösteren kodunu bulamadım hala. sanki yok gibi.
Sadece bunlar var

C++:
        void __Warrior_SetGeomgyeongAffect (bool isVisible);
        void __Assassin_SetEunhyeongAffect (bool isVisible);
        void __SetReviveInvisibilityAffect (bool isVisible);
C++:
void CInstanceBase::__ComboProcess()
{
    DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex();

    if (0 != dwcurComboIndex)
    {
        if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex())
        {
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM))
            {
                __AttachEffect(EFFECT_FLAME_ATTACK);
            }
          
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_GWIGEOM))
            {
                __AttachEffect(EFFECT_ELECTRIC_ATTACK);
            }
        }
    }

    m_dwLastComboIndex = dwcurComboIndex;
}

O zaman kodun doğru hali bu, bu kısmı hallettiğimizi varsayıyorum, diğerine bakalım. Şimdi burada Hava kılıcı için senin kodun sonuna ekleyebileceğin ekstra bir fonksiyon var, çünkü bunu ekstra bir fonksiyon ile ele almaları gerekmiş, muhtemelen efekti bu becerilere özel olarak yeniden konumlandırmak veya şekillendirmek adına, fakat oyunda aktif ettiğinizde üzerinizde bir efekt aktif eden bir sürü beceri var, bunlar nasıl tanımlanıyor ? O da kodun sonundaki şu bölümde mevcut;

C++:
    if (isVisible)
    {
        if (!m_adwCRCAffectEffect[eAffect])
        {
            m_adwCRCAffectEffect[eAffect] = __AttachEffect (EFFECT_AFFECT + eAffect);
        }
    }
    else
    {
        if (m_adwCRCAffectEffect[eAffect])
        {
            __DetachEffect (m_adwCRCAffectEffect[eAffect]);
            m_adwCRCAffectEffect[eAffect] = 0;
        }
    }

Tamamen varsayımsal konuşuyorum, fonksiyonun sonunda tanımlanan Büyülü keskinlik fonksiyonun başında bir case olarak tanımlanan efektten sonra tetiklendiği için ve biz case bloğunu aktif ettiğimizde fonksiyon bu son kısma kadar devam etmediği için bu tarz bir sorun yaşanmış olabilir, bunu çözmek için Hava kılıcına yapıldığı gibi ekstra bir fonksiyon oluşturulabilir veya kodun sonundaki kısım, büyülü keskinliğin case kısmı sonunda zorla tetiklenebilir, tercihi sana kalmış. Tabi sorun bundan kaynaklıysa, ilk aklıma gelen bu olduğu için bunun üstünden konuştum, denemek lazım.
 
C++:
void CInstanceBase::__ComboProcess()
{
    DWORD dwcurComboIndex = m_GraphicThingInstance.GetComboIndex();

    if (0 != dwcurComboIndex)
    {
        if (m_dwLastComboIndex != m_GraphicThingInstance.GetComboIndex())
        {
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_HWAYEOM))
            {
                __AttachEffect(EFFECT_FLAME_ATTACK);
            }
          
            if (!m_GraphicThingInstance.IsHandMode() & IsAffect(AFFECT_GWIGEOM))
            {
                __AttachEffect(EFFECT_ELECTRIC_ATTACK);
            }
        }
    }

    m_dwLastComboIndex = dwcurComboIndex;
}

O zaman kodun doğru hali bu, bu kısmı hallettiğimizi varsayıyorum, diğerine bakalım. Şimdi burada Hava kılıcı için senin kodun sonuna ekleyebileceğin ekstra bir fonksiyon var, çünkü bunu ekstra bir fonksiyon ile ele almaları gerekmiş, muhtemelen efekti bu becerilere özel olarak yeniden konumlandırmak veya şekillendirmek adına, fakat oyunda aktif ettiğinizde üzerinizde bir efekt aktif eden bir sürü beceri var, bunlar nasıl tanımlanıyor ? O da kodun sonundaki şu bölümde mevcut;

C++:
    if (isVisible)
    {
        if (!m_adwCRCAffectEffect[eAffect])
        {
            m_adwCRCAffectEffect[eAffect] = __AttachEffect (EFFECT_AFFECT + eAffect);
        }
    }
    else
    {
        if (m_adwCRCAffectEffect[eAffect])
        {
            __DetachEffect (m_adwCRCAffectEffect[eAffect]);
            m_adwCRCAffectEffect[eAffect] = 0;
        }
    }

Tamamen varsayımsal konuşuyorum, fonksiyonun sonunda tanımlanan Büyülü keskinlik fonksiyonun başında bir case olarak tanımlanan efektten sonra tetiklendiği için ve biz case bloğunu aktif ettiğimizde fonksiyon bu son kısma kadar devam etmediği için bu tarz bir sorun yaşanmış olabilir, bunu çözmek için Hava kılıcına yapıldığı gibi ekstra bir fonksiyon oluşturulabilir veya kodun sonundaki kısım, büyülü keskinliğin case kısmı sonunda zorla tetiklenebilir, tercihi sana kalmış. Tabi sorun bundan kaynaklıysa, ilk aklıma gelen bu olduğu için bunun üstünden konuştum, denemek lazım.
Tamamdır, yapay zekanın yardımlarıyla hallettim. Senin gibi geliştirme notları da alıyorum artık :D


C++:
        case AFFECT_ENCHANTEDBLADE: // [YMIR Dev Note] It will be changed to an electric attribute attack.
            if (isVisible)
            {
                m_GraphicThingInstance.SetBattleHitEffect(ms_adwCRCAffectEffect[EFFECT_ELECTRIC_HIT]);
                m_GraphicThingInstance.SetBattleAttachEffect(ms_adwCRCAffectEffect[EFFECT_ELECTRIC_ATTACH]);

                // [KaptanYosun Dev Note] Attach the effect for ENCHANTEDBLADE
                m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE] = __AttachEffect(EFFECT_AFFECT + AFFECT_ENCHANTEDBLADE);
            }
            else
            {
                // [KaptanYosun Dev Note] Detach the effect for ENCHANTEDBLADE
                __DetachEffect(m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE]);
                m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE] = 0;

                m_GraphicThingInstance.SetBattleHitEffect(ms_adwCRCAffectEffect[EFFECT_HIT]);
                m_GraphicThingInstance.SetBattleAttachEffect(0);
            }
            return;
            break;
 
Tamamdır, yapay zekanın yardımlarıyla hallettim. Senin gibi geliştirme notları da alıyorum artık :D


C++:
        case AFFECT_ENCHANTEDBLADE: // [YMIR Dev Note] It will be changed to an electric attribute attack.
            if (isVisible)
            {
                m_GraphicThingInstance.SetBattleHitEffect(ms_adwCRCAffectEffect[EFFECT_ELECTRIC_HIT]);
                m_GraphicThingInstance.SetBattleAttachEffect(ms_adwCRCAffectEffect[EFFECT_ELECTRIC_ATTACH]);

                // [KaptanYosun Dev Note] Attach the effect for ENCHANTEDBLADE
                m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE] = __AttachEffect(EFFECT_AFFECT + AFFECT_ENCHANTEDBLADE);
            }
            else
            {
                // [KaptanYosun Dev Note] Detach the effect for ENCHANTEDBLADE
                __DetachEffect(m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE]);
                m_adwCRCAffectEffect[AFFECT_ENCHANTEDBLADE] = 0;

                m_GraphicThingInstance.SetBattleHitEffect(ms_adwCRCAffectEffect[EFFECT_HIT]);
                m_GraphicThingInstance.SetBattleAttachEffect(0);
            }
            return;
            break;
Eline sağlık, yalnız skill deaktif olduğunda gerektiği gibi efekt yok oluyor mu onun bir testini yaparsın.
 
Geri
Üst