Are these values based on item level? +1 +15
Yep. Support to +15, ex opt item too. You can edit the addition values if you want, that reason why i dont push values by asm inline.
//ItemType ItemIndex DamageMin DamageMax Defense MagicDefense
7 189 * * 273 0
0 42 252 263 * *
end
Esta es otra manera de utilizarla desde getmainInfo..
Hola @takumi12 , gracias por aportar, soy algo novato aún en c++, me sale que "MAX_CUSTOM_ITEM_INFO" y "MAX_CUSTOM_ITEM_INFO" no están declarados, como soluciono esto? Elimine todo el codigo principal y solo estoy trabajando con el que aportaste. Gracias de antemano.
#define MAX_CUSTOM_ITEM_INFO 1000
En el customiteminfo.h
Si si ya lo había solucionado jajaja, justo venía a preguntar otra cosita :c
Me salen varios errores diciendo lo mismo:
1>ItemInfoEx.cpp(286): error C2039: 'MagicDefense' : no es un miembro de 'ObjectItem'
ItemInfoEx.cpp(263): error C2039: 'Defense' : no es un miembro de 'ObjectItem'
@SaintZeus Gracias igual bro ♥
reemplaza por tu struc
#pragma pack(push, 1)
typedef struct //-> Complete (size: 107)
{
/*+0*/ short ItemID;
/*+2*/ int Level;
/*+6*/ char Unknown6;
/*+7*/ char Unknown7;
/*+8*/ char Unknown8;
/*+9*/ WORD DamageMin;
/*+11*/ WORD DamageMax;
/*+13*/ char Unknown13;
/*+14*/ WORD Defense;
/*+16*/ WORD MagicDefense;
/*+18*/ char Unknown18;
/*+19*/ char Unknown19;
/*+20*/ short Unknown20;
/*+22*/ char Durability;
/*+23*/ char ExcellentOption;
/*+24*/ char AncientOption;
/*+25*/ short ReqStrenght;
/*+27*/ short ReqDextirity;
/*+29*/ short ReqEnergy;
/*+31*/ short ReqVitality;
/*+33*/ short ReqCommand;
/*+35*/ short ReqLevel;
/*+37*/ char SpecialCount;
/*+38*/ WORD SpecialType[8];
/*+54*/ BYTE SpecialValue[8];
/*+62*/ int UniqueID;
/*+66*/ char Unknown66;
/*+67*/ char PosX;
/*+68*/ char PosY;
/*+69*/ WORD HarmonyType;
/*+71*/ short HarmonyValue;
/*+73*/ char Is380Item;
/*+74*/ char SocketOption[5];
/*+79*/ char Unknown79;
/*+80*/ char SocketSeedIndex[5];
/*+85*/ char SocketSphereLevel[5];
/*+90*/ char SocketSet;
/*+91*/ BYTE gap01[5];
/*+96*/ char DurabilityState;
/*+97*/ char PeriodItem;
/*+98*/ char ExpiredItem;
/*+99*/ int ExpireDateConvert;
/*+103*/ int Unknown103;
} ObjectItem, * lpItemObj;
#pragma pack(pop)
Gracias mi amor, por eso te amo xD
@melo920 me podrías ayudar ahora con esta parte del código de
@takumi12 if(ITEM(lpInfo->ItemType,lpInfo->ItemIndex) == ItemIndex)
{
gInfoLog.Output(LOG_KILLERS,"item %d,%d",this->m_CustomItemInfoEx[n].ItemType,this->m_CustomItemInfoEx[n].ItemIndex);
return lpInfo;
}
Me salía que "gInfoLog" y "LOG_KILLERS" no estaban declarado, los declare con "#define LOG_KILLERS 1000" y "#define gInfoLog 1000", ahora me esto:
CustomItemInfo.cpp(71): error C2228: el operando izquierdo de '.Output' debe tener class/struct/union
1> el tipo es 'int'
Es lo único que me sale. Gracias de antemano.