SolvedErro no GetPlayerByIndex()

Posts 1–12 of 12 · Page 1 of 1
Erro no GetPlayerByIndex()
Se alguém puder me ajudar, por favor..

Eu estou tentando pegar os jogadores por Index.. E estou rodando essa função que é simples e deveria retornar o nome do jogador porém nem isso está funcionando... a função para depois do sprintf_s que mostra o valor do ulThis "This: 0"..

Dá erro de "access violation"..

Code:
void findPlayer()
{
	GetPlayerByIndex = (lpGetPlayerByIndex) ADDR_PLAYERBYINDEX;

	unsigned long ulThis = *(unsigned long *) ADDR_CLIENTINFOMGR;

	sprintf_s(sPlayerName, "This: %x", ulThis);

	cPlayerInfo* pPlayer = GetPlayerByIndex(ulThis, 1, 0);

	sprintf_s(sPlayerName, "pPlayer: %x", pPlayer);

	if (pPlayer)
	{
		sprintf_s(sPlayerName, 12, "%s", pPlayer->pName);
	}
}
posso estar enganado, mas, precisaria de uma conversão por pPlayer ser ponteiro.
ele dá erro na função GetPlayerByIndex.. nem chega a retornar
Tente modificar o codigo depois de cPlayerInfo* pPlayer = GetPlayerByIndex
po.. zoaram meu tópico... aí fica difícil... só 1% do fórum veio da programação pro game.. aqueles vão do game pra programação fazem essa baderna..
Se querem zuar, vão para a seção spam! !
Code:
void findPlayer()
{
	GetPlayerByIndex = (lpGetPlayerByIndex) ADDR_PLAYERBYINDEX;

	unsigned long ulThis = *(unsigned long *) ADDR_CLIENTINFOMGR;

	sprintf_s(sPlayerName, "This: %x", ulThis);

	for(INT i = 0; i < 16; i++) 
	{	
	cPlayerInfo* pPlayer = GetPlayerByIndex(ulThis, i, 0);

	sprintf_s(sPlayerName, "pPlayer: %x", pPlayer);

	if (pPlayer)
	{
		sprintf_s(sPlayerName, 12, "%s", pPlayer->pName);
	}
}
}
talvez eu tenha algum endereço errado ou a classe cPlayerInfo esteja incorreta.. esse código que você postou só lista todos os jgadores mas se não funciona com nem 1 .. com todos não vai funcionar também...

o erro que dá é de access violation.. o processo finaliza.. deve ser algum endereço errado ou então a classe pode estar com tamanho diferente.. não sei.. sei que não rola

se alguém puder me dizer se a classe mais atual está disponível em algum lugar eu agradeço.. e se os endereços são esses mesmos..

estou usando essa classe:

Code:
class cPlayerInfo
{
public:
	__int32 pPing; //0x0000 
	__int32 Index; //0x0004 
char _0x0008[8];
	char pName[12]; //0x0010 
char _0x001C[12];
	int* Object; //0x0028 
	__int32 pKills; //0x002C 
	__int32 pDeaths; //0x0030 
char _0x0034[52];
	__int32 pFTMission; //0x0068 
char _0x006C[4];
	__int32 pTeam; //0x0070 
char _0x0074[4];
	BYTE pIsDead; //0x0078 
char _0x0079[319];
	__int32 pRank; //0x01B8 
char _0x01BC[80];
	__int32 pFTScore; //0x020C 
	BYTE pFTSpawn; //0x0210 
char _0x0211[3];
	__int32 pFTLongestLife; //0x0214 
	__int32 pFTKill; //0x0218 
char _0x021C[84];
	cPlayerInfo* PlayerNext; //0x0270 
};//Size=0x0274
e esses endereços

Code:
#define ADDR_CLIENTINFOMGR 0x377E0EAC
#define ADDR_PLAYERBYINDEX 0x37151B40
@Psychlo .
Na sua classe, existem linhas que não coincidem com a mais recente .

E a questão dos endereços do ClientInfo :

0x377E0EAC = FUNCIONA PRA MIM .
Tanto quanto o antigo => 0x3779CDAC
Posts 1–12 of 12 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?