- 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
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.
Şu fonksiyonu bul:Client SRC içine gir GameLib dosyası içine gir ActorInstanceCollisionDetection.cpp aç ve içinde bul: BOOL CActorInstance::TestActorCollision
C++:
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.