Çözüldü Buff temizleme (Belli Haritada)

  • Konuyu açan Konuyu açan DevKrmt
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 83
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ı.

DevKrmt

Üye
Üye
Mesaj
55
Çözümler
1
Beğeni
4
Puan
49
Ticaret Puanı
0
Herkese kolay gelsin map indexi 112 olan haritaya girince Buff etkileri silinsin istiyorum da bi türlü yapamadım yardımcı olabilecek var mıdır?
 
Çözüm
Buff etkilerini silmek için RemoveSkillAffect kullanabilirsin . Örnek vermek gerekirse ;

LoadAffect içinde RemoveGoodAffect var buraya arenamap indexini uyarlarsın ki bu zaten çoğu marty alt yapıda IsArenaMap indexi 112 olarak geçer eğer farklılık varsa ona göre map indexini ilgili yere yazarsın .

C++:
Genişlet Daralt Kopyala
void CHARACTER::LoadAffect(DWORD dwCount, TPacketAffectElement * pElements)
{
    ...
        ComputeAffect(pkAff, true);

    }
    if ( CArenaManager::instance().IsArenaMap(GetMapIndex()) == true )
    {
        RemoveGoodAffect();
    }
    ...
}



Sonra gelelim RemoveGoodAffect koduna. Bu kod kendi içinde RemoveSkillAffect çağırıyor . RemoveSkillAffect içinde de neler var bakalım ;

C++:
Genişlet Daralt Kopyala
void CHARACTER::RemoveSkillAffect()
{...
Peki girerken sildin diyelim içeride buff vermeyi kapadın mı ki?
 
Buff etkilerini silmek için RemoveSkillAffect kullanabilirsin . Örnek vermek gerekirse ;

LoadAffect içinde RemoveGoodAffect var buraya arenamap indexini uyarlarsın ki bu zaten çoğu marty alt yapıda IsArenaMap indexi 112 olarak geçer eğer farklılık varsa ona göre map indexini ilgili yere yazarsın .

C++:
Genişlet Daralt Kopyala
void CHARACTER::LoadAffect(DWORD dwCount, TPacketAffectElement * pElements)
{
    ...
        ComputeAffect(pkAff, true);

    }
    if ( CArenaManager::instance().IsArenaMap(GetMapIndex()) == true )
    {
        RemoveGoodAffect();
    }
    ...
}



Sonra gelelim RemoveGoodAffect koduna. Bu kod kendi içinde RemoveSkillAffect çağırıyor . RemoveSkillAffect içinde de neler var bakalım ;

C++:
Genişlet Daralt Kopyala
void CHARACTER::RemoveSkillAffect()
{
    RemoveAffect(SKILL_JEONGWI);
    RemoveAffect(SKILL_GEOMKYUNG);
    RemoveAffect(SKILL_CHUNKEON);
    RemoveAffect(SKILL_EUNHYUNG);
    RemoveAffect(SKILL_GYEONGGONG);
    RemoveAffect(SKILL_GWIGEOM);
    RemoveAffect(SKILL_TERROR);
    RemoveAffect(SKILL_JUMAGAP);
    RemoveAffect(SKILL_MANASHILED);
    RemoveAffect(SKILL_HOSIN);
    RemoveAffect(SKILL_REFLECT);
    RemoveAffect(SKILL_KWAESOK);
    RemoveAffect(SKILL_JEUNGRYEOK);
    RemoveAffect(SKILL_GICHEON);
}


Şaman skill kodları vs . varmış . Hayırlı olsun :D
 
Çözüm
Buff etkilerini silmek için RemoveSkillAffect kullanabilirsin . Örnek vermek gerekirse ;

LoadAffect içinde RemoveGoodAffect var buraya arenamap indexini uyarlarsın ki bu zaten çoğu marty alt yapıda IsArenaMap indexi 112 olarak geçer eğer farklılık varsa ona göre map indexini ilgili yere yazarsın .

Kod:
Genişlet Daralt Kopyala
void CHARACTER::LoadAffect(DWORD dwCount, TPacketAffectElement * pElements)
{
    ...
        ComputeAffect(pkAff, true);

    }
    if ( CArenaManager::instance().IsArenaMap(GetMapIndex()) == true )
    {
        RemoveGoodAffect();
    }
    ...
}



Sonra gelelim RemoveGoodAffect koduna. Bu kod kendi içinde RemoveSkillAffect çağırıyor . RemoveSkillAffect içinde de neler var bakalım ;

Kod:
Genişlet Daralt Kopyala
void CHARACTER::RemoveSkillAffect()
{
    RemoveAffect(SKILL_JEONGWI);
    RemoveAffect(SKILL_GEOMKYUNG);
    RemoveAffect(SKILL_CHUNKEON);
    RemoveAffect(SKILL_EUNHYUNG);
    RemoveAffect(SKILL_GYEONGGONG);
    RemoveAffect(SKILL_GWIGEOM);
    RemoveAffect(SKILL_TERROR);
    RemoveAffect(SKILL_JUMAGAP);
    RemoveAffect(SKILL_MANASHILED);
    RemoveAffect(SKILL_HOSIN);
    RemoveAffect(SKILL_REFLECT);
    RemoveAffect(SKILL_KWAESOK);
    RemoveAffect(SKILL_JEUNGRYEOK);
    RemoveAffect(SKILL_GICHEON);
}


Şaman skill kodları vs . varmış . Hayırlı olsun :D
Ya bu kadar kolay olacağını hiç düşünmemiştim :D Çok teşekkür ederim krall <3
 
Bunu dene istersen "RemoveSkillAffect" kullanacaksan client bunu der bence :D

C++:
Genişlet Daralt Kopyala
//char.cpp arat
bool CHARACTER::WarpSet(long x, long y, long lPrivateMapIndex)
   
//bul
lMapIndex = lPrivateMapIndex;

//altına ekle
if (lMapIndex == 122)
{
    RemoveSkillAffect();
}
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst