do local Players=game:GetService("Players");local
RunService=game:GetService("RunService");local
UserInputService=game:GetService("UserInputService");local
LocalPlayer=Players.LocalPlayer;local VECTOR_XZ=Vector3.new(1,0,1);local
_Settings={PanicKey=Enum.KeyCode.X,HighlightSuspiciousPlayers=true,IgnoreInvisible=
true,InvisibleThreshold=0.5,IgnoreTeam=true,IgnoreForcefield=true,IgnoreHighHealth=
true,SmartAimbot=true,SilentLerp={Enabled=true,LerpValue=0.9},DetectTeleports={Enab
led=true,TeleportThreshold=1,DynamicThreshold=true},Silent=false,ShowTarget=true,Ra
nge=15};if getgenv then getgenv().Settings=_Settings;else Settings=_Settings;end
local Aimbot={Enabled=true,Target=nil,ServerCFrameOverwrite=nil};local
HighlightStorage;local TargetHighlight=Instance.new("Highlight");local
SuspiciousHighlight=Instance.new("Highlight");for _,Property in
{{"OutlineColor",Color3.new(0.9,0,0),Color3.new(1,1,1)},{"FillTransparency",1,1},
{"OutlineTransparency",0,0}} do
TargetHighlight[Property[1]]=Property[2];SuspiciousHighlight[Property[1]]=Property[
3];end if not (pcall(function()
TargetHighlight.Parent=game:GetService("CoreGui");HighlightStorage=game:GetService(
"CoreGui");end)) then
TargetHighlight.Parent=workspace.Terrain;HighlightStorage=workspace.Terrain;end
local Enabled=false;local Connections={};local
ClientRootPart,ServerRootPart=nil,nil;local function UpdateServerRootPart() if
( not ClientRootPart or not ClientRootPart:IsDescendantOf(workspace)) then
return;end if ( not ServerRootPart or not
ServerRootPart:IsDescendantOf(workspace)) then return;end for _,Property in
{"CFrame","AssemblyLinearVelocity","AssemblyAngularVelocity"} do if
(Property=="CFrame") then if Settings.DetectTeleports.Enabled then local
Threshold=Settings.DetectTeleports.TeleportThreshold;if
Settings.DetectTeleports.DynamicThreshold then local
Humanoid=LocalPlayer.Character:FindFirstChild("Humanoid");local WalkSpeed=(Humanoid
and Humanoid.WalkSpeed) or 16 ;local JumpPower=(Humanoid and Humanoid.JumpPower) or
50 ;local SoftLimit=((WalkSpeed/240) + (JumpPower/240)) * 1.55 ;local
Speed=ClientRootPart.AssemblyLinearVelocity.Magnitude/WalkSpeed ;Threshold=math.max
(math.max(SoftLimit,0.1) * Speed * 1.1 ,0.75);end local
DistanceMoved=(ClientRootPart.Position-ServerRootPart.Position).Magnitude;if
(DistanceMoved>Threshold) then
ClientRootPart.CFrame=ServerRootPart.CFrame;continue;end end if
(Aimbot.ServerCFrameOverwrite and Aimbot.Target) then if
Settings.SilentLerp.Enabled then
ServerRootPart.CFrame=ServerRootPart[Property]:Lerp(Aimbot.ServerCFrameOverwrite,Se
ttings.SilentLerp.LerpValue);else
ServerRootPart.CFrame=Aimbot.ServerCFrameOverwrite;end if not Settings.Silent then
ClientRootPart.CFrame=CFrame.new(ClientRootPart.CFrame.X,ClientRootPart.CFrame.Y,Cl
ientRootPart.CFrame.Z) *
CFrame.fromEulerAnglesYXZ(ServerRootPart.CFrame:ToEulerAnglesYXZ()) ;end
continue;end end ServerRootPart[Property]=ClientRootPart[Property];end end local
function CreateClientRootPart(Character) if ClientRootPart then
pcall(ClientRootPart.Destroy,ClientRootPart);ClientRootPart=nil;end if
ServerRootPart then ServerRootPart=nil;end local
HumanoidRootPart=Character:WaitForChild("HumanoidRootPart",60);if not
HumanoidRootPart then return;end
ClientRootPart=HumanoidRootPart:Clone();HumanoidRootPart.RootJoint.Part0=nil;Humano
idRootPart.Parent=ClientRootPart;ClientRootPart.Transparency=1;ClientRootPart.Paren
t=Character;ServerRootPart=HumanoidRootPart;end local function
CharacterAdded(Character) if not LocalPlayer:HasAppearanceLoaded() then
LocalPlayer.CharacterAppearanceLoaded:Wait();end
CreateClientRootPart(Character);local
Humanoid=Character:WaitForChild("Humanoid");Humanoid.Died:Once(function()
ServerRootPart=nil;end);end local function PlayerFilter(Player) local function
RemoveSuspiciousHighlight(HumanoidRootPart) if
HighlightStorage:FindFirstChild(Player.Name) then
HighlightStorage:FindFirstChild(Player.Name):Destroy();end if HumanoidRootPart then
HumanoidRootPart.Transparency=1;end end if (Player==LocalPlayer) then
RemoveSuspiciousHighlight();return false;end if (Settings.IgnoreTeam and
(Player.Team==LocalPlayer.Team) and LocalPlayer.Team) then
RemoveSuspiciousHighlight();return false;end local Character=Player.Character;if
not Character then RemoveSuspiciousHighlight();return false;end if
(Settings.IgnoreForcefield and Character:FindFirstChildOfClass("ForceField")) then
return false;end local Humanoid=Character:FindFirstChildOfClass("Humanoid");if
( not Humanoid or (Humanoid.Health<=0) or (Settings.IgnoreHighHealth and
(Humanoid.Health>100))) then if (Humanoid and (Humanoid.Health>0)) then if
(Settings.HighlightSuspiciousPlayers and not
HighlightStorage:FindFirstChild(Player.Name)) then local
Highlight=SuspiciousHighlight:Clone();Highlight.Name=Player.Name;Highlight.Adornee=
Character;Highlight.Parent=HighlightStorage;end end return false;end if not
Character:FindFirstChild("HumanoidRootPart") then
RemoveSuspiciousHighlight();return false;end local
Torso=Character:FindFirstChild("Torso") or
Character:FindFirstChild("UpperTorso") ;if ( not Torso or (Settings.IgnoreInvisible
and (Torso.Transparency>Settings.InvisibleThreshold))) then if Torso then if
Settings.HighlightSuspiciousPlayers then
Character:FindFirstChild("HumanoidRootPart").Transparency=0;if not
HighlightStorage:FindFirstChild(Player.Name) then local
Highlight=SuspiciousHighlight:Clone();Highlight.Name=Player.Name;Highlight.Adornee=
Character;Highlight.Parent=HighlightStorage;end end end return false;end
RemoveSuspiciousHighlight(Character:FindFirstChild("HumanoidRootPart"));return
Character:FindFirstChild("HumanoidRootPart");end local function
GetSide(PlayerHumanoidRootPart,EnemyHumanoidRootPart) if not Settings.SmartAimbot
then return 0;end local
Looking=EnemyHumanoidRootPart.CFrame.LookVector:Dot((PlayerHumanoidRootPart.Positio
n-EnemyHumanoidRootPart.Position).Unit);local
HorizontalDot=CFrame.lookAt(PlayerHumanoidRootPart.Position,EnemyHumanoidRootPart.P
osition).RightVector:Dot(CFrame.new(EnemyHumanoidRootPart.Position,PlayerHumanoidRo
otPart.Position).LookVector);if ((Looking>0) and (Looking<0.7)) then return
3;elseif (Looking>0) then if (HorizontalDot>0.3) then return 1;elseif
(HorizontalDot<0.3) then return 2;end elseif (Looking<0) then if
(HorizontalDot>0.3) then return 2;elseif (HorizontalDot<0.3) then return 1;end end
return 0;end local function AimbotUpdate() local function ResetAimbot()
TargetHighlight.Adornee=nil;Aimbot.Target=nil;Aimbot.ServerCFrameOverwrite=nil;end
if not Aimbot.Enabled then ResetAimbot();return;end local
Character=LocalPlayer.Character;if not Character then ResetAimbot();return;end
local Humanoid=Character:FindFirstChildOfClass("Humanoid");if ( not Humanoid or
(Humanoid.Health<=0)) then ResetAimbot();return;end local
HumanoidRootPart=ClientRootPart or Character:FindFirstChild("HumanoidRootPart") ;if
( not HumanoidRootPart or (typeof(HumanoidRootPart)~="Instance") or not
HumanoidRootPart:IsA("BasePart")) then ResetAimbot();return;end local
TargetCandidates={};for _,Player in Players:GetPlayers() do local
EnemyHumanoidRootPart=PlayerFilter(Player);if ( not EnemyHumanoidRootPart or
(typeof(EnemyHumanoidRootPart)~="Instance") or not
EnemyHumanoidRootPart:IsA("BasePart")) then continue;end if not HumanoidRootPart
then continue;end local Distance=((EnemyHumanoidRootPart.Position * VECTOR_XZ) -
(HumanoidRootPart.Position * VECTOR_XZ)).Magnitude;if (Distance>Settings.Range)
then continue;end table.insert(TargetCandidates,
{Distance=Distance,Player=Player});end local
Sword=Character:FindFirstChildOfClass("Tool");if not Sword then
ResetAimbot();return;end if ( #TargetCandidates==0) then ResetAimbot();return;end
table.sort(TargetCandidates,function(CandidateA,CandidateB) return
CandidateA.Distance<CandidateB.Distance ;end);if Aimbot.Target then local
PossibleNewTarget=TargetCandidates[1];local
OldTargetHumanoidRootPart=PlayerFilter(Aimbot.Target);if not
OldTargetHumanoidRootPart then Aimbot.Target=PossibleNewTarget.Player;else local
DistanceToOldTarget=((OldTargetHumanoidRootPart.Position * VECTOR_XZ) -
(HumanoidRootPart.Position * VECTOR_XZ)).Magnitude;if
(DistanceToOldTarget>PossibleNewTarget.Distance) then
Aimbot.Target=PossibleNewTarget.Player;end end else
Aimbot.Target=TargetCandidates[1].Player;end local
TargetCharacter=Aimbot.Target.Character;if not TargetCharacter then
ResetAimbot();return;end local
AimbotHumanoid=TargetCharacter:FindFirstChild("Humanoid");if ( not AimbotHumanoid
or (AimbotHumanoid.Health<=0)) then ResetAimbot();return;end local
AimbotHumanoidRootPart=TargetCharacter:FindFirstChild("HumanoidRootPart");if ( not
AimbotHumanoidRootPart or (typeof(AimbotHumanoidRootPart)~="Instance") or not
AimbotHumanoidRootPart:IsA("BasePart")) then ResetAimbot();return;end local
Side=GetSide(HumanoidRootPart,AimbotHumanoidRootPart);local
AimPart,AimOffset=AimbotHumanoidRootPart,Vector3.zero;if (Side==0) then
AimPart=AimbotHumanoidRootPart;elseif (Side==1) then
AimPart=TargetCharacter:FindFirstChild("Left Arm") or
TargetCharacter:FindFirstChild("LeftHand") ;elseif (Side==2) then
AimPart=TargetCharacter:FindFirstChild("Right Arm") or
TargetCharacter:FindFirstChild("RightHand") ;elseif (Side==3) then
AimPart=AimbotHumanoidRootPart;AimOffset=HumanoidRootPart.CFrame.RightVector * -
1 ;end if not AimPart then ResetAimbot();return;end if not HumanoidRootPart then
ResetAimbot();return;end TargetHighlight.Adornee=TargetCharacter;local
Ping=math.max(LocalPlayer:GetNetworkPing(),30/1000 ) * 2 * 2 ;local
ForwardTrackOffset=AimbotHumanoidRootPart.AssemblyLinearVelocity * Ping ;local
TargetLookAtCFrame=((AimPart.Position + AimOffset + ForwardTrackOffset) *
VECTOR_XZ) + (Vector3.yAxis *
HumanoidRootPart.Position.Y) ;Aimbot.ServerCFrameOverwrite=CFrame.lookAt(HumanoidRo
otPart.Position,TargetLookAtCFrame);end if LocalPlayer.Character then
task.spawn(CharacterAdded,LocalPlayer.Character);end
table.insert(Connections,LocalPlayer.CharacterAdded:Connect(CharacterAdded));table.
insert(Connections,RunService
.PreSimulation:Connect(AimbotUpdate));table.insert(Connections,RunService.PostSimul
ation:Connect(UpdateServerRootPart));table.insert(Connections,UserInputService.Inpu
tBegan:Connect(function(Key,GameProcessedEvent) if GameProcessedEvent then
return;end if (Key==Settings.PanicKey) then Aimbot.Enabled= not Aimbot.Enabled;end
end)); end