
Originally Posted by
demonhunter1996
ta dando erro nessa funsao aew da caixa box
pode arancar isso
---------- Post added at 06:41 PM ---------- Previous post was at 06:40 PM ----------
so eu vendo a base pra dizer serto manda o cod da onde ta o erro
Ta Dizendo que o erro inteiro é isso aki:
//Variaveis
DWORD ClienteFxEntry;
DWORD ClientFX;
//Pontos Memória
cGameClientShell *pGameClientShell;
cLTClientShellBase *pClientShellBase;
cLTModel *pLTModel;
cLTBase *pLTBase;
cPlayerMgr *pPlayerManager;
ClienteInfo *pClientInfoMgr;
LocalInfo *pLocal;
PlayerInfo* PointerJogador;
CLTClient* g_LTClient;
LPDIRECT3DDEVICE9 g_pDevice;
bool ZumbiKill = false;
bool AtivarScene[2] = {false, false};
bool MoverJanela(int &X, int &Y, int W, int H, int index);
void JanelaOpcoes(char* Nome, int &JanelaX, int &JanelaY, int X, int Y, int Tab, int index, LPDIRECT3DDEVICE9 pDevice);
char* Criptografa(const char *plaintext)
{
int len = strlen(plaintext);
char *cyphertext = new char[len + 1];
for(int i = 0; i < len; ++i) {
cyphertext[i] = plaintext[i] - 4;
}
cyphertext[len] = 0;
return cyphertext;
}
void ComandoPush(const char* cmd){
_asm
{
PUSH cmd
MOV EAX, LTClientEXE
CALL EAX
ADD ESP, 0x4
}
}
class InfoJogando
{
public:
BYTE jogando;
};
InfoJogando* cJogando = NULL;
bool Jogando(){
if(!cJogando)
cJogando = (InfoJogando *)GameStatus;
if(cJogando->jogando == 1){
return true;
}
return false;
}
struct Local{
Local(){
Object = NULL;
CameraObject = NULL;
Local_Player = NULL;
}
bool bDead;
int* Object;
int* CameraObject;
unsigned int iIndex,
iTeam,
iGameMode;
D3DXVECTOR3 CameraPos;
PlayerInfo* Local_Player;
};
Local local;
struct Charectors{
Charectors(){
Charector = NULL;
SFXOBJ = NULL;
}
bool bIsDead,
bSpawnShield;
PlayerInfo* Charector;
cCharacterFX* SFXOBJ;
};
Charectors Players[25];
bool ValidPointer( void* p )
{
return !IsBadReadPtr( p, 4 ) && p;
}
bool bValidObject( int i )
{
if( ValidPointer( Players[i].Charector )
&& ValidPointer( Players[i].SFXOBJ )
&& ValidPointer( Players[i].SFXOBJ->Object ) )
return true;
return false;
}
PlayerInfo* JogadorIndex(unsigned char index){
PlayerInfo* player = pClientInfoMgr->JogadorIndex((int)index);
if(!ValidPointer(player)){
return NULL;
}
return player;
}
int EscolheJogador(){
for(int i = 0; i < 24; i++){
if(bValidObject(i) && Caixa[7][5].index){
if(Players[i].Charector->index == Caixa[8][Caixa[7][5].index].index){
if(Caixa[8][Caixa[7][5].index].ID && Caixa[8][Caixa[7][5].index].Ativo && !Players[i].bIsDead){
if(GetAsyncKeyState(VK_MENU)&1)
Caixa[7][5].ID = Caixa[7][5].index;
else {
if(Caixa[2][6].Ativo && !Players[i].bSpawnShield)
return Caixa[7][5].index;
else if(!Caixa[2][6].Ativo)
return Caixa[7][5].index;
}
}
break;
}
}
}
Caixa[7][5].index = NULL;
for(int i = 0; i < 24; i++){
if(bValidObject(i)){
if(Caixa[7][5].ID && Caixa[8][Caixa[7][5].ID].index == Players[i].Charector->index){
Caixa[7][5].ID = NULL;
continue;
}
if(Players[i].bIsDead)
continue;
if(Caixa[2][6].Ativo)
if(Players[i].bSpawnShield)
continue;
for(int j = 1; j < 16; j++){
if(Players[i].Charector->index == Caixa[8][j].index && Caixa[8][j].ID){
if(Caixa[8][j].Ativo)
Caixa[7][5].index = j;
break;
}
}
}
}
return Caixa[7][5].index;
}
PlayerInfo* TeleKill(){
if(!PointerJogador){
PointerJogador = pClientInfoMgr->Primeiro;
}
if(GetAsyncKeyState(VK_RIGHT)&1){
PointerJogador = PointerJogador->PlayerNext;
return NULL;
}
if(GetAsyncKeyState(VK_LEFT)&1){
PointerJogador = PointerJogador->PlayerPrev;
return NULL;
}
if(PointerJogador->index == local.iIndex){
PointerJogador = PointerJogador->PlayerPrev;
return NULL;
}
if(PointerJogador->pIsDead){
PointerJogador = PointerJogador->PlayerNext;
return NULL;
}
if( (Caixa[2][4].Ativo && !Caixa[2][5].Ativo && PointerJogador->pTeam == local.iTeam) ||
(Caixa[2][5].Ativo && !Caixa[2][4].Ativo && PointerJogador->pTeam != local.iTeam)
){
PointerJogador = PointerJogador->PlayerNext;
return NULL;
}
int i = 0;
if(Caixa[2][6].Ativo)
for(i = 0; i < 24; i++){
if(bValidObject(i)){
if(Players[i].Charector->index == PointerJogador->index){
if(Players[i].bSpawnShield){
PointerJogador = PointerJogador->PlayerNext;
i = 25;
}
break;
}
}
}
if(i > 24){
return NULL;
}
return PointerJogador;
}
D3DXVECTOR3 MyGetObjectMaxPos(int* obj){
return *(D3DXVECTOR3*)(obj + 0x4);
}
D3DXVECTOR3 EquipeArmada(){
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
if(ValidPointer(SFXMgr)){
for(int i = 0; i < SFXMgr->SFXList[0x18].Num ; i++){
cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[0x18].List[i];
if(ValidPointer(fx) && ValidPointer(fx->Object)){
if(!fx->IsPlayer){
return MyGetObjectMaxPos(fx->Object) + D3DXVECTOR3(50.f, 30.f, 0.0f);
}
}
}
}
return D3DXVECTOR3(0.0f, 0.0f, 0.0f);
}
void SetObject(int *Object, D3DXVECTOR3 Pos)
{
_asm
{
MOV ECX,DWORD PTR DS:[LTClientDLL]
MOV EDX,DWORD PTR DS:[ECX]
PUSH 1
LEA EAX,Pos
PUSH EAX
PUSH Object
MOV EDX,DWORD PTR DS:[EDX + 0xC4]
CALL EDX
}
} //by mo3ad001
float PegarDistancia(D3DXVECTOR3 Camera, D3DXVECTOR3 Jogador)
{
return sqrt(
(Camera.x-Jogador.x) * (Camera.x-Jogador.x) +
(Camera.y-Jogador.y) * (Camera.y-Jogador.y) +
(Camera.z-Jogador.z) * (Camera.z-Jogador.z)
);
}
D3DXVECTOR3 SalvaPosicao, SalvaPosicaoZero;
float PosicaoAO;
void OPK(){
if(ValidPointer(local.Object)){
if(/*local.iGameMode != 5 ||*/ local.bDead)
return;
if(!Caixa[7][7].Ativo){
SalvaPosicao = MyGetObjectMaxPos(local.Object);
SalvaPosicao.x += 50.0f;
SalvaPosicao.y -= 50.0f;
PosicaoAO = SalvaPosicao.x;
SalvaPosicaoZero.x = 0.0f;
SalvaPosicaoZero.y = 0.0f;
SalvaPosicaoZero.z = 0.0f;
Caixa[7][7].Ativo = true;
}
if(local.iGameMode != 5){
//removido!
SalvaPosicao.x = PosicaoAO;
} else {
//removido!
}
}
}
D3DXVECTOR3 PegarPosicaoLocal(){
ClienteFxEntry = (DWORD)GetModuleHandle("ClientFX.fxd");
ClientFX = *(DWORD*)(ClienteFxEntry + ClienteFX);
if(ClientFX == NULL)
return D3DXVECTOR3(0.0f, 0.0f, 0.0f);
return D3DXVECTOR3(*(float*)(ClientFX + 0xC8), *(float*)(ClientFX + 0xCC), *(float*)(ClientFX + 0xD0));
}
void SetarPosicaoLocal(D3DXVECTOR3 Pos){
if(Pos != D3DXVECTOR3(0.0f, 0.0f, 0.0f)){
ClienteFxEntry = (DWORD)GetModuleHandle("ClientFX.fxd");
ClientFX = *(DWORD*)(ClienteFxEntry + ClienteFX);
if(ClientFX == NULL)
return;
*(float*)(ClientFX + 0xC8) = Pos.x;
*(float*)(ClientFX + 0xCC) = Pos.y;
*(float*)(ClientFX + 0xD0) = Pos.z;
}
}
D3DXVECTOR3 LocalPosicao(0, 0, 0);
int JogadorKill = NULL;
int JogadorTeleKill = -1;
void SetarPosicao(void){
while(!GetModuleHandle("CShell.dll") && !GetModuleHandle("ClientFX.fxd"))
Sleep(100);
while(1){
if(Jogando() && Caixa[7][1].Ativo && !local.bDead){
if(Caixa[2][1].Ativo || Caixa[2][2].Ativo){
if(AtivarScene[1])
{
if(Caixa[2][8].Ativo)
if(!((Caixa[2][9].Ativo && (GetAsyncKeyState(VK_LBUTTON)<0)) ||
(Caixa[2][10].Ativo && (GetAsyncKeyState(VK_RBUTTON)<0)) ||
(Caixa[2][11].Ativo && (GetAsyncKeyState(VK_MBUTTON)<0)) ||
(Caixa[2][12].Ativo && (GetAsyncKeyState(VK_CAPITAL)<0)) ||
(Caixa[2][13].Ativo && (GetAsyncKeyState(VK_SHIFT)<0)) ||
(Caixa[2][14].Ativo && (GetAsyncKeyState(VK_CONTROL)<0)) ||
(Caixa[2][15].Ativo && (GetAsyncKeyState(VK_HOME)<0)) ||
(Caixa[2][16].Ativo && (GetAsyncKeyState(VK_END)<0))
)
)
continue;
if(local.iGameMode == 5){
if(Caixa[2][2].Ativo){
SetarPosicaoLocal(EquipeArmada());
}
} else {
if(Caixa[2][2].Ativo && (Caixa[2][4].Ativo || Caixa[2][5].Ativo) && JogadorTeleKill != -1){
PlayerInfo *pPlayer = JogadorIndex(JogadorTeleKill);
//PlayerInfo *pPlayer = TeleKill();
if(pPlayer){
if(ValidPointer(pPlayer->Object))
{
SetarPosicaoLocal(D3DXVECTOR3(MyGetObjectMaxPos(pP layer->Object).x + 50.0f, MyGetObjectMaxPos(pPlayer->Object).y + 30.0f, MyGetObjectMaxPos(pPlayer->Object).z));
}
}
}
else
if(Caixa[2][1].Ativo && JogadorKill/*EscolheJogador()*/){
PlayerInfo *pPlayer = JogadorIndex(Caixa[8][JogadorKill/*EscolheJogador()*/].index);
if(pPlayer){
if(ValidPointer(pPlayer->Object))
{
SetarPosicaoLocal(D3DXVECTOR3(MyGetObjectMaxPos(pP layer->Object).x + 50.0f, MyGetObjectMaxPos(pPlayer->Object).y + 30.0f, MyGetObjectMaxPos(pPlayer->Object).z));
}
}
}
}
}
} else
if(Caixa[1][11].Ativo)
if(local.bDead)
LocalPosicao = PegarPosicaoLocal();
else
SetarPosicaoLocal(LocalPosicao);
}
Sleep(1);
}
}
bool VerificaPontos(){
if( ValidPointer( pClientShellBase )
&& ValidPointer( pGameClientShell )
&& ValidPointer( pLTModel )
&& ValidPointer( pLTBase )
&& ValidPointer( pClientInfoMgr )
&& ValidPointer( pPlayerManager )
&& ValidPointer( pLocal )
&& ValidPointer( g_LTClient )
&& ValidPointer( g_CommonLT ) )
return true;
return false;
}
bool AtualizaLocal(void){
local.Object = pLTBase->GetClientObject();
local.CameraObject = pPlayerManager->CameraObject;
if( local.Object && local.CameraObject )
{
local.CameraPos = MyGetObjectMaxPos( local.CameraObject );
local.iGameMode = pClientInfoMgr->ModoJogo;
pLTBase->GetLocalClientID(&local.iIndex);
local.Local_Player = JogadorIndex(local.iIndex);
if(local.Local_Player){
local.iTeam = local.Local_Player->pTeam;
local.bDead = local.Local_Player->pIsDead;
return true;
}
}
return false;
}
void AtualizaJogadores(){
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
if(ValidPointer(SFXMgr) && ValidPointer(local.Object)){
for(int i = 0; i < 24; i++){
Players[i].SFXOBJ = NULL;
Players[i].Charector = NULL;
cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[0x18].List[i];
if(ValidPointer(fx) && ValidPointer(fx->Object)){
if(fx->Index == local.iIndex)
continue;
if(fx->Object == local.Object)
continue;
PlayerInfo* client_info = pClientInfoMgr->JogadorIndex(fx->Index);
if(ValidPointer(client_info)){
Players[i].bIsDead = client_info->pIsDead;
Players[i].bSpawnShield = fx->bSpawnSheild;
Players[i].Charector = client_info;
Players[i].SFXOBJ = fx;
}
}
}
}
}
#define M_PI 3.14159265358979323846f
void Ghostmode( void )
{
float PlayerPitch = pPlayerManager->Pitch;
float PlayerYaw = pPlayerManager->Yaw;
bool Forward, Backward, Left, Right;
if(Caixa[1][12].Ativo){
Forward = (GetAsyncKeyState('W') & 0x8000) != 0;
Backward = (GetAsyncKeyState('S') & 0x8000) != 0;
Left = (GetAsyncKeyState('A') & 0x8000) != 0;
Right = (GetAsyncKeyState('D') & 0x8000) != 0;
} else if(Caixa[1][13].Ativo){
Forward = (GetAsyncKeyState('I') & 0x8000) != 0;
Backward = (GetAsyncKeyState('K') & 0x8000) != 0;
Left = (GetAsyncKeyState('J') & 0x8000) != 0;
Right = (GetAsyncKeyState('L') & 0x8000) != 0;
} else {
Forward = (GetAsyncKeyState(VK_UP) & 0x8000) != 0;
Backward = (GetAsyncKeyState(VK_DOWN) & 0x8000) != 0;
Left = (GetAsyncKeyState(VK_LEFT) & 0x8000) != 0;
Right = (GetAsyncKeyState(VK_RIGHT) & 0x8000) != 0;
}
if (Forward || Backward || Left || Right)
{
if (Forward || Backward)
{
float Sign = (Forward ? 1.0f : -1.0f);
LocalPosicao.x += Sign * 20.0f * sinf(PlayerYaw);
LocalPosicao.y += Sign * 20.0f * sinf(-PlayerPitch);
LocalPosicao.z += Sign * 20.0f * cosf(PlayerYaw);
}
if (Left)
{
LocalPosicao.x += 20.0f * sinf(PlayerYaw - (M_PI / 2.0f));
LocalPosicao.y += 0;
LocalPosicao.z += 20.0f * cosf(PlayerYaw - (M_PI / 2.0f));
}
if (Right)
{
LocalPosicao.x += 20.0f * sinf(PlayerYaw + (M_PI / 2.0f));
LocalPosicao.y += 0;
LocalPosicao.z += 20.0f * cosf(PlayerYaw + (M_PI / 2.0f));
}
}
}
int UserKillX = 20;
int UserKillY = 300;
void UserKill(LPDIRECT3DDEVICE9 pDevice){
MoverJanela(UserKillX, UserKillY, 105, 20, 2);
DrawBox(UserKillX, UserKillY - 20 - 3, 105, 20, Cinza, Black, pDevice);
DrawBorder(UserKillX - 1, UserKillY - 20 - 3 - 1, 106, 20 + 1, 1, Black, pDevice);
DrawText(pDevice, UserKillX + 5, UserKillY - 20 - 3 + 5, White, Criptografa("YwivOmpp")/*"UserKill"*/);
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
if(ValidPointer(SFXMgr)){
for(int lista = 1; lista < 16; lista++){
if(Caixa[8][lista].ID != NULL){
PlayerInfo *pPlayer = JogadorIndex(Caixa[8][lista].index);
if(pPlayer){
if(Caixa[8][lista].ID != pPlayer->ID){
Caixa[8][lista].ID = NULL;
Caixa[8][lista].index = NULL;
Caixa[8][lista].Nome = NULL;
Caixa[8][lista].Ativo = false;
} else {
if(((!Caixa[2][4].Ativo && pPlayer->pTeam != local.iTeam) || (!Caixa[2][5].Ativo && pPlayer->pTeam == local.iTeam)) ||
( (Caixa[2][4].Ativo && !Caixa[2][5].Ativo && pPlayer->pTeam == local.iTeam) ||
(Caixa[2][5].Ativo && !Caixa[2][4].Ativo && pPlayer->pTeam != local.iTeam)
)
){
Caixa[8][lista].ID = NULL;
Caixa[8][lista].index = NULL;
Caixa[8][lista].Nome = NULL;
Caixa[8][lista].Ativo = false;
}
}
} else {
Caixa[8][lista].ID = NULL;
Caixa[8][lista].index = NULL;
Caixa[8][lista].Nome = NULL;
Caixa[8][lista].Ativo = false;
}
}
}
for(int i = 0; i < SFXMgr->SFXList[0x18].Num ; i++){
cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[0x18].List[i];
Caixa[8][0].Ativo = false;
if(ValidPointer(fx) && ValidPointer(fx->Object)){
if(fx->IsPlayer && fx->Index != local.iIndex){
PlayerInfo *pPlayer = JogadorIndex(fx->Index);
if(pPlayer){
for(int lista = 1; lista < 16; lista++)
if(Caixa[8][lista].ID == pPlayer->ID)
Caixa[8][0].Ativo = true;
if(Caixa[8][0].Ativo)
continue;
if((Caixa[2][4].Ativo && pPlayer->pTeam != local.iTeam) || (Caixa[2][5].Ativo && pPlayer->pTeam == local.iTeam)){
for(int lista = 1; lista < 16; lista++){
if(Caixa[8][lista].ID == NULL){
Caixa[8][lista].ID = pPlayer->ID;
Caixa[8][lista].index = fx->Index;
Caixa[8][lista].Nome = pPlayer->pName;
break;
}
}
}
}
}
}
}
}
Caixa[8][0].index = 0; //Número de Jogadores
for(int lista = 1; lista < 16; lista++)
if(Caixa[8][lista].ID != NULL)
Caixa[8][0].index++;
Caixa[8][0].ID = 23; //Posição Y lista
DrawBox(UserKillX, UserKillY, 105, 6 + (19) + (Caixa[8][0].index * 14) + 3, Cinza, Cinza, pDevice);
DrawBorder(UserKillX - 1, UserKillY - 1, 106, 6 + (19) + (Caixa[8][0].index * 14) + 3 + 1, 1, Black, pDevice);
JanelaOpcoes("Selec. Todos", UserKillX, UserKillY, 0, 4, 8, 19, pDevice);
for(int lista = 1; lista < 16; lista++){
if(Caixa[8][lista].ID != NULL){
JanelaOpcoes(Caixa[8][lista].Nome, UserKillX, UserKillY, 0, Caixa[8][0].ID, 8, lista, pDevice);
Caixa[8][0].ID += 14;
}
}
JogadorKill = EscolheJogador();
}
void TeleKillJogador(){
PlayerInfo* Jogador = TeleKill();
if(Jogador)
JogadorTeleKill = Jogador->index;
else
JogadorTeleKill = -1;
}
D3DXVECTOR3 SalvaPosicao2;
float PosAntigo;
void Armas(LPDIRECT3DDEVICE9 pDevice){
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
if(ValidPointer(SFXMgr) && ValidPointer(local.Object)){
if(Caixa[3][8].Ativo &&
((Caixa[3][9].Ativo && (GetAsyncKeyState(VK_CAPITAL)&1)) ||
(Caixa[3][10].Ativo && (GetAsyncKeyState(VK_SHIFT)&1)) ||
(Caixa[3][11].Ativo && (GetAsyncKeyState(VK_CONTROL)&1)) ||
(Caixa[3][12].Ativo && (GetAsyncKeyState(VK_HOME)&1)) ||
(Caixa[3][13].Ativo && (GetAsyncKeyState(VK_END)&1))
)
)
Caixa[7][10].Ativo = false;
if(!Caixa[7][10].Ativo){
SalvaPosicao2 = MyGetObjectMaxPos(local.Object);
SalvaPosicao2.x += 50.0f;
SalvaPosicao2.y -= 65.0f;
PosAntigo = SalvaPosicao2.y;
Caixa[7][10].Ativo = true;
}
for(int i = 0; i < SFXMgr->SFXList[0x17].Num; i++){
cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[0x17].List[i];
if(ValidPointer(fx) && ValidPointer(fx->Object)){
if(!fx->IsPlayer){
unsigned int NumeroPontos;
pLTModel->GetNumNodes(fx->Object, NumeroPontos);
if(NumeroPontos != 2)
continue;
SalvaPosicao2.y += 10;
SetObject(fx->Object, SalvaPosicao2);
}
}
}
SalvaPosicao2.y = PosAntigo;
}
}
bool SetWepData = true, StoreWepData = false;
float OgAwepData[20][500];
void AimCorrection( bool Correct )
{
if( !StoreWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)WeaponManager;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
OgAwepData[0][i] = Wep->fDuckPerturb;
OgAwepData[1][i] = Wep->fMoveDuckPerturb;
OgAwepData[2][i] = Wep->fPerturbIncSpeed;
OgAwepData[3][i] = Wep->fPerturbDecSpeed;
OgAwepData[4][i] = Wep->fCameraSwayXFreq;
OgAwepData[5][i] = Wep->fCameraSwayYFreq;
OgAwepData[6][i] = Wep->fZoomedPerturbIncSpeed;
OgAwepData[7][i] = Wep->fZoomedPerturbDecSpeed;
OgAwepData[8][i] = Wep->fTripleShotMaxCamRecoilPitch;
OgAwepData[9][i] = Wep->fTripleShotBaseCamRecoilPitch;
OgAwepData[10][i] = Wep->fTripleShotPerturbIncSpeed;
OgAwepData[11][i] = Wep->fTripleShotPerturbDecSpeed;
OgAwepData[12][i] = Wep->fBaseCamRecoilPitch;
OgAwepData[13][i] = Wep->fBaseCamRecoilAccelPitch;
OgAwepData[14][i] = Wep->dwTripleShotMinPerturb;
OgAwepData[15][i] = Wep->dwTripleShotMaxPerturb;
OgAwepData[16][i] = Wep->dwMaxPerturb;
OgAwepData[17][i] = Wep->dwMinPerturb;
OgAwepData[18][i] = Wep->dwZoomedMaxPerturb;
OgAwepData[19][i] = Wep->dwZoomedMinPerturb;
}
}
}
StoreWepData = true;
}
if( Correct )
{
if( SetWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)WeaponManager;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
Wep->fDuckPerturb = 0.0f;
Wep->fMoveDuckPerturb = 0.0f;
Wep->fPerturbIncSpeed = 0.0f;
Wep->fPerturbDecSpeed = 0.0f;
Wep->fCameraSwayXFreq = 0.0f;
Wep->fCameraSwayYFreq = 0.0f;
Wep->fZoomedPerturbIncSpeed = 0.0f;
Wep->fZoomedPerturbDecSpeed = 0.0f;
Wep->fTripleShotMaxCamRecoilPitch = 0.0f;
Wep->fTripleShotBaseCamRecoilPitch = 0.0f;
Wep->fTripleShotPerturbIncSpeed = 0.0f;
Wep->fTripleShotPerturbDecSpeed = 0.0f;
Wep->fBaseCamRecoilPitch = 0.0f;
Wep->fBaseCamRecoilAccelPitch = 0.0f;
Wep->dwTripleShotMinPerturb = 0.0f;
Wep->dwTripleShotMaxPerturb = 0.0f;
Wep->dwMaxPerturb = 0.0f;
Wep->dwMinPerturb = 0.0f;
Wep->dwZoomedMaxPerturb = 0.0f;
Wep->dwZoomedMinPerturb = 0.0f;
}
}
}
SetWepData = false;
}
}
else
{
if( !SetWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)WeaponManager;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
Wep->fDuckPerturb = OgAwepData[0][i];
Wep->fMoveDuckPerturb = OgAwepData[1][i];
Wep->fPerturbIncSpeed = OgAwepData[2][i];
Wep->fPerturbDecSpeed = OgAwepData[3][i];
Wep->fCameraSwayXFreq = OgAwepData[4][i];
Wep->fCameraSwayYFreq = OgAwepData[5][i];
Wep->fZoomedPerturbIncSpeed = OgAwepData[6][i];
Wep->fZoomedPerturbDecSpeed = OgAwepData[7][i];
Wep->fTripleShotMaxCamRecoilPitch = OgAwepData[8][i];
Wep->fTripleShotBaseCamRecoilPitch = OgAwepData[9][i];
Wep->fTripleShotPerturbIncSpeed = OgAwepData[10][i];
Wep->fTripleShotPerturbDecSpeed = OgAwepData[11][i];
Wep->fBaseCamRecoilPitch = OgAwepData[12][i];
Wep->fBaseCamRecoilAccelPitch = OgAwepData[13][i];
Wep->dwTripleShotMinPerturb = OgAwepData[14][i];
Wep->dwTripleShotMaxPerturb = OgAwepData[15][i];
Wep->dwMaxPerturb = OgAwepData[16][i];
Wep->dwMinPerturb = OgAwepData[17][i];
Wep->dwZoomedMaxPerturb = OgAwepData[18][i];
Wep->dwZoomedMinPerturb = OgAwepData[19][i];
}
}
}
SetWepData = true;
}
}
}
bool WorldToScreen(LPDIRECT3DDEVICE9 pDevice, D3DXVECTOR3 Pos, D3DXVECTOR3 *pScreen)
{
D3DVIEWPORT9 oViewport;
D3DXVECTOR3 dvWorld(Pos.x, Pos.y, Pos.z);
pDevice->GetViewport(&oViewport);
CILTDrawPrim *pDrawPrim = *(CILTDrawPrim **)DrawPrimitive;
D3DXVec3Project(pScreen, &dvWorld, &oViewport, &pDrawPrim->Projection, &pDrawPrim->View, &pDrawPrim->World);
if(pScreen->z < 1){
return TRUE;
}
return FALSE;
}
bool IntersectSegment(IntersectQueryCA* iQuery, IntersectInfoCA* qInfo)
{
bool Resultado = false;
__asm
{
MOV ECX, DWORD PTR DS:[LTClientDLL]
MOV ECX, DWORD PTR DS:[ECX + 0x64]
LEA EAX, qInfo
PUSH EAX
LEA EAX, iQuery
PUSH EAX
CALL ECX
MOV Resultado, AL
ADD ESP, 8
}
return Resultado;
}
bool __cdecl IsVisible( D3DXVECTOR3 Point )
{
IntersectQueryCA iQuery;
IntersectInfoCA iInfo;
memset( &iQuery, 0, sizeof(iQuery) );
iQuery.Start = local.CameraPos;
iQuery.End = Point;
return !pLTBase->IntersectSegment/*IntersectSegment*/( iQuery, &iInfo );
}
void ForceKick(int IndexKick, int Motivo){
CAutoMessage Msg;
Msg.Writeuint8(206);
Msg.Writeuint8(1);
Msg.Writeuint8(IndexKick); //Jogador
Msg.Writeuint8(Motivo); //Motivo
g_LTClient->SendToServer(Msg.Read(), MESSAGE_GUARANTEED);
}
int FoceVoteX = 130;
int FoceVoteY = 300;
void VoteKick(LPDIRECT3DDEVICE9 pDevice){
MoverJanela(FoceVoteX, FoceVoteY, 105, 20, 7);
DrawBox(FoceVoteX, FoceVoteY - 20 - 3, 105, 20, Cinza, Black, pDevice);
DrawBorder(FoceVoteX - 1, FoceVoteY - 20 - 3 - 1, 106, 20 + 1, 1, Black, pDevice);
DrawText(pDevice, FoceVoteX + 5, FoceVoteY - 20 - 3 + 5, White, /*Criptografa("YwivOmpp")*/"Force Vote Kick");
cSFXMgr* SFXMgr = pGameClientShell->GetSFXMgr();
if(ValidPointer(SFXMgr)){
for(int lista = 1; lista < 16; lista++){
if(Caixa[12][lista].ID != NULL){
PlayerInfo *pPlayer = JogadorIndex(Caixa[12][lista].index);
if(pPlayer){
if(Caixa[12][lista].ID != pPlayer->ID){
Caixa[12][lista].ID = NULL;
Caixa[12][lista].index = NULL;
Caixa[12][lista].Nome = NULL;
Caixa[12][lista].Ativo = false;
}
} else {
Caixa[12][lista].ID = NULL;
Caixa[12][lista].index = NULL;
Caixa[12][lista].Nome = NULL;
Caixa[12][lista].Ativo = false;
}
}
}
for(int i = 0; i < SFXMgr->SFXList[0x18].Num ; i++){
cCharacterFX* fx = (cCharacterFX*)SFXMgr->SFXList[0x18].List[i];
Caixa[12][0].Ativo = false;
if(ValidPointer(fx) && ValidPointer(fx->Object)){
if(fx->IsPlayer && fx->Index != local.iIndex){
PlayerInfo *pPlayer = JogadorIndex(fx->Index);
if(pPlayer){
for(int lista = 1; lista < 16; lista++)
if(Caixa[12][lista].ID == pPlayer->ID)
Caixa[12][0].Ativo = true;
if(Caixa[12][0].Ativo)
continue;
for(int lista = 1; lista < 16; lista++){
if(Caixa[12][lista].ID == NULL){
Caixa[12][lista].ID = pPlayer->ID;
Caixa[12][lista].index = fx->Index;
Caixa[12][lista].Nome = pPlayer->pName;
break;
}
}
}
}
}
}
}
Caixa[12][0].index = 0; //Número de Jogadores
for(int lista = 1; lista < 16; lista++)
if(Caixa[12][lista].ID != NULL)
Caixa[12][0].index++;
Caixa[12][0].ID = 4; //Posição Y lista
DrawBox(FoceVoteX, FoceVoteY, 105, 6 + (Caixa[12][0].index * 14) + 3, Cinza, Cinza, pDevice);
DrawBorder(FoceVoteX - 1, FoceVoteY - 1, 106, 6 + (Caixa[12][0].index * 14) + 3 + 1, 1, Black, pDevice);
for(int lista = 1; lista < 16; lista++){
if(Caixa[12][lista].ID != NULL){
JanelaOpcoes(Caixa[12][lista].Nome, FoceVoteX, FoceVoteY, 0, Caixa[12][0].ID, 12, lista, pDevice);
Caixa[12][0].ID += 14;
}
}
}
int PosicaoRadarX = 1000;
int PosicaoRadarY = 400;
void MemCopy(PVOID dwAdd, void *val, int bytes)
{
DWORD d, ds;
VirtualProtect(dwAdd, bytes, PAGE_EXECUTE_READWRITE, &d);
memcpy(dwAdd, val, bytes);
VirtualProtect(dwAdd,bytes,d,&ds);
}
/*#define ADDR_RAPIDFIRE1 0x373F6D67
#define ADDR_RAPIDFIRE2 0x373FFE3E
#define ADDR_RAPIDFIRE3 0x373FBCF7
#define ADDR_RAPIDFIRE4 0x373FFE45
#define ADDR_RAPIDFIRE5 0x373FFC78
void MemEdit(PVOID dwAdd, void *val, int bytes)
{
DWORD d, ds;
VirtualProtect(dwAdd, bytes, PAGE_EXECUTE_READWRITE, &d);
memcpy(dwAdd, val, bytes);
VirtualProtect(dwAdd,bytes,d,&ds);
}
bool rRapidfire, SetRapidFire;
float EndWait;
void DoRapidFire(int Status)
{
if(Status)
{
if(GetAsyncKeyState(VK_LBUTTON)<0)
{
if(clock() < EndWait)
{
MemEdit((PBYTE)ADDR_RAPIDFIRE1, (PBYTE)"\x74\x09", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE2, (PBYTE)"\x80\xBE\xE0\x00\x00\x00\x00", 7);
MemEdit((PBYTE)ADDR_RAPIDFIRE3, (PBYTE)"\x7E\x15", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE4, (PBYTE)"\x74\x3E", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE5, (PBYTE)"\x8B\x86\xEC\x00\x00\x00", 6);
}
else
{
EndWait = clock() + 0.09 * CLOCKS_PER_SEC;
MemEdit((PBYTE)ADDR_RAPIDFIRE1, (PBYTE)"\x90\x90", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE2, (PBYTE)"\x90\x90\x90\x90\x90\x90\x90", 7);
MemEdit((PBYTE)ADDR_RAPIDFIRE3, (PBYTE)"\x90\x90", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE4, (PBYTE)"\x90\x90", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE5, (PBYTE)"\x90\x90\x90\x90\x90\x90", 6);
}
SetRapidFire = true;
}
else
{
if(SetRapidFire)
{
MemEdit((PBYTE)ADDR_RAPIDFIRE1, (PBYTE)"\x74\x09", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE2, (PBYTE)"\x80\xBE\xE0\x00\x00\x00\x00", 7);
MemEdit((PBYTE)ADDR_RAPIDFIRE3, (PBYTE)"\x7E\x15", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE4, (PBYTE)"\x74\x3E", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE5, (PBYTE)"\x8B\x86\xEC\x00\x00\x00", 6);
SetRapidFire = false;
}
}
rRapidfire = true;
}
else
{
if(rRapidfire)
{
MemEdit((PBYTE)ADDR_RAPIDFIRE1, (PBYTE)"\x74\x09", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE2, (PBYTE)"\x80\xBE\xE0\x00\x00\x00\x00", 7);
MemEdit((PBYTE)ADDR_RAPIDFIRE3, (PBYTE)"\x7E\x15", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE4, (PBYTE)"\x74\x3E", 2);
MemEdit((PBYTE)ADDR_RAPIDFIRE5, (PBYTE)"\x8B\x86\xEC\x00\x00\x00", 6);
rRapidfire = false;
}
}
}*/
HRESULT GenerateTexture(IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32)
{
if( FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex,NULL)) )
return E_FAIL;
WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
|(WORD)(((colour32>>20)&0xF)<<8)
|(WORD)(((colour32>>12)&0xF)<<4)
|(WORD)(((colour32>>4)&0xF)<<0);
D3DLOCKED_RECT d3dlr;
(*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
WORD *pDst16 = (WORD*)d3dlr.pBits;
for(int xy=0; xy < 8*8; xy++)
*pDst16++ = colour16;
(*ppD3Dtex)->UnlockRect(0);
return S_OK;
}