Yardım grupta exp düşmesini engellemek

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

ekle :

#define ENABLE_PARTY_EXP_FIX

Char_battle.cpp

Arat:

LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);

// NPC°¡ ¶§¸®±âµµ Çϳª? -.-;
if (!pAttacker || pAttacker->IsNPC() || DISTANCE_APPROX(GetX() - pAttacker->GetX(), GetY() - pAttacker->GetY()) > 5000)
continue;

Değiştir:

#ifdef ENABLE_PARTY_EXP_FIX
LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);

// NPC°¡ ¶§¸®±âµµ Çϳª? -.-;
if(!pAttacker || !pAttacker->IsPC())
continue;

// Block exp award based on distance
// Groups have DOUBLE the exp distance to prevent the "exploit" where the party leader gets full exp bonus and some party members don't get exp.
int dist = DISTANCE_APPROX(GetX()-pAttacker->GetX(), GetY()-pAttacker->GetY());
if(dist > 10000 || (dist > 5000 && !pAttacker->GetParty()))
continue;
#else
LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);

// NPC°¡ ¶§¸®±âµµ Çϳª? -.-;
if (!pAttacker || pAttacker->IsNPC() || DISTANCE_APPROX(GetX() - pAttacker->GetX(), GetY() - pAttacker->GetY()) > 5000)
continue;
#endif
 
Geri
Üst