Queinn 1
Queinn
NovaLst 1
NovaLst
InfernoShade 1
InfernoShade
MysticBlade 1
MysticBlade
SolarPhantom 1
SolarPhantom
Riftas 1
Riftas
LunarWraith 1
LunarWraith
DarkHorizon 1
DarkHorizon
SLyFeLLowTR 1
SLyFeLLowTR
Scarlet 1
Scarlet
dogusarikaya 1
dogusarikaya
delimuratt 1
delimuratt
Hikaye Ekle

Ölünce Buffların Neden Gitsin ?

  • Konuyu başlatan Konuyu başlatan Reached
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 38
  • Görüntüleme Görüntüleme 6K

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!

Sistem kısaca şu, bir oyuncu tarafından öldürülmediğiniz sürece bufflarınız gitmez


Görünce aklıma bu geldi, daha verimli olduğunu düşünüyorum.

C++:
void ClearAffect(bool bSave=false); // Ara
void            ClearAffect(bool bSave = false, bool bSomeAffect = false); // değiştir
void CHARACTER::ClearAffect(bool bSave) // Ara
void CHARACTER::ClearAffect(bool bSave, bool bSomeAffect) // Değiştir

// Ara
if (IsPC())
{
    SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn);
}

// Üstüne ekle
if (bSomeAffect)
{
    switch (pkAff->dwType)
    {
        case (SKILL_JEONGWI):
        case (SKILL_GEOMKYUNG):
        case (SKILL_CHUNKEON):
        case (SKILL_GWIGEOM):
        case (SKILL_TERROR):
        case (SKILL_JUMAGAP):
        case (SKILL_HOSIN):
        case (SKILL_REFLECT):
        case (SKILL_GICHEON):
        case (SKILL_KWAESOK):
        case (SKILL_JEUNGRYEOK):
        case (SKILL_JEOKRANG):
        case (SKILL_CHEONGRANG):
        {
            ++it;
            continue;
        }
    }
}

// Ara
void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead)
  
// Fonksiyonun içinde ara
ClearAffect(true);

// Değiştir
ClearAffect(true, (pkKiller && pkKiller->IsPC()) ? false : true);

tek satır halini yapmak isteyenler :

char_battle.cpp açın
ClearAffect(true); aratın
olduğu satırdan kaldırıp

sys_log(1, "DEAD_BY_PC: %s %p KILLER %s %p", GetName(), this, pkKiller->GetName(), get_pointer(pkKiller)); aratın
ve bunun üstüne ekleyin

zaten 2. aradığınız 5-10 satır altta olucak hiç uğraşmanıza gerek yok :D

bunuda konuya ekleyebilirsin knk @emirqnq
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Görünce aklıma bu geldi, daha verimli olduğunu düşünüyorum.

C++:
void ClearAffect(bool bSave=false); // Ara
void            ClearAffect(bool bSave = false, bool bSomeAffect = false); // değiştir
void CHARACTER::ClearAffect(bool bSave) // Ara
void CHARACTER::ClearAffect(bool bSave, bool bSomeAffect) // Değiştir

// Ara
if (IsPC())
{
    SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn);
}

// Üstüne ekle
if (bSomeAffect)
{
    switch (pkAff->dwType)
    {
        case (SKILL_JEONGWI):
        case (SKILL_GEOMKYUNG):
        case (SKILL_CHUNKEON):
        case (SKILL_GWIGEOM):
        case (SKILL_TERROR):
        case (SKILL_JUMAGAP):
        case (SKILL_HOSIN):
        case (SKILL_REFLECT):
        case (SKILL_GICHEON):
        case (SKILL_KWAESOK):
        case (SKILL_JEUNGRYEOK):
        case (SKILL_JEOKRANG):
        case (SKILL_CHEONGRANG):
        {
            ++it;
            continue;
        }
    }
}

// Ara
void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead)
   
// Fonksiyonun içinde ara
ClearAffect(true);

// Değiştir
ClearAffect(true, (pkKiller && pkKiller->IsPC()) ? false : true);

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

Geri
Üst