noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bvural41 1
Bvural41
mavzermete 1
mavzermete
kaptanmikro1 1
kaptanmikro1
Reklam vermek için turkmmo@gmail.com

Basit bir blok kod

  • Konuyu başlatan Konuyu başlatan OwnerShip
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 14
  • Görüntüleme Görüntüleme 2K
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler
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.
1705109548498.png

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
1705109677361.png

İ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) const
{
itertype(m_map_dwMobKillCount) it = m_map_dwMobKillCount.find(dwVnum);

if (it == m_map_dwMobKillCount.end())
return false;

return true;
}[/CODE]

Örnek kullanım;
1705109886071.png
 
teşekkürler.

C++:
bool CHARACTER_MANAGER::IsBeenKilledBefore(DWORD dwVnum) const
{
    auto it = m_map_dwMobKillCount.find(dwVnum);

    return it != m_map_dwMobKillCount.end();
}
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst