[C++] Optolás

Indította Rock, 2018-04-07, 16:26:22

Sziasztok!

Még nem teljesen vetettem bele magamat, hátha valaki megcsinálta már.
Ugye ha egy tárgy alap optjaiba van például int, vagy ák/kk, akkor nem lehet bele optolni int, vagy ák/kk-t.

Én viszont szeretném, ha lehetne bele optolni mindent, függetlenül attól, hogy van-e benne az adott bónusz.

Valaki esetleg ezt megvalósította már?

if (r.bMaxLevelBySet[iAttributeSet] && !HasAttr(i))
if (HasAttr(bApply))
return;

Szerintem ha ezt a 2-t átírod az elég, bár nemtom mi értelme van ennek :-\

Idézetet írta: 5310pati Dátum 2018-04-07, 16:30:55
if (r.bMaxLevelBySet[iAttributeSet] && !HasAttr(i))
if (HasAttr(bApply))
return;

Szerintem ha ezt a 2-t átírod az elég, bár nemtom mi értelme van ennek :-\
Ha áthúznak egy fegyót, amiben eredetileg nem volt pl int, és eloptolják, bukták az optot...

Üzenet összefésülés: 2018-04-07, 16:32:23

Idézetet írta: 5310pati Dátum 2018-04-07, 16:30:55
if (r.bMaxLevelBySet[iAttributeSet] && !HasAttr(i))
if (HasAttr(bApply))
return;

Szerintem ha ezt a 2-t átírod az elég, bár nemtom mi értelme van ennek :-\

Pillanat, és tesztelem, köszönöm.

Hát de épp ez a lényeg, v áthúzás előtt megszenvednek a duplával, vagy hagyják a fenébe. :-X

item_attribute.cpp-ben a HasAttr függvényt módosítsd szerintem erre:

bool CItem::HasAttr(BYTE bApply)
{
for (int i = 0; i < MAX_NORM_ATTR_NUM; ++i)
if (GetAttributeType(i) == bApply)
return true;

return false;
}

Így nem fogja nézni, hogy alap optként szerepel-e már, viszont figyeli h 2x ne tudja +ban optolni.

Meg így nem kell foglalkoznod azzal, hogy átirogasd, ha esetleg valahol még használná ezt a függvényt.

C++ programmer at Gameloft


Idézetet írta: 5310pati Dátum 2018-04-07, 16:34:27
Hát de épp ez a lényeg, v áthúzás előtt megszenvednek a duplával, vagy hagyják a fenébe. :-X
Mondjuk, lehet valahol igazad van, és ezzel adtál egy ötletet is. Köszönöm.
Viszont van egy fegyver, amibe nem lehet ÁK/KK-t tenni pedig alapból nincs benne, csak az áthúzás előtti értékben, erre esetleg van ötleted?

Item proto, addon_type aszem 1-re
if (pProto && pProto->sAddonType)
{
ApplyAddon(pProto->sAddonType);
}