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 70
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

layers

MT Üye
MT Üye
Mesaj
356
Çözümler
27
Beğeni
261
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