SLyFeLLowTR 1
SLyFeLLowTR
DEVLOPER 1
DEVLOPER
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
darkbey42 1
darkbey42
xranzei 1
xranzei
Bvural41 1
Bvural41
PrimeAC 1
PrimeAC
Payidar2 1
Payidar2
Fethi Polat 1
Fethi Polat
Wizard' 1
Wizard'
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!

@emirqnq Sınırsız skil nasıl yapabiliriz vs server için hava kılıcı ateş hayaleti keskinlik koruma vs gibi yakmalı skiller sönmesin hiç, Bir tek ölünce sönsün
 
O şekilde daha mantıklı pcyse true değilse false şeklinde sorunsuz o şekilde


C++:
    SetPosition(POS_DEAD);
    ClearAffect(true);

   //normalde bu şekilde

    if (pkKiller && IsPC())
    {
        if (!pkKiller->IsPC())
        {
            if (!isForked)
            {
                sys_log(1, "DEAD: %s %p WITH PENALTY", GetName(), this);
                SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_DEATH_PENALTY);
                LogManager::instance().CharLog(this, pkKiller->GetRaceNum(), "DEAD_BY_NPC", pkKiller->GetName());
            }
        }
        else
        {
           placeHolder(ClearAffect); //buraya aldığımızda olanda zaten aynı olacak 
            ClearAffect(true);
            sys_log(1, "DEAD_BY_PC: %s %p KILLER %s %p", GetName(), this, pkKiller->GetName(), get_pointer(pkKiller));
            REMOVE_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_DEATH_PENALTY);

pseudo code olarak bakarsak
orjinalinde
öldün -> affectleri kaldır, daha sonra pc yada npc kontrolü yap,

benim dediğim şekilde ki @cBaraN da aynısını fonksiyona yeni argüman ekleyerek yapmış
öldün->öldüren npc mi? hayır sa affectleri temizle


ben mantık olarak aralarında bir fark göremediğim için soruyorum sadece
 
C++:
    SetPosition(POS_DEAD);
    ClearAffect(true);

   //normalde bu şekilde

    if (pkKiller && IsPC())
    {
        if (!pkKiller->IsPC())
        {
            if (!isForked)
            {
                sys_log(1, "DEAD: %s %p WITH PENALTY", GetName(), this);
                SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_DEATH_PENALTY);
                LogManager::instance().CharLog(this, pkKiller->GetRaceNum(), "DEAD_BY_NPC", pkKiller->GetName());
            }
        }
        else
        {
           placeHolder(ClearAffect); //buraya aldığımızda olanda zaten aynı olacak
            ClearAffect(true);
            sys_log(1, "DEAD_BY_PC: %s %p KILLER %s %p", GetName(), this, pkKiller->GetName(), get_pointer(pkKiller));
            REMOVE_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_DEATH_PENALTY);

pseudo code olarak bakarsak
orjinalinde
öldün -> affectleri kaldır, daha sonra pc yada npc kontrolü yap,

benim dediğim şekilde ki @cBaraN da aynısını fonksiyona yeni argüman ekleyerek yapmış
öldün->öldüren npc mi? hayır sa affectleri temizle


ben mantık olarak aralarında bir fark göremediğim için soruyorum sadece
Ha aynen, olay o
 

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

Geri
Üst