fadl01zhQQ]YouTube - realistic auto 360 bot[/ame]
//for binding
// add self.Spinbot = 0; to playerspawned()
CrouchUp()
{
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand("dpad_up","+actionslot 1");
if(self.Spinbot==0)
for (;
{
self waittill("dpad_up");
if (self GetStance() == "crouch") {
self thread Spinner();
self.Spinbot=1;
self iprintln("^0Three60 ^2GOD");
}
self waittill("dpad_up");
if (self GetStance() == "crouch") {
self.Spinbot=0;
self iprintln("^0Three60bot : ^1Disabled");
}
}
}
SpinBot()
{
self endon("killedbot");
self endon("disconnect");
self thread monitorShot();
self notifyOnPlayerCommand("aim","+speed_throw");
self notifyOnPlayerCommand("fired","+attack");
self waittill("aim");
for (;
{
self endon("killedbot");
self notify("botkilled");
aimAt=undefined;
AimAngle=undefined;
TempAngle=undefined;
DoShot=0;
foreach(player in level.players)
{if((player==self)||(!isAlive(player))||(level.teamBased&&self.pers["team"]==player.pers["team"])||(!self.SuperDeepImpact&&!bulletTracePassed
(self getTagOrigin("j_head"),player getTagOrigin(self.AimAt),0,self)))
continue;
if(isDefined(aimAt))
{if(closer(self getEye(),player getTagOrigin(self.AimAt),
aimAt getTagOrigin(self.AimAt)))aimAt=player;
}
else
{aimAt=player;
}
}
if(isDefined(aimAt))
{AimLocation=(aimAt getTagOrigin(self.AimAt));
AimAngle=VectorToAngles(AimLocation-self getEye());
if(self.RealAim)
{doRealAim(AimAngle,AimLocation,aimAt,self.AimAt);
}
else
{self setPlayerAngles(AimAngle);
if(self.Shot)MagicBullet(self getCurrentWeapon(),AimLocation+(0,0,10),AimLocation,self);
}
if("fired")
{self thread Spinner();}
wait 0.2;
}
} wait 0.01;
}
Spinner()
{
self notify("killedbot");
self thread SpinBot();
self endon("disconnect");
self endon("death");
self notifyOnPlayerCommand("jump", "+gostand");
self waittill("jump");
for (;
{
self endon("botkilled");
self setPlayerAngles(self.angles + (0, 21, 0));
wait 0.001;
}
}
monitorShot(){self endon("death");self endon("halt");self endon("disconnect");for(;
{self waittill("weapon_fired");self.Shot=1;wait 0.015;self.Shot=0;}}
doRealAim(Angle,AimLocation,Ent,AimAt){if(Ent getCurrentWeapon()=="riotshield_mp"){AimAt="j_ankle_ri";AimLocation=Ent getTagOrigin("j_ankle_ri");
Angle=VectorToAngles(AimLocation-self getEye());}
DoShot=self setPlayerAngesReal(Angle,0.005,5);
if(DoShot){
for(;
{if(self.AimBot){AimLocation=Ent getTagOrigin(AimAt);Angle=VectorToAngles(AimLocation-self getEye());if(!bulletTracePassed(self getEye(),AimLocation,0,self)||!isAlive(Ent))break;
DoShot=self thread setPlayerAngesReal(Angle,0.005,3);
if(self.Shot&&
oShot)MagicBullet(self getCurrentWeapon(),AimLocation+(0,0,10),AimLocation,self);}else{break;}wait 0.05;}}}
setPlayerAngesReal(Angle,Delay,Steps)
{
PStepAngle=360/Steps;
NStepAngle=PStepAngle-(PStepAngle*2);
myAngle=self getPlayerAngles();
myAngle=NormalizeAngles(myAngle);
Angle=NormalizeAngles(Angle);
X=(Angle[0]-myAngle[0])/Steps;
if((myAngle[0]+(X*Steps))>360||X>36||X<-36)
{
X=(myAngle[0]-((myAngle[0]+(X*Steps))-360))/Steps;
X=X-(X*2);
}
Y=(Angle[1]-myAngle[1])/Steps;
if((myAngle[1]+(Y*Steps))>360||Y>36||Y<-36)
{
Y=(myAngle[1]-((myAngle[1]+(Y*Steps))-360))/Steps;
Y=Y-(Y*2);
}
if((X<PStepAngle&&X>NStepAngle)&&(Y<PStepAngle&&Y>NStepAngle))
{
for(i=1;i<Steps;i++)
{
newAngle=(myAngle[0]+X,myAngle[1]+Y,0);
self setPlayerAngles(newAngle);
myAngle=self getPlayerAngles();
wait Delay;
}
return 1;
}
return 0;
}
NormalizeAngles(Angle)
{
X=Angle[0];
Y=Angle[1];
Z=Angle[2];
if(X<0)X=Angle[0]+360;
if(Y<0)Y=Angle[1]+360;
if(Z<0)Z=Angle[2]+360;
if(X>360)X=Angle[0]-360;
if(Y>360)Y=Angle[1]-360;
if(Z>360)Z=Angle[2]-360;
return (X,Y,Z);
}
RandomBone()
{self endon("disconnect");
self endon("death");
for(;
{if(self.AimRnd)
{A=randomint(50);
self.AimAt="j_head";
if(A<45)self.AimAt="back_mid";
}
wait 0.35;
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.