[C++] Stop collision shop/pet/mount + NPC

Închis
Avatar utilizator
.Duh
Mister Just4Metin

Mister Just4Metin
Mesaje: 435
Membru din: 06 Dec 2015, 22:22
Regat: Shinsoo
Aprecieri: 262  
Mulţumiri: 302  
Discord: Copiază ID
Medalii

Imagine


Scurt și la obiect.. poți trece prin shop-uri/pet-uri etc.. Baftă !

UserInterface>Locale_inc.h
#ifdef ENABLE_STOP_COLLISIONS
	#define ENABLE_SHOPS_WITHOUT_COLLISIONS
	#define ENABLE_PETS_WITHOUT_COLLISIONS
	#define ENABLE_MOUNTS_WITHOUT_COLLISIONS
	#define ENABLE_NPC_WITHOUT_COLLISIONS
#endif

GameLib>ActorInstanceCollisionDetection.cpp
Pe la început pui :
#include "../UserInterface/Locale_inc.h"

Cauți:
BOOL CActorInstance::TestActorCollision(CActorInstance & rVictim)
{
/*
	if (m_pkHorse)
	{
		if (m_pkHorse->TestActorCollision(rVictim))
			return TRUE;

		return FALSE;
	}
*/

	if (rVictim.IsDead())
		return FALSE;
	[...]

Sub pui:
#ifdef ENABLE_SHOPS_WITHOUT_COLLISIONS
	if (rVictim.GetRace()>=30000 && rVictim.GetRace()<=30001)
		return FALSE;
#endif


#ifdef ENABLE_PETS_WITHOUT_COLLISIONS
	if (rVictim.GetRace()>=34001 && rVictim.GetRace()<=34099)
		return FALSE;
#endif

#ifdef ENABLE_MOUNTS_WITHOUT_COLLISIONS
	if (rVictim.GetRace()>=20101 && rVictim.GetRace()<=20299)
		return FALSE;
#endif

#ifdef ENABLE_NPC_WITHOUT_COLLISIONS
int MOB_LIST = { 30000, 3777  } // Aici pui codurile npc-urilor.
if (std::find(std::begin(MOB_LIST), std::end(MOB_LIST), rVictim.GetRace()) != std::end(MOB_LIST))
		return FALSE;
#endif
Avatar utilizator
FRANCIS
Administrator Adjunct

Administrator Adjunct
Mesaje: 7879
Membru din: 06 Noi 2015, 19:52
Regat: Chunjo
Aprecieri: 334  
Mulţumiri: 54529  
Discord: Copiază ID
Medalii

Dublu post

[ Postat de pe Android ] Imagine
If you talk to a man in a language he understands, that goes to his head. If you talk to him in his own language, that goes to his heart.
Imagine
ENJOY
Imagine
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
338
Răspunsuri
5
Vizualizări
415

Înapoi la “Arhivă”

  • Informaţie