Yardım Şaman Grup Dışına Buff Veremesin

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

hopex

Üye
Üye
Mesaj
6
Beğeni
4
Puan
50
Ticaret Puanı
0
Şaman Karakteri Sadece Gruptaki Karakterlere Buff Versin İstiyorum. Yardımlarınızı Bekliyorum...
 
 
Bende kendini kutsayamama gibi bir sorun mevcut değil. Sanırım net belirtemedim isteğimi. Ws atarken bozulmasın diye şaman grubunun haricinde olan kişilere buff veremesin istiyorum. Sadece gruptakilere buff verebilsin. Eğer atmış olduğunuz konuda ilgili kısım varsa tam yerini belirtebilir misiniz ?
 
Gruptayken grup harici kişilere kutsama atılıyor muydu hatırlamıyorum ancak kodları bi deneyin
 
Sadece Gruptayken değil. Grubumda olmayan herhangibi birine buff veremesin istiyorum. grubum yokken sadece kendime buff verebileyim grubum varken sadece gruptaki kişilere.

Şaman karakteri grupta ise sadece kendi grubundaki oyunculara ve kendisine atabilecek. Grupta değilse sadece kendisine.

O zaman skill flaglarını değiştirmek gerekiyor.

94, 95, 96, 109, 110 ve 111 dwVnum değerlerine "SELFONLY" değerini ekleyip deneyebilir misin? SELFONLY,PARTY şeklinde olacak.

Ekledikten sonra gruptayken grup üyelerini kutsamakta sorun olursa kodda SELFONLY ve PARTY yerlerini değiştirin. Örneğin;

C++:
Genişlet Daralt Kopyala
    if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && !GetParty() && !pkVictim)
        ComputeSkill(dwVnum, this);
    else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty())
    {
        FPartyPIDCollector f;
        GetParty()->ForEachOnMapMember(f, GetMapIndex());
        for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
        {
            LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it);
            ComputeSkill(dwVnum, ch);
        }
    }
    else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
        ComputeSkill(dwVnum, this);
    else if (!IS_SET(pkSk->dwFlag, SKILL_FLAG_ATTACK))
        ComputeSkill(dwVnum, pkVictim);
    else if (dwVnum == SKILL_BYEURAK)
        ComputeSkill(dwVnum, pkVictim);
    else if (dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill())
        ComputeSkill(dwVnum, pkVictim);

    m_dwLastSkillTime = get_dword_time();

    return true;
}

Bunları test etmedim şu an fikir yürütme amaçlı yazıyorum.
 
Geri
Üst