Ki-Be kapcsolható potik hiba

Indította TheSLESH, 2019-05-21, 19:30:57

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);
}
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

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?
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

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/
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.


2019-05-22, 15:54:54 #4 Utolsó szerkesztés: 2019-05-22, 15:57:08 Szerző: bakura1998
Í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;
Nem az a fő, hogy örökké élsz-e. A trükk az, hogy önmagad maradj, örökké.

Igen..
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.