Am refactorizat eu functia deoarece pentru mine era plina de probleme (crash random) si functia de newpixelpos nu este deloc safe, pofiti.
pythonplayerinputmouse.cpp - replace autofarmloop() cu
Show Spoiler
void CPythonPlayer::AutoFarmLoop()
{
if (m_vecQuqueAutoAttack.empty())
return;
CInstanceBase* pkInstMain = NEW_GetMainActorPtr();
if (!pkInstMain)
return;
if (pkInstMain->IsAttacking())
return;
const DWORD dwVirtualID = GetAutoFarmTarget();
if (dwVirtualID == 0)
return;
if (pkInstMain->IsWalking())
{
if (m_eReservedMode == MODE_CLICK_ACTOR && m_dwVIDReserved == dwVirtualID)
__ReserveProcess_ClickActor();
return;
}
CInstanceBase* pkInstVictim = NEW_FindActorPtr(dwVirtualID);
if (!pkInstVictim || pkInstVictim->IsDead() || !pkInstVictim->IsStone())
{
AutoFarmQuqueSet(false, dwVirtualID);
return;
}
if (!pkInstMain->IsWaiting())
return;
if (__GetTargetVID() != dwVirtualID)
{
SetTarget(dwVirtualID);
OpenCharacterMenu(dwVirtualID);
}
__SetAutoAttackTargetActorID(dwVirtualID);
__ReserveClickActor(dwVirtualID);
__ReserveProcess_ClickActor();
}