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

layers

layerswork.com.tr
MT Üye
Mesaj
280
Çözümler
21
Beğeni
209
Puan
414
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