Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
donz05

%50 MP düşürmek için

Önerilen Mesajlar

case 3:
//if (pTarget->isPlayer() && CheckPercent(700))
MSpChange(-m_iMaxMp);
/*{
TO_USER(pTarget)->MSpChange( -damage * 1000);
}*/
break;
short m_sMaxMP;
/*ExpChange((m_iLostExp * pType->bExpRecover) / 100);*/

/*MSpChange((int)(((m_iMaxMp * 5) / ((GetLevel() - 1) + 30)) + 3) * mpPercent / 100);*/

//if (pTarget->isPlayer() && CheckPercent(700)) //
//{
// TO_USER(pTarget)->ItemWoreOut(ATTACK * 10000);
// TO_USER(pTarget)->ItemWoreOut(DEFENCE, -damage * 10000);
//}
//break;

arkadaşlar sadece case3 e bi skill atamak istiyorum öyle ki type_3 teki first damage satırını % de olarak görsün ve oraya 50 yazdığım zaman karakterin toplam mp sini %50 olarak düşürsün. m_iMaxMp şunu buldum ama magicinstance ye ekleyemedim

orjinal hali budur fakat bu şekilde 50 yazarsam 50 mp arttırıyor -50 yazıncada 50 mp düşürüyor

case 3:
pTarget->MSpChange(damage); break;

biraz karışık oldu ama umarım anlatabimişimdir

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin

Yüzde hesaplaması yapmak istiyorsun sanırım onun için yüzde kaçını almak istiyorsan değeri onunla çarpacaksın daha sonra yüze böleceksin. Aşağıya bir tane örnek bırakıyorum onun üzerinden yapabilirsin.


int nDeger = 750000;
int nSonuc = (nDeğer * 50) / 100;


750000 değerinin %50 oranını almak istiyoruz ve bunun için 750000 değerini 50 ile çarpıyoruz. 37500000 sonucunu elde ediyoruz bunu da 100 ile böldüğümüz zaman gerçek sonuç olan 375000 değerine ulaşmış oluyoruz.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Yüzde hesaplaması yapmak istiyorsun sanırım onun için yüzde kaçını almak istiyorsan değeri onunla çarpacaksın daha sonra yüze böleceksin. Aşağıya bir tane örnek bırakıyorum onun üzerinden yapabilirsin.


int nDeger = 750000;
int nSonuc = (nDeğer * 50) / 100;


750000 değerinin %50 oranını almak istiyoruz ve bunun için 750000 değerini 50 ile çarpıyoruz. 37500000 sonucunu elde ediyoruz bunu da 100 ile böldüğümüz zaman gerçek sonuç olan 375000 değerine ulaşmış oluyoruz.


hocam yanıt için teşekkürler ben mantığı anladım fakat bunu dile getiremedim source de sıkıntım o şöyle diyim orjinal satırı pTarget->MSpChange(damage); bu
bende buna pTarget->MSpChange(damage); % / m_iMaxMp gibi kod düşündüm fakat mantığını yazamadım yanlış anlasılmasın hazırcı olmadığımı herkez bilir fakat olmadımı olmuyor takıldım
burda bi örneğini aldım size fikir olsun diye ama aynısını yapamadım

//if (pTarget->isPlayer() && CheckPercent(700)) //
//{
// TO_USER(pTarget)->ItemWoreOut(ATTACK * 10000);
// TO_USER(pTarget)->ItemWoreOut(DEFENCE, * 10000);
//}

burda atak yapınca itemin durability sini düşürüyor fakat % olarak 700 %70 oluyor 500 yaparsam %50 bunu pTarget->MSpChange(damage); buna uyarlama imkanın varmı hocam teşekkürlear...

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı
hocam yanıt için teşekkürler ben mantığı anladım fakat bunu dile getiremedim source de sıkıntım o şöyle diyim orjinal satırı pTarget->MSpChange(damage); bu
bende buna pTarget->MSpChange(damage); % / m_iMaxMp gibi kod düşündüm fakat mantığını yazamadım yanlış anlasılmasın hazırcı olmadığımı herkez bilir fakat olmadımı olmuyor takıldım
burda bi örneğini aldım size fikir olsun diye ama aynısını yapamadım

//if (pTarget->isPlayer() && CheckPercent(700)) //
//{
// TO_USER(pTarget)->ItemWoreOut(ATTACK * 10000);
// TO_USER(pTarget)->ItemWoreOut(DEFENCE, * 10000);
//}

burda atak yapınca itemin durability sini düşürüyor fakat % olarak 700 %70 oluyor 500 yaparsam %50 bunu pTarget->MSpChange(damage); buna uyarlama imkanın varmı hocam teşekkürlear...



signed int nDamage = (damage * 50) / 100;
pTarget->MSpChange(nDamage);

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

signed int nDamage = (damage * 50) / 100;
pTarget->MSpChange(nDamage);


ilgi ve alakan için çok teşekkür ederim hocam eline sağlık

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...