Grup Tecrübe Paylaşımı Mesafe Kontrolü

Arslan

Sabır; yüzünü ekşitmeden acıyı yudumlamaktır.
Onaylanmış Üye
5 Kas 2020
118
9
Çevrimiçi zamanı
13h 45m
18
Best answers
0
Oyuncu
Metin2, CS:GO
Grup ile kasılındığı zaman grup üyesi uzakta olduğunda exp gitmiyordu bu düzenleme ile bunun önüne geçilmiş bulunulmaktadır.
Service.h

C++:
Kod:
#define ENABLE_PARTY_EXP_FIX

Char_battle.cpp

Arat:

C++:
Kod:
        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:


C++:
Kod:
#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
 
Üst