- Katılım
- 19 Kas 2009
- Konular
- 1,185
- Mesajlar
- 4,186
- Online süresi
- 26g 11277s
- Reaksiyon Skoru
- 2,666
- Altın Konu
- 32
- Başarım Puanı
- 344
- TM Yaşı
- 16 Yıl 5 Ay 5 Gün
- MmoLira
- 18,398
- DevLira
- 90
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
GuardNPC olan npcler kendi krallığından olmayan oyunculara saldırıp anında öldürüyor.
char.cpp:
bool CHARACTER::IsGuardNPC() const
{
return IsNPC() && (GetRaceNum() == 11000 || GetRaceNum() == 11001 || GetRaceNum() == 11002 || GetRaceNum() == 11003 || GetRaceNum() == 11004 || GetRaceNum() == 11005);
}
//GetRaceNum() == xxxx --> xxx alanı npc vnum'udur. İstediğiniz kadar npcyi || ile ayırıp ekleyebilirsiniz.
char_state.cpp:
void CHARACTER::__StateIdle_NPC() üstüne ekle.
class FuncGuardFindVictim
{
public:
FuncGuardFindVictim(LPCHARACTER pkChr) :
m_pkChr(pkChr),
m_pkVictim(nullptr),
m_iMaxDistance(pkChr->GetMobAttackRange())
{}
void operator()(LPENTITY ent)
{
if (!ent->IsType(ENTITY_CHARACTER))
return;
LPCHARACTER pkChr = static_cast<LPCHARACTER>(ent);
if (pkChr->IsPC() && pkChr->GetEmpire() != m_pkChr->GetEmpire())
{
int iDistance = DISTANCE_APPROX(m_pkChr->GetX() - pkChr->GetX(), m_pkChr->GetY() - pkChr->GetY());
if (iDistance <= m_iMaxDistance)
{
m_pkVictim = pkChr;
}
}
}
LPCHARACTER GetVictim() const
{
return m_pkVictim;
}
private:
LPCHARACTER m_pkChr;
LPCHARACTER m_pkVictim;
int m_iMaxDistance;
};
else if (IsGuardNPC()) bu else ifi komple aşağıdaki ile değiştir.
else if (IsGuardNPC())
{
if (!quest::CQuestManager::instance().GetEventFlag("noguard"))
{
FuncGuardFindVictim f(this);
if (GetSectree())
{
GetSectree()->ForEachAround(f);
}
LPCHARACTER victim = f.GetVictim();
if (victim)
{
m_dwStateDuration = passes_per_sec / 2;
if (CanBeginFight())
{
BeginFight(victim);
}
}
}
}
- Katılım
- 26 Tem 2023
- Konular
- 442
- Mesajlar
- 5,604
- Online süresi
- 2ay 24g
- Reaksiyon Skoru
- 3,218
- Altın Konu
- 133
- Başarım Puanı
- 249
- TM Yaşı
- 2 Yıl 8 Ay 29 Gün
- MmoLira
- 49,879
- DevLira
- 12
Eline sağlık
- Katılım
- 22 Eki 2024
- Konular
- 71
- Mesajlar
- 401
- Online süresi
- 1ay 10g
- Reaksiyon Skoru
- 413
- Altın Konu
- 0
- Başarım Puanı
- 113
- TM Yaşı
- 1 Yıl 5 Ay 29 Gün
- MmoLira
- 20,101
- DevLira
- 108
Paylaşım için Teşekkürler
- Katılım
- 15 Kas 2022
- Konular
- 2
- Mesajlar
- 251
- Online süresi
- 18g 14659s
- Reaksiyon Skoru
- 17
- Altın Konu
- 0
- Başarım Puanı
- 57
- TM Yaşı
- 3 Yıl 5 Ay 6 Gün
- MmoLira
- 5,092
- DevLira
- 0
paylaşım için teşekkürler
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 239
- Cevaplar
- 0
- Görüntüleme
- 184
- Cevaplar
- 3
- Görüntüleme
- 672
- Cevaplar
- 9
- Görüntüleme
- 498















