Hikayeler

Reklam vermek için turkmmo@gmail.com

Dereceye Göre Bonus Sistemi Hata Düzeltmesi

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Paylaşım için teşekkürler. :)
 
Merhabalar, bir kaynak dosyalarında gezerken buldum neden böyle birşey yapıldığını merak ettim ve sistemi denemeye başladım. Olay tam olarak şundan ibaret eğer
aligment == 10000 ise x bonusları ver tarzında yapılı olduğundan 10001 olunca update atıyor ve buda oyunda lag sapıtma vs. sebebiyeti vermekte vereceğim kod aligment almayı engelliyor. Elbette başka çözümde bulunabilir araştırma yaptıktan sonra fakat kullanmadığım bir sistem olduğu için gerisi sizin hayal gücünüze kalmış bir durum.

char.cpp***
//ARAT
Kod:
        if (GetSectree() && !GetSectree()->IsAttr(GetX(), GetY(), ATTR_BANPK))
        {
            if (GetRealAlignment() < 0)
            {
                if (IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_TIME))
                    UpdateAlignment(120 * (dwPlayedTime / 60000));
                else
                    UpdateAlignment(60 * (dwPlayedTime / 60000));
            }
            else
                UpdateAlignment(5 * (dwPlayedTime / 60000));
        }

//DEGISTIR
Kod:
#ifdef _DERECEYE_GORE_BONUS_SISTEMI_FIX_
        if (GetSectree() && !GetSectree()->IsAttr(GetX(), GetY(), ATTR_BANPK))
        {
            if (GetRealAlignment() < 0)
            {
                if (IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_TIME))
                    UpdateAlignment(120 * (dwPlayedTime / 60000), true);
                else
                    UpdateAlignment(60 * (dwPlayedTime / 60000), true);
            }
            else
                UpdateAlignment(5 * (dwPlayedTime / 60000),true);
        }
#else
        if (GetSectree() && !GetSectree()->IsAttr(GetX(), GetY(), ATTR_BANPK))
        {
            if (GetRealAlignment() < 0)
            {
                if (IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_TIME))
                    UpdateAlignment(120 * (dwPlayedTime / 60000));
                else
                    UpdateAlignment(60 * (dwPlayedTime / 60000));
            }
            else
                UpdateAlignment(5 * (dwPlayedTime / 60000));
        }
#endif

char_battle.cpp***
//ARAT
Kod:
    if (pkAttacker->IsPC())
    {
        if (GetLevel() - pkAttacker->GetLevel() >= -10)
            if (pkAttacker->GetRealAlignment() < 0)
            {
                if (pkAttacker->IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_KILL))
                    pkAttacker->UpdateAlignment(14);
                else
                    pkAttacker->UpdateAlignment(7);
            }
            else
                pkAttacker->UpdateAlignment(2);

//DEGISTIR
Kod:
#ifdef _DERECEYE_GORE_BONUS_SISTEMI_FIX_
    if (pkAttacker->IsPC())
    {
        if (GetLevel() - pkAttacker->GetLevel() >= -10)
            if (pkAttacker->GetRealAlignment() < 0)
            {
                if (pkAttacker->IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_KILL))
                    pkAttacker->UpdateAlignment(14, false);
                else
                    pkAttacker->UpdateAlignment(7, false);
            }
            else
                pkAttacker->UpdateAlignment(2, false);
#else
    if (pkAttacker->IsPC())
    {
        if (GetLevel() - pkAttacker->GetLevel() >= -10)
            if (pkAttacker->GetRealAlignment() < 0)
            {
                if (pkAttacker->IsEquipUniqueItem(UNIQUE_ITEM_FASTER_ALIGNMENT_UP_BY_KILL))
                    pkAttacker->UpdateAlignment(14);
                else
                    pkAttacker->UpdateAlignment(7);
            }
            else
                pkAttacker->UpdateAlignment(2);
#endif

//ARAT
Kod:
pkChr->UpdateAlignment(m_iAmount / m_iCount);

//DEGISTIR
Kod:
#ifdef _DERECEYE_GORE_BONUS_SISTEMI_FIX_
                    pkChr->UpdateAlignment(m_iAmount / m_iCount, false);
#else
                    pkChr->UpdateAlignment(m_iAmount / m_iCount);
#endif


Extra olarak :
//ARATx2
Kod:
pkKiller->UpdateAlignment(-20000);

//DEGISTIRx2
Kod:
#ifdef _DERECEYE_GORE_BONUS_SISTEMI_FIX_
                                pkKiller->UpdateAlignment(-20000, false);
#else
                                pkKiller->UpdateAlignment(-20000);
#endif
Düzeldi mi
 

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

Geri
Üst