Arkadaşlar sorunu çözdüm, eğer Battlepass'ınız mevcut bonusu silip yeni bonusu replace ederek veriyorsa, + şeklinde vermesi için aşağıdaki battlepass sisteminizdeki AutoGiveItem fonksiyonlarının bulunduğu yerde, int apply_type ile başlayan satırı aşağıdaki şekilde değiştirmelisiniz. @
Tolstoy admin'ime yol gösterdiği için teşekkür ediyorum.
Bu değişiklik yapmadan önceki kod yapımdı,
files'inizde kolay bulun diye mantığı anlatıyorum.
if (missions_bp[index].count == v_counts[index].count)
{
v_counts[index].status = v_counts[index].status + 1;
ChatPacket(CHAT_TYPE_INFO, "Tebrikler, basariyla savas bileti gorevini tamamladiniz!");
AutoGiveItem(rewards_bp[index].vnum1,rewards_bp[index].count1);
AutoGiveItem(rewards_bp[index].vnum2,rewards_bp[index].count2);
AutoGiveItem(rewards_bp[index].vnum3,rewards_bp[index].count3);
int apply_type = aApplyInfo[rewards_bp[index].efsuntype].bPointType;
int apply_value = rewards_bp[index].efsunvalue;
int affect_type = rewards_bp[index].affect;
AddAffect(affect_type, apply_type, apply_value, 0, 60*60*24*365, 0, true, true);
}
Bu da benim yaptığım değişiklik.
if (missions_bp[index].count == v_counts[index].count)
{
v_counts[index].status = v_counts[index].status + 1;
ChatPacket(CHAT_TYPE_INFO, "Tebrikler, basariyla savas bileti gorevini tamamladiniz!");
AutoGiveItem(rewards_bp[index].vnum1,rewards_bp[index].count1);
AutoGiveItem(rewards_bp[index].vnum2,rewards_bp[index].count2);
AutoGiveItem(rewards_bp[index].vnum3,rewards_bp[index].count3);
int apply_type = aApplyInfo[rewards_bp[index].efsuntype].bPointType;
int apply_value = rewards_bp[index].efsunvalue;
int affect_type = rewards_bp[index].affect;
CAffect* currentAffect = FindAffect(affect_type, apply_type); // Mevcut affect'i bul
if (currentAffect)
{
apply_value += currentAffect->lApplyValue; // Mevcut değere yeni değeri ekle
}
AddAffect(affect_type, apply_type, apply_value, 0, 60*60*24*365, 0, true, true);
}