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

Minaks Thorn Skili Hakkında...

Önerilen Mesajlar

arkadaşlar bu skili kullandığım zaman diğer partiden birisi bana atack yapınca kendi partimdeki kişiler damage yiyor bu skilin orjinalinde bana atac yapan kişinin partisindeki kişilere damage gitmesi gerekiyor database ve sourceden biraz kurcaladım skilin çalışmasında bi sorun yok fakat bu damageyi karşı partiye nasıl verdirebiliriz?

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin

Kodun nasıl olduğu hakkında bir fikrim yok ama olay şöyle işliyor ona göre senin yazman gerekiyor ben sadece mantığını yazıyorum.

Sendeki kodun hali;


/*
int32 damage;
damage hesaplandığı yer;
*/

if (pAttacker->isinParty())
{
if (hasMinaksThorn())
{
CParty * pParty = g_pMain->GetParty(GetPartyID());
if (pParty)
{
for (uint8_t i = 0; i {
CPlayer * pPlayer = pParty->members[i];
if (pPlayer == nullptr)
continue;

pPlayer->HpChange(-(damage));
}
}
}
}


Aslında olması gereken hali;

/*
int32 damage;
damage hesaplandığı yer;
*/

if (pAttacker->isinParty())
{
if (hasMinaksThorn())
{
CParty * pParty = g_pMain->GetParty(pAttacker->GetPartyID());
if (pParty)
{
for (uint8_t i = 0; i {
CPlayer * pPlayer = pParty->members[i];
if (pPlayer == nullptr)
continue;

pPlayer->HpChange(-(damage));
}
}
}
}

İletiyi paylaş


Link to post
Sitelerde Paylaş

case BUFF_TYPE_MIRROR_DAMAGE_PARTY: // Minak's Thorn
pTarget->m_bMirrorDamage = true;
pTarget->m_byMirrorAmount = (uint8)pType->sSpecialAmount;
break;

ben bununla oynadım biraz olmadı :) procces değilde instancede aramam lazım galiba ama bulamadım hocam ya...

İletiyi paylaş


Link to post
Sitelerde Paylaş

arkadaslar sorunum devam etmekte bilgisi olan arkadaslarin yardimlarini bekliyoruz... zaten ben cozersemde gerekli aciklamayi yaparim buraya.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
case BUFF_TYPE_MIRROR_DAMAGE_PARTY: // Minak's Thorn
pTarget->m_bMirrorDamage = true;
pTarget->m_byMirrorAmount = (uint8)pType->sSpecialAmount;
break;

ben bununla oynadım biraz olmadı :) procces değilde instancede aramam lazım galiba ama bulamadım hocam ya...


BUFF TYPE burası burda true yapıyor işleme alıyor

::HpChange voidi

tahminimce böyle

pParty = g_pMain->GetPartyPtr(GetPartyID());

birşey var senin PartyID ni alıyor

CParty * pParty = g_pMain->GetParty(pAttacker->GetPartyID());

bu şekilde yaparsan bi problem kalmicaktır attack yapan karşı pt nin id sini alır ve üyelere attack verir zaten % kaç ise yaparsın bu voide geldigin

görürsün hepsini nullptr gelince continue dersin bide bi sorun kalmaz

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...