Alright here is a triggerbot source code i do not know how to compile so here it is and again don't ask where i got it.
001 bool triggerBot2()
002 {
003 triggerbotEnabled = true;
004
005 ExAddress clientBase = exGetModuleAddress("client.dll");
006 ExAddress engineBase = exGetModuleAddress("engine.dll");
007
008 randomNum trigRand;
009
010 CClientEntityList entList;
011 CAimbot trigBot;
012 CPlayer me;
013
014 //int myScreenPos[2];
015 //int enemyScreenPos2[2];
016
017 //float localOrigin[3];
018
019 ExAddress localPlayerBase = clientBase + localPlayerOffset;
020
021 entList.SetBaseEnt(clientBase + entListOffset);
022
023 me.pos.SetPositionAddress(exReadAddress(localPlaye rBase) + 0x2CC);
024 me.viewAngles.SetViewAnglesAddress(engineBase + viewAnglesOffset);
025
026 //trigBot.SetRecoilAddress(exReadAddress(localPlayer Base) + 0xD90);
027 //trigBot.SetWeapRecoil(2.0f);
028
029 trigBot.SetPlayer(&me);
030
031 struct player
032 {
033 struct origin_
034 {
035 float x;
036 float y;
037 float z;
038
039 ExAddress address;
040 };
041
042 struct viewAngles_
043 {
044 float pitch;
045 float yaw;
046 float roll;
047
048 ExAddress address;
049 };
050
051 origin_ origin;
052 viewAngles_ viewAngles;
053
054 ExAddress m_bDormant_address;
055 bool m_bDormant;
056
057 ExAddress m_iTeamNum_address;
058 int m_iTeamNum;
059
060 ExAddress m_iLifestate_address;
061 BYTE m_iLifestate;
062
063 ExAddress m_nSequence_address;
064 int m_nSequence;
065
066
067 ExAddress address;
068
069 int screenPos[2];
070 float m_vecAbsOrigin[3];
071 float m_angRotation[3];
072
073 float forwardOffset;
074 float rightOffset;
075
076 float vForward[3];
077 float vRight[3];
078 float vUp[3];
079 };
080
081 player players[32];
082 player localPlayer;
083
084 localPlayer.viewAngles.address = engineBase + viewAnglesOffset;
085
086 int lastTime = timeGetTime();
087
088 //DWORD weapPtrHandle;
089
090 ExAddress weapPtr;
091
092 int lastSequence;
093
094 int mid[2] = {gScreenSize[0]/2, gScreenSize[1]/2};
095
096 //float div = (gScreenSize[0]/341.3);
097 float div = (gScreenSize[0]/400);
098 float div2 = (gScreenSize[1]/200);
099 //float div2 = (gScreenSize[1]/192);
100
101 while(true)
102 {
103 localPlayer.address = exReadAddress(clientBase + localPlayerOffset);
104
105 float punchAngles[3];
106 exReadBuffer(localPlayer.address+0xD90, &punchAngles, sizeof(float) * 3);
107
108 localPlayer.m_iTeamNum = (int)exReadDword(localPlayer.address+0x98);
109
110 int ecx = (int)exReadDword(exReadAddress(engineBase+seqNumOf fset + 0x10));
111 int edx = (int)exReadDword(exReadAddress(engineBase+seqNumOf fset + 0x16));
112
113 float localFov = exReadFloat(clientBase+clientPredictionOffset+loca lFovOffset);
114
115 if(ecx+edx+1 > lastSequence)
116 {
117 int random_seed = MD5_PseudoRandom(ecx+edx+1) & 0x7fffffff;
118 trigRand.SetSeed((random_seed & 255) + 1);
119
120 DWORD weapHandle = exReadDword(localPlayer.address + 0xCD0);
121 weapPtr = entList.GetEntityByIndex((weapHandle & 0xFFF) - 1);
122
123 exReadBuffer(localPlayer.viewAngles.address, &localPlayer.viewAngles, sizeof(float) * 3);
124 exReadBuffer(localPlayer.address+0x2CC, &localPlayer.origin, sizeof(float) * 3);
125
126 localPlayer.m_vecAbsOrigin[0] = localPlayer.origin.x;
127 localPlayer.m_vecAbsOrigin[1] = localPlayer.origin.y;
128 localPlayer.m_vecAbsOrigin[2] = localPlayer.origin.z;
129
130 localPlayer.m_angRotation[0] = localPlayer.viewAngles.pitch;
131 localPlayer.m_angRotation[1] = localPlayer.viewAngles.yaw;
132 localPlayer.m_angRotation[2] = localPlayer.viewAngles****ll;
133
134 x = trigRand.RandomFloat( -0.5, 0.5 ) + trigRand.RandomFloat( -0.5, 0.5 );
135 y = trigRand.RandomFloat( -0.5, 0.5 ) + trigRand.RandomFloat( -0.5, 0.5 );
136
137 float vecSpread;
138
139 vecSpread = getSpread(weapPtr);
140
141 x *= vecSpread;
142 y *= vecSpread;
143
144 float vForward[3], vRight[3], vUp[3];
145
146 //float *angles = localPlayer.m_angRotation;
147
148 gMath.AngleVectors(localPlayer.m_angRotation, vForward, vRight, vUp);
149
150 float newView[3];
151
152 vecDir[0] = vForward[0] + x * vRight[0] + y * vUp[0];
153 newView[0] = 8192 * vecDir[0];
154 vecDir[1] = vForward[1] + x * vRight[1] + y * vUp[1];
155 newView[1] = 8192 * vecDir[1];
156 vecDir[2] = vForward[2] + x * vRight[2] + y * vUp[2];
157 newView[2] = 8192 * vecDir[2];
158
159 //vecDir = vForward2 + (x * vecSpread * vRight2) + (y * vecSpread * vUp2);
160
161 VectorNormalize(vecDir);
162
163 float angles3[3];
164
165 //VectorAngles(vecDir, angles2);
166 gMath.VectorAngles(newView, angles3);
167
168 angles3[0] *= -1;
169
170 localPlayer.m_angRotation[0] = angles3[0];
171 localPlayer.m_angRotation[1] = angles3[1];
172 localPlayer.m_angRotation[2] = angles3[2];
173
174 localPlayer.m_angRotation[0] += punchAngles[0] * 2;
175 localPlayer.m_angRotation[1] += punchAngles[1] * 2;
176 localPlayer.m_angRotation[2] += punchAngles[2] * 2;
177
178 lastSequence = ecx+edx+1;
179 }
180
181 if(GetAsyncKeyState(VK_LMENU))
182 {
183 for(int i=0;i<32;++i)
184 {
185 ExAddress readBase = entList.GetEntityByIndex(i);
186
187 if(readBase == 0x0)
188 continue;
189
190 players[i].address = readBase;
191
192 if(players[i].address == localPlayer.address)
193 continue;
194
195 ent_s entBuffer;
196
197 exReadBuffer(readBase, &entBuffer, sizeof(entBuffer));
198
199 players[i].m_nSequence = (int)entBuffer.sequence;
200 players[i].m_iTeamNum = (int)entBuffer.team;
201 players[i].m_iLifestate = (int)entBuffer.lifeState;
202 players[i].m_bDormant = (bool)entBuffer.dormant;
203 players[i].m_vecAbsOrigin[0] = entBuffer.vecAbsOrigin[0];
204 players[i].m_vecAbsOrigin[1] = entBuffer.vecAbsOrigin[1];
205 players[i].m_vecAbsOrigin[2] = entBuffer.vecAbsOrigin[2];
206
207 if(players[i].m_iLifestate != 0x0 || players[i].m_bDormant == true || players[i].m_iTeamNum == localPlayer.m_iTeamNum)
208 continue;
209
210 //exReadBuffer(players[i].origin.address, &players[i].origin, sizeof(float) * 3);
211
212 players[i].viewAngles.address = readBase + m_vecRotationOffset;
213 exReadBuffer(players[i].viewAngles.address, &players[i].viewAngles, sizeof(float) * 3);
214
215 players[i].m_angRotation[0] = players[i].viewAngles.pitch;
216 players[i].m_angRotation[1] = players[i].viewAngles.yaw;
217 players[i].m_angRotation[2] = players[i].viewAngles****ll;
218
219 players[i].forwardOffset = 10;
220 players[i].rightOffset = 4;
221
222 if(players[i].m_nSequence == 2 || players[i].m_nSequence == 5)
223 {
224 players[i].m_vecAbsOrigin[2] -= 17.5;
225
226 players[i].rightOffset = 2;
227 }
228
229 // CALCULATIONS
230 //exPrintf("%f", players[i].m_angRotation[0]);
231 gMath.AngleVectors(players[i].m_angRotation, players[i].vForward, players[i].vRight, players[i].vUp);
232
233 players[i].m_vecAbsOrigin[0] += (players[i].vForward[0]*players[i].forwardOffset) + (players[i].vRight[0]*players[i].rightOffset);
234 players[i].m_vecAbsOrigin[1] += (players[i].vForward[1]*players[i].forwardOffset) + (players[i].vRight[1]*players[i].rightOffset);
235
236 float dist = gMath.GetDistance(localPlayer.m_vecAbsOrigin, players[i].m_vecAbsOrigin) / 1000;
237
238 float var;
239 float var2;
240
241 if(localFov > 40)
242 {
243 var = div/dist;
244 var2 = div2/dist;
245 }
246 else if (localFov > 10)
247 {
248 var = (div*2.2)/dist;
249 var2 = (div2*2.2)/dist;
250 }
251 else
252 {
253 var = (div*5.6)/dist;
254 var2 = (div2*5.6)/dist;
255 }
256 //exPrintf("X: %i, Y: %i, %i", players[i].screenPos[0], players[i].screenPos[1], i);
257
258 if(gMath.WorldToScreen(players[i].m_vecAbsOrigin, localPlayer.m_vecAbsOrigin, localPlayer.m_angRotation, (int)localFov, gScreenSize, players[i].screenPos))
259 {
260 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)
261 {
262 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
263 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
264 }
265 }
266 }
267 }
268
269 Sleep(1);
270 }
271
272 return true;
273 }
274
275