[CODE title="wait"]void SwordWaithack()
{
D3DVECTOR oldPosition;
GameFunctions::InstanceBaseNEW_GetPixelPosition(GameFunctions:
layerNEW_GetMainActorPtr(), &oldPosition);
D3DVECTOR newPosition;
map<DWORD, DWORD*> objectList = GameFunctionsCustom::GetObjectList(OBJECT_MOB | OBJECT_BOSS | OBJECT_STONE | OBJECT_PC, Settings::MAIN_WH_DISTANCE_VALUE);
for (map<DWORD, DWORD*>::iterator itor = objectList.begin(); itor != objectList.end(); itor++)
{
DWORD vid = itor->first;
DWORD type = GameFunctions::InstanceBaseGetInstanceType(itor->second);
bool isBoss = GameFunctionsCustom::InstanceIsBoss(itor->second);
if (WHCanAttack(type, isBoss) == false)
{
continue;
}
GameFunctions::InstanceBaseNEW_GetPixelPosition(GameFunctions:
layerNEW_GetMainActorPtr(), &oldPosition);
GameFunctions::InstanceBaseNEW_GetPixelPosition(itor->second, &newPosition);
if (Settings::MAIN_WAITHACK_RANGE_ENABLE)
{
vector< D3DVECTOR> distancePoints = MiscExtension:
ivideTwoPointsByDistance(Settings::MAIN_WH_DISTANCE_STEP, oldPosition, newPosition);
int i = 0;
for (vector< D3DVECTOR>::iterator it = distancePoints.begin(); it != distancePoints.end(); ++it)
{
GameFunctions::NetworkStreamSendCharacterStatePacket(D3DVECTOR{ it->x, it->y, it->z }, 0, 0, 0);
i++;
}
}
GameFunctionsCustom::NetworkStreamSendAttackPacket(0, vid);
if (Settings::MAIN_WAITHACK_RANGE_ENABLE)
{
vector< D3DVECTOR> distancePoints = MiscExtension:
ivideTwoPointsByDistance(Settings::MAIN_WH_DISTANCE_STEP, newPosition, oldPosition);
int i = 0;
for (vector< D3DVECTOR>::iterator it = distancePoints.begin(); it != distancePoints.end(); ++it)
{
GameFunctions::NetworkStreamSendCharacterStatePacket(D3DVECTOR{ it->x, it->y, it->z }, 0, 0, 0);
i++;
}
}
}
}[/CODE]