Merhaba Arkadaşlar Şimdi
pk botlar üzerinde çalışıyorum
Sorunum Su Pk Botlar
std::set<int16> batiustaIDs = { 11245,19658, 10987, 10447, 10446, 10448 }; // monster kodları.
foreach(itr, unitList)
Kısımda Yazdım Monster Kodlarına vuruyor fakat bu monster kodu değil normalde worm 750 dir oyunun attığı index 10447 veriyor yani [ID 10447 SID 750]
Botlar 750 Değilde 10447 Bunu Seçiyor
Kod:
if (pTarget->isNPC())
{
int16 targetID = pTarget->GetID();
printf("Mob eklendi SID: %d ++ %d \n", targetID, pTarget);
if (batiustaIDs.find(targetID) != batiustaIDs.end())
{
printf("Mob eklendi SID: %d\n", targetID);
casted_member.push_back(pTarget); // Sadece geçerli yaratıklar.
printf("Atak yapılıyor SID: %d\n", targetID);
}
}
kod İçeriği Bu Ben if (pTarget->isMonster()) Yapamıyorum Tanımlayıcı değil diyor
Kod:
if (pTarget->isDead()
|| pTarget->isPlayer() && TO_USER(pTarget)->GetNation() == GetNation() && !g_pMain->isCswActive()
|| pTarget->isPlayer() && !TO_USER(pTarget)->isInPKZone()
|| pTarget->GetZoneID() != GetZoneID()
|| pTarget->isNPC() && !TO_NPC(pTarget)->isMonster()
|| pTarget->isPlayer() && TO_USER(pTarget)->isGM()
|| pTarget->isBot() && TO_BOT(pTarget)->m_sCswAttackTime > UNIXTIME2
|| pTarget->isBot() && TO_BOT(pTarget)->GetNation() == GetNation() && !g_pMain->isCswActive()
|| pTarget->isBot() && !TO_BOT(pTarget)->isInPKZone()
|| pTarget->isBot() && TO_BOT(pTarget)->isInOwnSafetyArea())
continue;
Burdaki Kodu Ekliyor Ama isMonster() tanımlayıcı görüyor yani
ben bunda 750 monuna vurması için ne yapmam gerekiyor
|| pTarget->isNPC() && !TO_NPC(pTarget)->isMonster() Buda Olmadı