posso estar enganado, mas, precisaria de uma conversão por pPlayer ser ponteiro.
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); } }
Last edited by BACKD00R; 02-23-2012 at 01:53 PM.
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
Last edited by darklegollas; 02-21-2012 at 06:31 AM.
- WellingtonWTC -
Last Hack [CABR]:WellingtonWTC v1.9B Status: Detected.
Next Hack [CABR]:Dead.
MSN:WellingtonWTC@live.com
@Psychlo se nem compila posta aqui o erro que dá
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..
@Psychlo posts inuteis excluidos.
Agora poste os erros que dao
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:
e esses endereçosCode: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
Code:#define ADDR_CLIENTINFOMGR 0x377E0EAC #define ADDR_PLAYERBYINDEX 0x37151B40
Last edited by Psychlo; 02-23-2012 at 01:06 AM.
@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
Last edited by Turbulence; 02-23-2012 at 01:45 PM.
[IMG]https://especiais.lancene*****m.br/santos-campeao-libertadores-2011/images/escudo-santos.png[/IMG]