Yardım Karaktere bonusları nasıl uygulayabilirim?

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

layers

MT Üye
MT Üye
Mesaj
380
Çözümler
28
Beğeni
335
Puan
829
Ticaret Puanı
0
Yapmış olduğum aşama sisteminde bonuslara karaktere affect ile veriyordum ama çık-gir yapınca aşama birikiyordu bir türlü düzeltemedim bende pointchange ile
vermeyi denedim sistemde yükselt dediğimde bonusları veriyor sorun yok ama çık-gir yapınca sıfırlanıyor nasıl bir yol izlemem lazım bu durumda yardımcı olabilir misiniz?

Kod:
Genişlet Daralt Kopyala
void CStageSystem::ApplyStageAffects(LPCHARACTER ch)
{
    if (!ch)
        return;

    int lvl = ch->GetStageLevel();

    int oldATT = ch->stageATTBonus;
    int oldHP  = ch->stageHPBonus;
    int oldEXP = ch->stageEXPBonus;

    ch->stageATTBonus = lvl;
    ch->PointChange(POINT_ATTBONUS_MONSTER, ch->stageATTBonus - oldATT);

    if (lvl >= 5)
        ch->stageHPBonus = 1000;
    else
        ch->stageHPBonus = 0;
    ch->PointChange(POINT_MAX_HP, ch->stageHPBonus - oldHP);

    if (lvl == 10)
        ch->stageEXPBonus = 10;
    else
        ch->stageEXPBonus = 0;
    ch->PointChange(POINT_EXP_DOUBLE_BONUS, ch->stageEXPBonus - oldEXP);

    ch->ChatPacket(CHAT_TYPE_INFO, "[Stage Bonus] ATT+%d | HP+%d | EXP+%d",
        ch->stageATTBonus, ch->stageHPBonus, ch->stageEXPBonus);
}
 
Geri
Üst