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 142

Tengrist

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
1.054
Çözümler
38
Beğeni
782
Puan
1.109
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.
 
Geri
Üst