Hikayeler

Reklam vermek için turkmmo@gmail.com

Tetra Otomatik Patron Spawn (Saate göre)

5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

paylaşım için teşekkürler.
 
fikir iyi ancak gördüğüm kadarıyla kesilmemiş boss için herhangi bir kontrol yok. Boss kesilmediyse tekrar spawn atacak ve aynı yerde iki tane boss olacak. Bunu da koda eklemeni öneririm.
 
Paylaşım için teşekkürler eline sağlık.
Düzeltme: Boss hala yaşıyorsa aynı anda iki boss spawn olmaması için




char_manager.cpp:
//ara
 
    m_iMobExpRate = 100;
 
//altina ekle
 
#ifdef TETRA_[HASH=2]#ifdef[/HASH]DI
    m_iLastSurgunSpawnTime = -1;
    m_dwLastSurgunBossVID = 0;
#endif
 
 
 
[HASH=3]#endif[/HASH]lta ekle
 
#ifdef TETRA_[HASH=2]#ifdef[/HASH]DI
void CHARACTER_MANAGER::AutoSurgunSpawn()
{
 
    time_t now = time(0);
    struct tm* vKey = localtime(&now);
 
    // 2. Saat Kontrolü(Sadece saat tam 12:00 veya 00:00 iken spawnla)
    if (((vKey->tm_hour == 12 && vKey->tm_min == 0) || (vKey->tm_hour == 0 && vKey->tm_min == 0)))
    {
        if (m_iLastSurgunSpawnTime != vKey->tm_hour)
        {
            /* Boss kesilmeden tekrar spawn atilmasin: onceki boss hala yasiyorsa atlama */
            if (m_dwLastSurgunBossVID != 0)
            {
                LPCHARACTER pExisting = Find(m_dwLastSurgunBossVID);
                if (pExisting && !pExisting->IsDead())
                {
                    sys_log(0, "OTOMATIK_SPAWN: Onceki boss (VID %u) hala yaşıyor, spawn atlanıyor.", m_dwLastSurgunBossVID);
                    return;
                }
                m_dwLastSurgunBossVID = 0;
            }
 
            // Ayarlar
            DWORD mobVnum = 1192; //Mob kodu
            long mapIndex = 72;   // Sürgün 1. Kat Indexi
            long x = 136426;      // oyundayken /state yazarak x y bilgisi alinir
            long y = 1343407;     
 
            // Mobu olustur
            LPCHARACTER ch = SpawnMob(mobVnum, mapIndex, x, y, 0, false, -1);
 
            if (ch) {
                m_dwLastSurgunBossVID = ch->GetVID();
                SendNotice("Sürgün Mağarasının derinliklerinde Güçlü Buz Cadısı belirdi!");
                sys_log(0, "OTOMATIK_SPAWN: %d vnumlu mob sürgün sonuna atıldı. Saat: %d", mobVnum, vKey->tm_hour);
                
                m_iLastSurgunSpawnTime = vKey->tm_hour;
            }
        }
    }
}
#endif
#endif
 
Son düzenleme:

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

Geri
Üst