noisiv 1
noisiv
Manwe Work 1
Manwe Work
[DEV]AB 1
[DEV]AB
R 1
Roksam
mavzermete 1
mavzermete
Vahsi Uzman 1
Vahsi Uzman
Bodyguardd 1
Bodyguardd
Hikaye Ekle

[C++] Sorunsuz Grup Kutsama

  • Konuyu başlatan Konuyu başlatan Rideas
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 99
  • Görüntüleme Görüntüleme 20K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Hazır char_skill.cpp





Anlatım:

char_skill.cpp açılır:

Aratılır:

Kod:
    // 상대방에게 쓰는 것이 아니면 나에게 써야 한다.
    if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
        pkVictim = this;


altına eklenir:

Kod:
    if (dwVnum == 94 || dwVnum == 95 || dwVnum == 96 && !GetParty())
        pkVictim = this;


tekrar aratılır:


Kod:
    if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
        pkVictim = this;

altına eklenir:

Kod:
    if (dwVnum == 94 || dwVnum == 95 || dwVnum == 96 && !GetParty())
        pkVictim = this;

tekrar aratılır:

Kod:
        if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
        ComputeSkill(dwVnum, this);

altına eklenir:

Kod:
        int GrupKutsama = 1;
        else if (!GetParty())
        {
           
        if (dwVnum == 94 || dwVnum == 95 || dwVnum == 96)
        ComputeSkill(dwVnum, this);
        }
        else if (GetParty() && GrupKutsama == 1)
        {
           
        if (dwVnum == 94 || dwVnum == 95 || dwVnum == 96)
        {
        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);
        }
        }
        }

tekrar aratılır:

Kod:
static const DWORD s_adwSubSkillVnums[] =
{
    SKILL_LEADERSHIP,
    SKILL_COMBO,
    SKILL_MINING,
    SKILL_LANGUAGE1,
    SKILL_LANGUAGE2,
    SKILL_LANGUAGE3,
    SKILL_POLYMORPH,
    SKILL_HORSE,
    SKILL_HORSE_SUMMON,
    SKILL_HORSE_WILDATTACK,
    SKILL_HORSE_CHARGE,
    SKILL_HORSE_ESCAPE,
    SKILL_HORSE_WILDATTACK_RANGE,
    SKILL_ADD_HP,
    SKILL_RESIST_PENETRATE
};

altına eklenir:

Kod:
struct FPartyPIDCollector
{
std::vector <DWORD> vecPIDs;
FPartyPIDCollector()
{
}
void operator () (LPCHARACTER ch)
{
vecPIDs.push_back(ch->GetPlayerID());
}
};


guild.cpp aratılır:

Kod:
    if ((pkSk->dwFlag & SKILL_FLAG_SELFONLY))
    {
        // &#51060;&#48120; &#44152;&#47140; &#51080;&#51004;&#48064;&#47196; &#49324;&#50857;&#54616;&#51648; &#50506;&#51020;.
        if (ch->FindAffect(pkSk->dwVnum))
            return;


        victim = ch;
    }

altına eklenir:

Kod:
    if ((pkSk->dwVnum == 94 || pkSk->dwVnum == 95 || pkSk->dwVnum == 96))
    {
        if (ch->FindAffect(pkSk->dwVnum))
        return;


        victim = ch;
    }
 
Moderatör tarafında düzenlendi:

En Çok Reaksiyon Alan Mesajlar

evet sadece krtk veriyor video hatalı olmalı yada sorunsuzu yayınlanmadı

aynen öyle yapınca düzeldı fakat grup dışında çalışmıyor o skıller sıstem o şekılmı yoksa eksıkmı yaptık

aynen çalışmıyor grup dışı

Öğeyi görmek için üye olmalısınız.

Alın usta sorunsuz denenmiştir Anlatım vardır içinde Grup varkende grup yokkende sorunsuz herkesi kutsuyor @durda; Katkından dolayı saolasın tekrardan :)
Usta eyw şimdi anladım olayı :) biz SKILL_FLAG_SELFONLY nin altına eklemiyorduk SKILL_FLAG_PARTY olarak kalıyordu :) birde sanırsam config kodlu olanı koymuşsun :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst