Yardım Şu kodları nasıl eklerim?

  • Konuyu açan Konuyu açan ErnestoChe
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 1K
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

ErnestoChe

Üye
Üye
Mesaj
55
Çözümler
1
Beğeni
12
Puan
439
Ticaret Puanı
0
Eklenecek Kod::
Genişlet Daralt Kopyala
// Search:
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : ia.sValue ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : -ia.sValue);
// Replace with:
#ifdef ENABLE_DS_SET
                short sVal = ia.sValue;
                if ((IsDragonSoul()) && (m_pOwner->FindAffect(AFFECT_DS_SET)))
                    sVal += i < DSManager::instance().GetApplyCount(GetVnum()) ? DSManager::instance().GetBasicApplyValue(GetVnum(), ia.bType, true) : DSManager::instance().GetAdditionalApplyValue(GetVnum(), ia.bType, true);
                
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : sVal ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : -sVal);
#else
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : ia.sValue ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : -ia.sValue);
#endif

Ekleneceği Yer:
Genişlet Daralt Kopyala
        for (int i = 0; i < ITEM_ATTRIBUTE_MAX_NUM; ++i)
        {
            if (GetAttributeType(i))
            {
                const TPlayerItemAttribute& ia = GetAttribute(i);
#ifdef ENABLE_ACCE_SYSTEM
                long sValue = ia.sValue;
                if ((GetType() == ITEM_COSTUME) && (GetSubType() == COSTUME_ACCE))
                {
                    double dValue = sValue * GetSocket(ACCE_ABSORPTION_SOCKET);
                    dValue = (double)dValue / 100;
                    dValue = (double)dValue + .5;
                    sValue = (long)dValue;
                    if ((ia.sValue > 0) && (sValue <= 0))
                        sValue += 1;
                }
#ifdef ENABLE_AURA_SYSTEM
                else if ((GetType() == ITEM_COSTUME) && (GetSubType() == COSTUME_AURA))
                {
                    double dValue = sValue * GetSocket(AURA_ABSORPTION_SOCKET);
                    dValue = (double)dValue / 100;
                    dValue = (double)dValue / 10;
                    dValue = (double)dValue + .5;
                    sValue = (long) dValue;
                    if ((ia.sValue > 0) && (sValue <= 0))
                        sValue += 1;
                }
#endif
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sValue : sValue ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sValue : -sValue);
#else
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : ia.sValue ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? ia.sValue : -ia.sValue);
#endif
            }
        }

Nasıl Eklesem sorunsuz eklenir ve sistemlerde sorun olmaz ?
 
Emin değilim fakat alttaki #else satırını(sadece bu satırı) seçip şununla değiştirmeyi deneyin;
C++:
Genişlet Daralt Kopyala
#elif ENABLE_DS_SET
                short sVal = ia.sValue;
                if ((IsDragonSoul()) && (m_pOwner->FindAffect(AFFECT_DS_SET)))
                    sVal += i < DSManager::instance().GetApplyCount(GetVnum()) ? DSManager::instance().GetBasicApplyValue(GetVnum(), ia.bType, true) : DSManager::instance().GetAdditionalApplyValue(GetVnum(), ia.bType, true);
                
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : sVal ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : -sVal);
#else
 
Emin değilim fakat alttaki #else satırını(sadece bu satırı) seçip şununla değiştirmeyi deneyin;
C++:
Genişlet Daralt Kopyala
#elif ENABLE_DS_SET
                short sVal = ia.sValue;
                if ((IsDragonSoul()) && (m_pOwner->FindAffect(AFFECT_DS_SET)))
                    sVal += i < DSManager::instance().GetApplyCount(GetVnum()) ? DSManager::instance().GetBasicApplyValue(GetVnum(), ia.bType, true) : DSManager::instance().GetAdditionalApplyValue(GetVnum(), ia.bType, true);
              
                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : sVal ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : -sVal);
#else
Bu şekilde verdiğimde hiçbir şekilde bonus vermiyor.
 
C++:
Genişlet Daralt Kopyala
#endif
                short sVal = ia.sValue;

                if ((IsDragonSoul()) && (m_pOwner->FindAffect(AFFECT_DS_SET)))
                {
                    sVal += i < DSManager::instance().GetApplyCount(GetVnum()) ? DSManager::instance().GetBasicApplyValue(GetVnum(), ia.bType, true) : DSManager::instance().GetAdditionalApplyValue(GetVnum(), ia.bType, true);
                }

                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : sVal ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : -sVal);
#else
                short sVal = ia.sValue;

                if ((IsDragonSoul()) && (m_pOwner->FindAffect(AFFECT_DS_SET)))
                {
                    sVal += i < DSManager::instance().GetApplyCount(GetVnum()) ? DSManager::instance().GetBasicApplyValue(GetVnum(), ia.bType, true) : DSManager::instance().GetAdditionalApplyValue(GetVnum(), ia.bType, true);
                }

                if (ia.bType == APPLY_SKILL)
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : sVal ^ 0x00800000);
                else
                    m_pOwner->ApplyPoint(ia.bType, bAdd ? sVal : -sVal);
#endif


bu şekilde olmalı. bonus vermiyorsa sebebi başka bir şeydir..
 
Paylaştığınız dosyalar kodlardan ibaret. Dosya olarak eklemek yerine sitemizin kod ekleme aracısını kullanabilirsiniz. Eğer karakter limitini açıyorsa pastebin gibi sitelere ekleyebilirsiniz.
 
Üst