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

layers

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
408
Çözümler
31
Beğeni
381
Puan
929
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