- Mesaj
- 3.843
- Çözümler
- 135
- Beğeni
- 3.124
- Puan
- 1.840
- Ticaret Puanı
- 3
Selamlar. Optimizasyonum nasıl diye çok metin çağırdım ama baktım içlerinden geçilmiyor. Araştırdım. Bizim forumda da yokmuş. Artık var. Hayırlı kullanımlar. Npc definesini kapatırsanız eğer sadece pet, pazar ve bineklerin içinden geçecektir. Eğer npc definesi açıksa her şeyin içinden geçecektir. IsStone kontrolünü ben ekledim çünkü metinlerin içinden geçmiyordu. Metinlerin içinden geçmesini kapatmak istiyorsanız IsStone kontrolünü de manuel kapatın.
ActorInstanceCollisionDetection:
#define ENABLE_NPC_WITHOUT_COLLISIONS
#ifndef ENABLE_NPC_WITHOUT_COLLISIONS
#define ENABLE_PETS_WITHOUT_COLLISIONS
#define ENABLE_SHOPS_WITHOUT_COLLISIONS
#define ENABLE_MOUNTS_WITHOUT_COLLISIONS
#endif
BOOL CActorInstance::TestActorCollision(CActorInstance& rVictim)
{
if (rVictim.IsDead())
return FALSE;
if (rVictim.IsStone())
return FALSE;
#ifdef ENABLE_NPC_WITHOUT_COLLISIONS
if (rVictim.IsNPC())
return FALSE;
#endif
#ifdef ENABLE_PETS_WITHOUT_COLLISIONS
if (rVictim.GetRace() >= 34001 && rVictim.GetRace() <= 34099)
return FALSE;
#endif
#ifdef ENABLE_SHOPS_WITHOUT_COLLISIONS
if (rVictim.GetRace() >= 30000 && rVictim.GetRace() <= 30001)
return FALSE;
#endif
#ifdef ENABLE_MOUNTS_WITHOUT_COLLISIONS
if (rVictim.GetRace() >= 20101 && rVictim.GetRace() <= 20299)
return FALSE;
#endif