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

LDrago

The Dragon's Excalibur
MT Üye
Mesaj
172
Çözümler
1
Beğeni
186
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)
 
Üst