Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include "cube.h"
- #include "bot/bot.h"
- VOID aimbot(VOID)
- {
- if(player1->state == CS_ALIVE)
- {
- playerent* Target_Player = NULL;
- FLOAT Enemy_Distance;
- FLOAT Nearest_Enemy_Distance = 99999.9f;
- SHORT Enemy_Distance_Rating;
- SHORT Best_Enemy_Distance_Rating = -100;
- loopv(players)
- {
- if(players[i] == player1 || !players[i] || isteam(players[i]->team, player1->team) || (players[i]->state != CS_ALIVE))
- continue;
- vec Target_Player_Vector;
- vec Forward_Vector;
- vec Right_Vector;
- vec Up_Vector;
- AnglesToVectors(vec(player1->pitch, player1->yaw, player1->roll), Forward_Vector, Right_Vector, Up_Vector);
- Target_Player_Vector = players[i]->o;
- Target_Player_Vector.sub(player1->o);
- Target_Player_Vector.z = 0.0f;
- Target_Player_Vector = Normalize(Target_Player_Vector);
- Forward_Vector.z = 0;
- FLOAT Dot_Product = Target_Player_Vector.dot(Forward_Vector);
- traceresult_s Tracer_Result;
- TraceLine(player1->o, players[i]->o, NULL, FALSE, &Tracer_Result, FALSE);
- if(!Tracer_Result.collided == TRUE /* && Dot_Product >= 0.5f */ )
- {
- Enemy_Distance = players[i]->o.dist(player1->o);
- Enemy_Distance_Rating = 1;
- if(Enemy_Distance < Nearest_Enemy_Distance)
- {
- Enemy_Distance_Rating += 2;
- Nearest_Enemy_Distance = Enemy_Distance;
- }
- if(Enemy_Distance_Rating > Best_Enemy_Distance_Rating)
- {
- Target_Player = players[i];
- Best_Enemy_Distance_Rating = Enemy_Distance_Rating;
- }
- }
- }
- if(Target_Player != NULL)
- {
- player1->pitch = atan2(Target_Player->o.z - player1->o.z, Target_Player->o.dist(player1->o)) * 180 / PI;
- player1->yaw = -(FLOAT)atan2(Target_Player->o.x - player1->o.x, Target_Player->o.y - player1->o.y) / PI * 180 + 180;
- vec Forward_Vector;
- vec Right_Vector;
- vec Up_Vector;
- vec Destination_Vector;
- AnglesToVectors(vec(player1->pitch, player1->yaw, player1->roll), Forward_Vector, Right_Vector, Up_Vector);
- Destination_Vector = Target_Player->o;
- Forward_Vector.mul(1000);
- Destination_Vector.add(Forward_Vector);
- traceresult_s Tracer_Result;
- TraceLine(player1->o, Destination_Vector, player1, FALSE, &Tracer_Result);
- player1->attacking = TRUE;
- shoot(player1, Tracer_Result.end);
- player1->attacking = FALSE;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement