GoogLe*Administrator ♛
Postari: 391
|
|
CODE :
bool triggerBot2() { triggerbotEnabled = true;
ExAddress clientBase = exGetModuleAddress("client.dll" ; ExAddress engineBase = exGetModuleAddress("engine.dll" ;
randomNum trigRand;
CClientEntityList entList; CAimbot trigBot; CPlayer me;
//int myScreenPos[2]; //int enemyScreenPos2[2];
//float localOrigin[3];
ExAddress localPlayerBase = clientBase + localPlayerOffset;
entList.SetBaseEnt(clientBase + entListOffset);
me.pos.SetPositionAddress(exReadAddress(localPlayerBase) + 0x2CC); me.viewAngles.SetViewAnglesAddress(engineBase + viewAnglesOffset);
//trigBot.SetRecoilAddress(exReadAddress(localPlayerBase) + 0xD90); //trigBot.SetWeapRecoil(2.0f);
trigBot.SetPlayer(&me);
struct player { struct origin_ { float x; float y; float z;
ExAddress address; };
struct viewAngles_ { float pitch; float yaw; float roll;
ExAddress address; };
origin_ origin; viewAngles_ viewAngles;
ExAddress m_bDormant_address; bool m_bDormant;
ExAddress m_iTeamNum_address; int m_iTeamNum;
ExAddress m_iLifestate_address; BYTE m_iLifestate;
ExAddress m_nSequence_address; int m_nSequence;
ExAddress address;
int screenPos[2]; float m_vecAbsOrigin[3]; float m_angRotation[3];
float forwardOffset; float rightOffset;
float vForward[3]; float vRight[3]; float vUp[3]; };
player players[32]; player localPlayer;
localPlayer.viewAngles.address = engineBase + viewAnglesOffset;
int lastTime = timeGetTime();
//DWORD weapPtrHandle;
ExAddress weapPtr;
int lastSequence;
int mid[2] = {gScreenSize[0]/2, gScreenSize[1]/2};
//float div = (gScreenSize[0]/341.3); float div = (gScreenSize[0]/400); float div2 = (gScreenSize[1]/200); //float div2 = (gScreenSize[1]/192);
while(true) { localPlayer.address = exReadAddress(clientBase + localPlayerOffset);
float punchAngles[3]; exReadBuffer(localPlayer.address+0xD90, &punchAngles, sizeof(float) * 3);
localPlayer.m_iTeamNum = (int)exReadDword(localPlayer.address+0x98);
int ecx = (int)exReadDword(exReadAddress(engineBase+seqNumOffset + 0x10)); int edx = (int)exReadDword(exReadAddress(engineBase+seqNumOffset + 0x16));
float localFov = exReadFloat(clientBase+clientPredictionOffset+localFovOffset);
if(ecx+edx+1 > lastSequence) { int random_seed = MD5_PseudoRandom(ecx+edx+1) & 0x7fffffff; trigRand.SetSeed((random_seed & 255) + 1);
DWORD weapHandle = exReadDword(localPlayer.address + 0xCD0); weapPtr = entList.GetEntityByIndex((weapHandle & 0xFFF) - 1);
exReadBuffer(localPlayer.viewAngles.address, &localPlayer.viewAngles, sizeof(float) * 3); exReadBuffer(localPlayer.address+0x2CC, &localPlayer.origin, sizeof(float) * 3);
localPlayer.m_vecAbsOrigin[0] = localPlayer.origin.x; localPlayer.m_vecAbsOrigin[1] = localPlayer.origin.y; localPlayer.m_vecAbsOrigin[2] = localPlayer.origin.z;
localPlayer.m_angRotation[0] = localPlayer.viewAngles.pitch; localPlayer.m_angRotation[1] = localPlayer.viewAngles.yaw; localPlayer.m_angRotation[2] = localPlayer.viewAngles.roll;
x = trigRand.RandomFloat( -0.5, 0.5 ) + trigRand.RandomFloat( -0.5, 0.5 ); y = trigRand.RandomFloat( -0.5, 0.5 ) + trigRand.RandomFloat( -0.5, 0.5 );
float vecSpread;
vecSpread = getSpread(weapPtr);
x *= vecSpread; y *= vecSpread;
float vForward[3], vRight[3], vUp[3];
//float *angles = localPlayer.m_angRotation;
gMath.AngleVectors(localPlayer.m_angRotation, vForward, vRight, vUp);
float newView[3];
vecDir[0] = vForward[0] + x * vRight[0] + y * vUp[0]; newView[0] = 8192 * vecDir[0]; vecDir[1] = vForward[1] + x * vRight[1] + y * vUp[1]; newView[1] = 8192 * vecDir[1]; vecDir[2] = vForward[2] + x * vRight[2] + y * vUp[2]; newView[2] = 8192 * vecDir[2];
//vecDir = vForward2 + (x * vecSpread * vRight2) + (y * vecSpread * vUp2);
VectorNormalize(vecDir);
float angles3[3];
//VectorAngles(vecDir, angles2); gMath.VectorAngles(newView, angles3);
angles3[0] *= -1;
localPlayer.m_angRotation[0] = angles3[0]; localPlayer.m_angRotation[1] = angles3[1]; localPlayer.m_angRotation[2] = angles3[2];
localPlayer.m_angRotation[0] += punchAngles[0] * 2; localPlayer.m_angRotation[1] += punchAngles[1] * 2; localPlayer.m_angRotation[2] += punchAngles[2] * 2;
lastSequence = ecx+edx+1; }
if(GetAsyncKeyState(VK_LMENU)) { for(int i=0;i<32;++i) { ExAddress readBase = entList.GetEntityByIndex(i);
if(readBase == 0x0) continue;
players[i].address = readBase;
if(players[i].address == localPlayer.address) continue;
ent_s entBuffer;
exReadBuffer(readBase, &entBuffer, sizeof(entBuffer));
players[i].m_nSequence = (int)entBuffer.sequence; players[i].m_iTeamNum = (int)entBuffer.team; players[i].m_iLifestate = (int)entBuffer.lifeState; players[i].m_bDormant = (bool)entBuffer.dormant; players[i].m_vecAbsOrigin[0] = entBuffer.vecAbsOrigin[0]; players[i].m_vecAbsOrigin[1] = entBuffer.vecAbsOrigin[1]; players[i].m_vecAbsOrigin[2] = entBuffer.vecAbsOrigin[2];
if(players[i].m_iLifestate != 0x0 || players[i].m_bDormant == true || players[i].m_iTeamNum == localPlayer.m_iTeamNum) continue;
//exReadBuffer(players[i].origin.address, &players[i].origin, sizeof(float) * 3);
players[i].viewAngles.address = readBase + m_vecRotationOffset; exReadBuffer(players[i].viewAngles.address, &players[i].viewAngles, sizeof(float) * 3);
players[i].m_angRotation[0] = players[i].viewAngles.pitch; players[i].m_angRotation[1] = players[i].viewAngles.yaw; players[i].m_angRotation[2] = players[i].viewAngles.roll;
players[i].forwardOffset = 10; players[i].rightOffset = 4;
if(players[i].m_nSequence == 2 || players[i].m_nSequence == 5) { players[i].m_vecAbsOrigin[2] -= 17.5;
players[i].rightOffset = 2; }
// CALCULATIONS //exPrintf("%f", players[i].m_angRotation[0]); gMath.AngleVectors(players[i].m_angRotation, players[i].vForward, players[i].vRight, players[i].vUp);
players[i].m_vecAbsOrigin[0] += (players[i].vForward[0]*players[i].forwardOffset) + (players[i].vRight[0]*players[i].rightOffset); players[i].m_vecAbsOrigin[1] += (players[i].vForward[1]*players[i].forwardOffset) + (players[i].vRight[1]*players[i].rightOffset);
float dist = gMath.GetDistance(localPlayer.m_vecAbsOrigin, players[i].m_vecAbsOrigin) / 1000;
float var; float var2;
if(localFov > 40) { var = div/dist; var2 = div2/dist; } else if (localFov > 10) { var = (div*2.2)/dist; var2 = (div2*2.2)/dist; } else { var = (div*5.6)/dist; var2 = (div2*5.6)/dist; } //exPrintf("X: %i, Y: %i, %i", players[i].screenPos[0], players[i].screenPos[1], i);
if(gMath.WorldToScreen(players[i].m_vecAbsOrigin, localPlayer.m_vecAbsOrigin, localPlayer.m_angRotation, (int)localFov, gScreenSize, players[i].screenPos)) { if(players[i].screenPos[0] >= mid[0]-var && players[i].screenPos[0] <= mid[0]+var && players[i].screenPos[1] >= mid[1]-var2 && players[i].screenPos[1] <= mid[1]+var2) { mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); } } } }
Sleep(1); }
return true; }
_______________________________________



|
|