CORREÇÃO PARA A VERSÃO 97D
Código:
bool TSBug::CheckPosition(DWORD aIndex, WORD Target)
{
if(lpObj[aIndex].MapNumber == lpObj[Target].MapNumber)
{
if(lpObj[Target].X >= (lpObj[aIndex].X - 4) && lpObj[Target].X <= (lpObj[aIndex].X + 4))
{
if(lpObj[Target].Y >= (lpObj[aIndex].Y - 4) && lpObj[Target].Y <= (lpObj[aIndex].Y + 4))
{
return true;
}
}
}
return false;
}
Função gObjAttack com o fix
Código:
void gObjAttackEX::InitgObjAttack(OBJECTSTRUCT* lpObj, OBJECTSTRUCT* lpTargetObj, void * lpMagic, BOOL magicsend, BYTE MSBFlag, int AttackDamage)
{
if(!TSBug::CheckPosition(lpObj->m_Index,lpTargetObj->m_Index))
{
return;
}
gObjAttack(lpObj, lpTargetObj, lpMagic, magicsend, MSBFlag, AttackDamage);
}
Função gObjAttack original
Código:
Offsets.h
typedef int (*pgObjAttack)(OBJECTSTRUCT* lpObj, OBJECTSTRUCT* lpTargetObj,void*lpMagic, BOOL magicsend, BYTE MSBFlag, int AttackDamage);
extern pgObjAttack gObjAttack;
Offsets.cpp
pgObjAttack gObjAttack = (pgObjAttack)0x004677A0;
Offset para hook da função gObjAttack
Créditos : antonio.fr