Map ismine göre Objelere/Binalara/Npc'lere vs Takılmayı kapatmak

  • Konuyu açan Konuyu açan Tengrist
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 176

Tengrist

Yasaklanmış Üye
Cezalı
Yardımsever Üye
Mesaj
1.388
Çözümler
43
Beğeni
1.241
Puan
1.309
Ticaret Puanı
0
Oto avda müşterilerim objesiz mapler istiyorlar dümdüz ve estetikten uzak oluyor onun yerine objelerin vs içinden geçme mevzusunu aktif etmeyi araştırdım yıllar önce vegas paylaşmış
Şu fonksiyonu bul:Client SRC içine gir GameLib dosyası içine gir ActorInstanceCollisionDetection.cpp aç ve içinde bul: BOOL CActorInstance::TestActorCollision


C++:
Genişlet Daralt Kopyala
BOOL CActorInstance::TestActorCollision(CActorInstance & rVictim)
{
    [........................]
    const std::string c_rstrAtlasMapNames[] =
    {
        "metin2_map_a1",
        "metin2_map_a3",
        "metin2_map_b1",
        "metin2_map_b3",
        "metin2_map_c1",
        "metin2_map_c3",
        "season2/metin2_map_skipia_dungeon_01",
        "season2/metin2_map_skipia_dungeon_02",
        "metin2_map_duel"
    };
   
    const std::string & c_rstrMapName = CPythonBackground::Instance().GetWarpMapName();
    for (size_t i = 0; i < _countof(c_rstrAtlasMapNames); ++i)
    {
        if (!c_rstrMapName.compare(c_rstrAtlasMapNames[i]))
        {
            if (rVictim.IsEnemy() || rVictim.IsPoly() || rVictim.IsObject() || rVictim.IsNPC() || rVictim.IsBuilding()|| rVictim.IsPC()) // IsNPC(), IsEnemy(), IsStone(), IsWarp(), IsGoto(), IsBuilding(), IsDoor(), IsObject()
                return false;
        }
    }
}

bu değişiklik sayesinde tabloya yazdığınız maplerde objelere npclere binalara oyunculara takılmayacaksınız, tabloya kullanmak istediğiniz mapin packteki adını girin. Otoav kullananlar otoavın daha sağlıklı çalışması için metinlere çarpışmayı pack taraflı kapatın.

EK OLARAK: Kullanmak istediğiniz maplerde server taraflı bloklama varsa objelerin altında World Editor programından silip, yeni server attr oluşturup winscp taraflı map klasöründeki server attryi ve packteki map dosyasını bloklamasını kaldırdığınız map dosyasıyla değişin. Bu sadece mdatr ile olan collision ı siler.
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst