Neden dolayı kullanıldığını henüz bilmiyorum fakat gamede kesilen canavarlar ve adeti tutuluyor
Bende bunu c++ tabanlı zindanlarda veya quest flag vermekten kaçınmak için görevlerde kullanabiliriz
mesela catacomb içine girmek için önce lucifer kesildimi sorgusu yapılabilir.
Burda listeye her vnumdan bir adet ekleniyor yani bu listede vnum hiç yoksa canavar oyun boyunca hiç kesilmemiş demektir
ekstradan bir depolama yapmadan şöyle kontrol ediyorum
İterator son elemana gelene kadar vnumu bulamadıysa fonksiyon false dönüyor yani canavar kesilmedi
[CODE title="Char_manager.cpp"]bool CHARACTER_MANAGER::IsBeenKilledBefore(DWORD dwVnum) constBende bunu c++ tabanlı zindanlarda veya quest flag vermekten kaçınmak için görevlerde kullanabiliriz
mesela catacomb içine girmek için önce lucifer kesildimi sorgusu yapılabilir.
Burda listeye her vnumdan bir adet ekleniyor yani bu listede vnum hiç yoksa canavar oyun boyunca hiç kesilmemiş demektir
ekstradan bir depolama yapmadan şöyle kontrol ediyorum
İterator son elemana gelene kadar vnumu bulamadıysa fonksiyon false dönüyor yani canavar kesilmedi
{
itertype(m_map_dwMobKillCount) it = m_map_dwMobKillCount.find(dwVnum);
if (it == m_map_dwMobKillCount.end())
return false;
return true;
}[/CODE]
Örnek kullanım;
teşekkürler.
C++:
bool CHARACTER_MANAGER::IsBeenKilledBefore(DWORD dwVnum) const
{
auto it = m_map_dwMobKillCount.find(dwVnum);
return it != m_map_dwMobKillCount.end();
}