Bunu Şebneme Nasıl Ayarlayabiliriz Ya Bi Orasını Anlayamadım.
Teşekkürler Konu İçin
Şuanki kod ile aynı type sahip itemler birbirini blokluyor. Örneğin kritik ve delici isabetleri ve ejderha tanrıları type = AFFECT_MALL oyun içinde kritiğe bastığın zaman açılıyor deliciyi açmak istersen kritiği kapatıyor.
Ejderha tanrıları içinde aynısı geçerli. Kritik açıkken ejderha tanrısına basarsan kritiği kapatıyor
Bunun çözümü şu;
CAffect * pAffect = FindAffect(type);
if(NULL == pAffect)
kısmını bonusların üstüne değilde altına ekleyip affect'i bonus ile birlikte bulmak
CAffect * pAffect = FindAffect(type,bonus);
Kod :
Ejderha tanrıları içinde aynısı geçerli. Kritik açıkken ejderha tanrısına basarsan kritiği kapatıyor
Bunun çözümü şu;
CAffect * pAffect = FindAffect(type);
if(NULL == pAffect)
kısmını bonusların üstüne değilde altına ekleyip affect'i bonus ile birlikte bulmak
CAffect * pAffect = FindAffect(type,bonus);
Kod :
Kod:
case PERMA_KRITIK:
case PERMA_DELICI:
case PERMA_TANRI_YASAM:
case PERMA_TANRI_SALDIRI:
case PERMA_TANRI_ZEKA:
case PERMA_TANRI_SAVUNMA:
{
EAffectTypes type = AFFECT_NONE;
if (item->GetVnum() == PERMA_KRITIK)
type = AFFECT_MALL;
if (item->GetVnum() == PERMA_DELICI)
type = AFFECT_MALL;
if (item->GetVnum() == PERMA_TANRI_YASAM)
type = AFFECT_MALL;
if (item->GetVnum() == PERMA_TANRI_SALDIRI)
type = AFFECT_MALL;
if (item->GetVnum() == PERMA_TANRI_ZEKA)
type = AFFECT_MALL;
if (item->GetVnum() == PERMA_TANRI_SAVUNMA)
type = AFFECT_MALL;
if (AFFECT_NONE == type)
break;
EPointTypes bonus = POINT_NONE;
EAffectBits flag = AFF_NONE;
if (item->GetVnum() == PERMA_KRITIK)
{
bonus = POINT_CRITICAL_PCT;
// flag = 0;
}
if (item->GetVnum() == PERMA_DELICI)
{
bonus = POINT_PENETRATE_PCT;
// flag = 0;
}
if (item->GetVnum() == PERMA_TANRI_YASAM)
{
bonus = POINT_MAX_HP_PCT;
// flag = 0;
}
if (item->GetVnum() == PERMA_TANRI_SALDIRI)
{
bonus = POINT_ATT_BONUS;
// flag = 0;
}
if (item->GetVnum() == PERMA_TANRI_ZEKA)
{
bonus = POINT_MAX_SP_PCT;
// flag = 0;
}
if (item->GetVnum() == PERMA_TANRI_SAVUNMA)
{
bonus = POINT_MALL_DEFBONUS;
// flag = 0;
}
CAffect * pAffect = FindAffect(type,bonus);
if(NULL == pAffect)
{
AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true,true);
item->Lock(true);
item->SetSocket(0, true);
}
else
{
RemoveAffect(pAffect);
item->Lock(false);
item->SetSocket(0, false);
}
}
break;
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 19
- Görüntüleme
- 2K
- Kilitli
- Cevaplar
- 310
- Görüntüleme
- 53K
- Cevaplar
- 41
- Görüntüleme
- 9K
- Kilitli
- Cevaplar
- 359
- Görüntüleme
- 30K
- Cevaplar
- 2
- Görüntüleme
- 3K

