Sziasztok! Beraktam a német szervereken használt, ki-be kapcsolható örökös harmatokat, kibővítettem, tökéletesek az affectek, minden megjelenik bal felül, az értékeket is tökéletesen megadja, viszont bármilyen cserénél, amikor frissül a karakter ablak, a bónuszokat elfelejti hozzá számolni..
Tehát, van 100 defem, benyomok egy 100 deffes potit, lessz 200, leveszem a fegyverem, és visszaveszem, és ismét csak 100 van, viszont az affect bal felül még mindig fent van, tehát a potit ki kell kapcsolni, és újra be, hogy működjön... Illetve hiába lock-olom a tárgyat, relog után már nincsen lock-olva...
AddAffect();
item->Lock(true);
item->SetSocket(0, true);
}
else
{
RemoveAffect(pAffect);
item->Lock(false);
item->SetSocket(0, false);
}
Miért olyan nehéz a leírást is belinkelni? Szerinted minden fórumozó berakta ezt a rendszert, hogy bárki tudjon majd neked segíteni?
az alap rendszerben, egy lila poti van, én ez alapján alakítottam át sajátra, viszont a logikán nem változtattam, csak bővítettem illetve a bónuszokat írtam át, és afffecteket rendeltem mindhez.
https://forum.turkmmo.com/konu/3678272-c-python-yesil-ve-mor-pot-rubinum-tarzi/ (https://forum.turkmmo.com/konu/3678272-c-python-yesil-ve-mor-pot-rubinum-tarzi/)
Bocsi a thank yout veletlen nyomtam xd
Így próbáltad?
case BONUS_KRIT:
case BONUS_ATHATO:
{
EAffectTypes type = AFFECT_NONE;
if (item->GetVnum() == BONUS_KRIT)
type = AFFECT_MALL;
if (item->GetVnum() == BONUS_ATHATO)
type = AFFECT_MALL;
if (AFFECT_NONE == type)
break;
EPointTypes bonus = POINT_NONE;
EAffectBits flag = AFF_NONE;
if (item->GetVnum() == BONUS_KRIT)
{
bonus = POINT_CRITICAL_PCT;
}
if (item->GetVnum() == BONUS_ATHATO)
{
bonus = POINT_PENETRATE_PCT;
}
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;
Igen..