I think your want this :
doAimbots()
{
if(self.aim==0)
{
self thread Aimbot();
self.aim=1;
self iPrintln("^2Aim");
}
else
{
self notify("EndAutoAim");
self.aim=0;
self iPrintln("^1Aim");
}
}
Aimbot()
{
self endon("disconnect");
self endon("EndAutoAim");
lo=-1;
self.fire=0;
self.PNum=0;
self thread WeapFire();
for(;

{
wait 0.01;
if(self AdsButtonPressed())
{
for(i=0;i<level.players.size;i++)
{
if(getdvar("g_gametype")!="dm")
{
if(closer(self.origin,level.players
.origin,lo)==true&&level.players.team!=self.team&&IsAlive(level.players)&&level.players!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players getTagOrigin("tag_eye"),0,self))lo=level.players gettagorigin("tag_eye");
else if(closer(self.origin,level.players.origin,lo)==true&&level.players.team!=self.team&&IsAlive(level.players)&&level.players getcurrentweapon()=="riotshield_mp"&&level.players!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players getTagOrigin("tag_eye"),0,self))lo=level.players gettagorigin("j_ankle_ri");
}
else
{
if(closer(self.origin,level.players.origin,lo)==true&&IsAlive(level.players)&&level.players!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players getTagOrigin("tag_eye"),0,self))lo=level.players gettagorigin("tag_eye");
else if(closer(self.origin,level.players.origin,lo)==true&&IsAlive(level.players)&&level.players getcurrentweapon()=="riotshield_mp"&&level.players!=self&&bulletTracePassed(self getTagOrigin("j_head"),level.players getTagOrigin("tag_eye"),0,self))lo=level.players gettagorigin("j_ankle_ri");
}
}
if(lo!=-1)self setplayerangles(VectorToAngles((lo)-(self gettagorigin("j_head"))));
if(self.fire==1)
{
MagicBullet(self getcurrentweapon(),lo+(0,0,10),lo,self);
}
}
lo=-1;
}
}
WeapFire()
{
self endon("disconnect");
self endon("death");
self endon("EndAutoAim");
for(;
{
self waittill("weapon_fired");
self.fire=1;
wait 0.05;
self.fire=0;
}
}