[C++] Sınırsız Otomatik Pot Yapımı

LDrago

The Dragon's Excalibur
MT Üye
Mesaj
172
Çözümler
1
Beğeni
197
Puan
729
Ticaret Puanı
0
Merhaba, sizlere otomatik kırmızı ve mavi potu sınırsız yapmayı paylaşacağım.
WS ve Orta tip kullanan kişilerin işine yarayacaktır.

char_item.cpp dosyası içerisinde aratılır
Kod:
Genişlet Daralt Kopyala
void CHARACTER::AutoRecoveryItemProcess(const EAffectTypes type)

kod bloğu komple değiştirilir;
Kod:
Genişlet Daralt Kopyala
void CHARACTER::AutoRecoveryItemProcess(const EAffectTypes type)
{
   if ((true == IsDead()) || (true == IsStun()) || (false == IsPC()) || (AFFECT_AUTO_HP_RECOVERY != type && AFFECT_AUTO_SP_RECOVERY != type) || (NULL != FindAffect(AFFECT_STUN)))
       return;


   {
       const DWORD stunSkills[] = { SKILL_TANHWAN, SKILL_GEOMPUNG, SKILL_BYEURAK, SKILL_GIGUNG };
       for (size_t i=0 ; i < sizeof(stunSkills)/sizeof(DWORD) ; ++i)
       {
           const CAffect* p = FindAffect(stunSkills[i]);


           if (NULL != p && AFF_STUN == p->dwFlag)
               return;
       }
   }
   const CAffect* pAffect = FindAffect(type);
   if (NULL != pAffect)
   {
       LPITEM pItem = FindItemByID(pAffect->dwFlag);
       if (NULL != pItem && true == pItem->GetSocket(0))
       {
           if (false == CArenaManager::instance().IsArenaMap(GetMapIndex()))
           {
               int32_t gelendeger = 0;


               if (AFFECT_AUTO_HP_RECOVERY == type)
               {
                   gelendeger = GetMaxHP() - (GetHP() + GetPoint(POINT_HP_RECOVERY));
               }
               else if (AFFECT_AUTO_SP_RECOVERY == type)
               {
                   gelendeger = GetMaxSP() - (GetSP() + GetPoint(POINT_SP_RECOVERY));
               }


               if (gelendeger > 0)
               {
                   if (AFFECT_AUTO_HP_RECOVERY == type)
                   {
                       PointChange(POINT_HP_RECOVERY,gelendeger);
                       EffectPacket(SE_AUTO_HPUP);
                   }
                   else if (AFFECT_AUTO_SP_RECOVERY == type)
                   {
                       PointChange(POINT_SP_RECOVERY,gelendeger);
                       EffectPacket(SE_AUTO_SPUP);
                   }
               }
           }
           else
           {
               pItem->Lock(false);
               pItem->SetSocket(0, false);
               RemoveAffect( const_cast<CAffect*>(pAffect) );
           }
       }
       else
       {
           RemoveAffect( const_cast<CAffect*>(pAffect) );
       }
   }
}

İtem üzerinde "Kalan miktar" yazısını kaldırmak için;
root > uitooltip.py dosyasında aratıp silinir.
Kod:
Genişlet Daralt Kopyala
self.AppendTextLine(localeInfo.TOOLTIP_AUTO_POTION_REST % (100.0 - ((usedAmount / totalAmount) * 100.0)), self.POSITIVE_COLOR)
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst