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 155

Tengrist

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
1.316
Çözümler
41
Beğeni
1.095
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.
 
Geri
Üst