Çözüldü Yeni bonus ekledim fakat hasara bir etkisi yok.

  • Konuyu açan Konuyu açan cosion
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 10
  • Gösterim Gösterim 776
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

cosion

Üye
Üye
Mesaj
128
Çözümler
12
Beğeni
23
Puan
469
Ticaret Puanı
0
Başlıktan da anlaşılabileceği gibi, metinlere karşı güç bonusu ekledim, oyun içi herhangi bir sorun olmadan görebiliyorum iteme eklediğimde de gözüküyor fakat hasara bir etkisi olmuyor.

Adsız.png
 
Çözüm
Server tarafındaki protoreader kaynak kodunda ekstra lycan ApplyType'ları ekli duruyordu. Client içindeki protoreader kaynak kodundaki sırasıyla eşleşmediğinden dolayı hasar işlenmiyormuş. İlgin için yine de teşekkür ederim @welberw9696
Kod:
Genişlet Daralt Kopyala
if (pkVictim->IsNPC())
    {
        if (pkVictim->IsRaceFlag(RACE_FLAG_ANIMAL))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_ANIMAL)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_UNDEAD))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_UNDEAD)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_DEVIL))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_DEVIL)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_HUMAN))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_HUMAN)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_ORC))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_ORC)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_MILGYO))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_MILGYO)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_INSECT))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_INSECT)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_FIRE))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_FIRE)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_ICE))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_ICE)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_DESERT))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_DESERT)) / 100;
        else if (pkVictim->IsRaceFlag(RACE_FLAG_TREE))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_TREE)) / 100;

        iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_MONSTER)) / 100;

        if (pkVictim->IsStone())
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_METIN)) / 100;

    }
Bunun dışında birşey eklenecek mi hocam ? Yoksa 100 mü arttırmıyor daha mı fazla bir değere girmem lazım ?
 
IsStone çalışmıyor sanırım
Kod:
Genişlet Daralt Kopyala
if (pkVictim->IsStone())
yerine bunu dene
Kod:
Genişlet Daralt Kopyala
if ((pkVictim->GetRaceNum() >= 8000 && pkVictim->GetRaceNum() <= 8114))
 
IsStone çalışmıyor sanırım
Kod:
Genişlet Daralt Kopyala
if (pkVictim->IsStone())
yerine bunu dene
Kod:
Genişlet Daralt Kopyala
if ((pkVictim->GetRaceNum() >= 8000 && pkVictim->GetRaceNum() <= 8114))
Dediğiniz gibi değiştirdim, fakat sonuç hala aynı. Değerleri 1500 Metin falan yaptım ama hasarda bir artış olmuyor.
 
char.cpp atar mısın
Dosyanın hepsini atmama gerek yok sanırım, zaten char.cpp'ye sadece
Kod:
Genişlet Daralt Kopyala
void CHARACTER::PointChange(BYTE type, int amount, bool bAmount, bool bBroadcast)
içerisine case olarak aşşağıdaki kodu ekledim.
Kod:
Genişlet Daralt Kopyala
case POINT_ATTBONUS_METIN:
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
            break;
 
Dosyanın hepsini atmama gerek yok sanırım, zaten char.cpp'ye sadece
Kod:
Genişlet Daralt Kopyala
void CHARACTER::PointChange(BYTE type, int amount, bool bAmount, bool bBroadcast)
içerisine case olarak aşşağıdaki kodu ekledim.
Kod:
Genişlet Daralt Kopyala
case POINT_ATTBONUS_METIN:
            SetPoint(type, GetPoint(type) + amount);
            val = GetPoint(type);
            break;
POINT_ATTBONUS_METIN veya sende karşılığı neyse point olarakta eklemelisin + 1500 değerini 100 yap 1500 de vuracağı varsa da vurmaz
 
Server tarafındaki protoreader kaynak kodunda ekstra lycan ApplyType'ları ekli duruyordu. Client içindeki protoreader kaynak kodundaki sırasıyla eşleşmediğinden dolayı hasar işlenmiyormuş. İlgin için yine de teşekkür ederim @welberw9696
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst