Jump to content

[C++] Mob Target System


steffan95

Recommended Posts

59mDg.jpg

.eJwNyMENwyAMAMBdGACDnYKdZSpEEEmVFATuq-ruzeM-9zWfcZrV7Kp9rgDbMXMbm53aRqrF1tbqWVI_ps3tgqSa8n6Vt05A8UEc4cLsmUh4uSuwC17QRRf5RuDIxycixYfYV6_m9wd-2iJA.u2PPE9HT4seHZNaFaHnitO1SurI?width=745&height=513

 

 

Fix crash core:

 

Open input_main.cpp and search:

 

 

PCHARACTER m_pkChrTarget = CHARACTER_MANAGER::instance().Find(p->dwVID);
 

 

 

Add under that function this:

 

 

if (!ch || !m_pkChrTarget)
return;
 

 

 

Need looks like this:

 

qM7Qb.jpg

 

Download 1 : http://www.mediafire.com/file/rbbzy0t8c4d0s8b/Target_Information_System.rar

 

Download 2 : http://www.girlshare.ro/3489671292.8

 

 

 

Good luck :)

  • Like 6
Link to comment
  • 1 month later...

Na parte da source em /game/char.h ele diz para procurar por

// Search for:

//////////////////////////////////////////////////////////////////////////////////

// Basic Points

 

eu tento e não encontro ... alguém me pode ajudar? é que ja adicionei em baixo de tudo o que me pediram

// Add (Under):

#ifdef __SEND_TARGET_INFO__

private:

DWORD dwLastTargetInfoPulse;

 

public:

DWORD GetLastTargetInfoPulse() const { return dwLastTargetInfoPulse; }

void SetLastTargetInfoPulse(DWORD pulse) { dwLastTargetInfoPulse = pulse; }

#endif

 

e não sei onde meter porque nao encontro e se meto noutro lado no char.h ele da-me erro ...

Link to comment
  • 3 weeks later...
  • 6 months later...
5 hours ago, L2P said:

clico no "?" abre mas se tiver drops segundos depois aparece " deixou de funcionar " e cliente fecha...
Não acusa erros :/ 

Experimenta adicionar isto no inicio  do ficheiro Packet.h do game:

#include "../../common/service.h"

De seguida faz gmake clean e volta a compilar game/db

Se voltar a cair, vê o syserr do ch e core onde estiver a personagem

Link to comment
39 minutos atrás, Tierri Lopes disse:

heart_idle = servidor laga, máquina é demasiado fraca.

Tenho uma maquina da blazing de 5€  e uma de 10€ num host romeno ( penso que não seja da maquina )
 

39 minutos atrás, Tierri Lopes disse:

Experimenta eliminar todos os drops e meter apenas a dropar 1 item no mob 101 por exemplo, ver se ainda acontece

tentei e ocorre o mesmo, fecha.


Acho que tem a ver com outro sistema que tinha, pois estava a dar erro no binário por causa disto:


#define WJ_SHOW_MOB_INFO
#ifdef WJ_SHOW_MOB_INFO
#define ENABLE_SHOW_MOBAIFLAG
#define ENABLE_SHOW_MOBLEVEL
#endif

(eu comentei isto e deu  para compilar o exe )

Edited by L2P
Link to comment

Para ativares WJ_SHOW_MOB_INFO

Tens de ter a certeza que a função abaixo está apenas definida uma vez em PythonNonPlayer.cpp

DWORD CPythonNonPlayer::GetMonsterLevel(DWORD dwVnum)
{
	const CPythonNonPlayer::TMobTable * c_pTable = GetTable(dwVnum);
	if (!c_pTable)
	{
		DWORD level = 0;
		return level;
	}

	return c_pTable->bLevel;
}

Pois ambos os sistema têm essa função em comum. Em PythonNonPlayer.h apenas pode constar uma vez também o seguinte:

		DWORD				GetMonsterLevel(DWORD dwVnum);

 

Em relação à parte source do sistema, está exatamente igual como na minha. Experimenta compilar binário em modo debug para ver se algum erro é detectado assim como rever a parte do cliente.

Vê também se quando cliente vai abaixo, é gerado um game.core no ch onde está a personagem

  • Like 1
Link to comment
8 minutos atrás, Tierri Lopes disse:

Para ativares WJ_SHOW_MOB_INFO

Tens de ter a certeza que a função abaixo está apenas definida uma vez em PythonNonPlayer.cpp


DWORD CPythonNonPlayer::GetMonsterLevel(DWORD dwVnum)
{
	const CPythonNonPlayer::TMobTable * c_pTable = GetTable(dwVnum);
	if (!c_pTable)
	{
		DWORD level = 0;
		return level;
	}

	return c_pTable->bLevel;
}

Pois ambos os sistema têm essa função em comum. Em PythonNonPlayer.h apenas pode constar uma vez também o seguinte:


		DWORD				GetMonsterLevel(DWORD dwVnum);

 

Em relação à parte source do sistema, está exatamente igual como na minha. Experimenta compilar binário em modo debug para ver se algum erro é detectado assim como rever a parte do cliente.

Vê também se quando cliente vai abaixo, é gerado um game.core no ch onde está a personagem

Eu queria remover o outro e ficar apenas com o target, irei testar isso 
Eu tenho apenas um 

GetMonsterLevel 

em cada um deles 

 

Edited by L2P
Link to comment
4 minutos atrás, Tierri Lopes disse:

Tens um GetMonsterLevel em cada um deles, o que quis dizer é que só poder ter uma função no total com esse nome (tens de apagar de um dos sistemas)

___

Nenhum erro relativo a unknow packet header no syserr do servidor nem nada no binario em modo debug?

Eu removi tudo do outro sistema tem 2 vezes :

GetMonsterLevel

mas no tut tem nos dois ficheiros

 

Link to comment
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...