Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
oto av sistemi sadece metin taşlarına saldıracak şekilde uyarladım.
fakat ne yaparsam yapayım en yakındaki slottan başlamıyor.
en uzaktakide diyemiyecem kafasına göre uzaklık seçip saldırıyor.
bunu nasıl düzeltebilirim.
CInstanceBase * CPythonCharacterManager::GetTabNextTargetPointer(CInstanceBase * pkInstMain, bool bAutoHunt)
{
if (!pkInstMain)
{
ResetTabNextTargetVectorIndex();
return nullptr;
}
if (!pkInstMain->GetAutoHuntStatus() == false)
return nullptr;
struct FCharacterManagerInstanceTarget
{
CInstanceBase * pkInstMain;
bool bAutoHunt;
FCharacterManagerInstanceTarget(CInstanceBase * pInstance, bool bAutoHunt) : pkInstMain(pInstance), bAutoHunt(bAutoHunt) {}
inline void operator () (const std:
air<DWORD, CInstanceBase *>& itor)
{
const auto pkInstTarget = itor.second;
if (!pkInstTarget || pkInstTarget == pkInstMain || !pkInstTarget->IsStone())
return;
const auto fRadiusDistance = pkInstMain->GetDistance(pkInstTarget);
if (bAutoHunt)
if (fRadiusDistance < 9500.0f)
m_vecTargetInstance.push_back(pkInstTarget);
}
std::vector<CInstanceBase *> m_vecTargetInstance;
};
FCharacterManagerInstanceTarget f(pkInstMain, bAutoHunt);
f = std::for_each(m_kAliveInstMap.begin(), m_kAliveInstMap.end(), f);
const auto kTargetCount = f.m_vecTargetInstance.size();
if (kTargetCount == 0)
{
ResetTabNextTargetVectorIndex();
return nullptr;
}
if (GetTabNextTargetVectorIndex() >= kTargetCount - 1)
ResetTabNextTargetVectorIndex();
return f.m_vecTargetInstance.at(++m_adwVectorIndexTabNextTarget);
}
fakat ne yaparsam yapayım en yakındaki slottan başlamıyor.
en uzaktakide diyemiyecem kafasına göre uzaklık seçip saldırıyor.
bunu nasıl düzeltebilirim.
CInstanceBase * CPythonCharacterManager::GetTabNextTargetPointer(CInstanceBase * pkInstMain, bool bAutoHunt)
{
if (!pkInstMain)
{
ResetTabNextTargetVectorIndex();
return nullptr;
}
if (!pkInstMain->GetAutoHuntStatus() == false)
return nullptr;
struct FCharacterManagerInstanceTarget
{
CInstanceBase * pkInstMain;
bool bAutoHunt;
FCharacterManagerInstanceTarget(CInstanceBase * pInstance, bool bAutoHunt) : pkInstMain(pInstance), bAutoHunt(bAutoHunt) {}
inline void operator () (const std:
air<DWORD, CInstanceBase *>& itor){
const auto pkInstTarget = itor.second;
if (!pkInstTarget || pkInstTarget == pkInstMain || !pkInstTarget->IsStone())
return;
const auto fRadiusDistance = pkInstMain->GetDistance(pkInstTarget);
if (bAutoHunt)
if (fRadiusDistance < 9500.0f)
m_vecTargetInstance.push_back(pkInstTarget);
}
std::vector<CInstanceBase *> m_vecTargetInstance;
};
FCharacterManagerInstanceTarget f(pkInstMain, bAutoHunt);
f = std::for_each(m_kAliveInstMap.begin(), m_kAliveInstMap.end(), f);
const auto kTargetCount = f.m_vecTargetInstance.size();
if (kTargetCount == 0)
{
ResetTabNextTargetVectorIndex();
return nullptr;
}
if (GetTabNextTargetVectorIndex() >= kTargetCount - 1)
ResetTabNextTargetVectorIndex();
return f.m_vecTargetInstance.at(++m_adwVectorIndexTabNextTarget);
}
