Best Studio 1
Best Studio
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Cevaplandı Belirli haritada Buff etkilerini temizleme

  • Konuyu başlatan Konuyu başlatan DevKrmt
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 39

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

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?
 

En Çok Reaksiyon Alan Mesajlar

char_affect.cpp üzerinden hallettim. İhtiyacı olanlar için;
DWORD mapIndex = GetMapIndex();

if (mapIndex > 10000)
mapIndex /= 10000;

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true || mapIndex == 28)
{
RemoveGoodAffect();
ComputePoints();
PointsPacket();
}

RemoveGoodAffect içerisinde RemoveSkillAffect de siliniyorç

void CHARACTER::RemoveGoodAffect()
{
RemoveAffect(AFFECT_MOV_SPEED);
RemoveAffect(AFFECT_ATT_SPEED);
RemoveAffect(AFFECT_STR);
RemoveAffect(AFFECT_DEX);
RemoveAffect(AFFECT_INT);
RemoveAffect(AFFECT_CON);
RemoveAffect(AFFECT_CHINA_FIREWORK);
RemoveSkillAffect();

}

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_HOSIN2);
RemoveAffect(SKILL_REFLECT);
RemoveAffect(SKILL_KWAESOK);
RemoveAffect(SKILL_JEUNGRYEOK);
RemoveAffect(SKILL_GICHEON);
}
Daha Detaylı anlatır mısın ? Direkt silinecek ve bir daha o haritada buff alınamayacak mı ? Eğer sadece ilk girişte istiyorsun şu questi deneyebilirsin.
Kod:
quest buff_clear_zone begin
    state start begin
        when login with pc.get_map_index() == 112 begin
            affect.remove_all()
        end
        
        when warp with pc.get_map_index() == 112 begin
            affect.remove_all()
        end
    end
end
 
char_affect.cpp üzerinden hallettim. İhtiyacı olanlar için;
DWORD mapIndex = GetMapIndex();

if (mapIndex > 10000)
mapIndex /= 10000;

if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true || mapIndex == 28)
{
RemoveGoodAffect();
ComputePoints();
PointsPacket();
}

RemoveGoodAffect içerisinde RemoveSkillAffect de siliniyorç

void CHARACTER::RemoveGoodAffect()
{
RemoveAffect(AFFECT_MOV_SPEED);
RemoveAffect(AFFECT_ATT_SPEED);
RemoveAffect(AFFECT_STR);
RemoveAffect(AFFECT_DEX);
RemoveAffect(AFFECT_INT);
RemoveAffect(AFFECT_CON);
RemoveAffect(AFFECT_CHINA_FIREWORK);
RemoveSkillAffect();

}

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_HOSIN2);
RemoveAffect(SKILL_REFLECT);
RemoveAffect(SKILL_KWAESOK);
RemoveAffect(SKILL_JEUNGRYEOK);
RemoveAffect(SKILL_GICHEON);
}
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst