local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Camera = workspace.CurrentCamera -- === UI: Center Screen GUI === local screenGui = Instance.new("ScreenGui") screenGui.Name = "FakeAimbotOverlay" screenGui.ResetOnSpawn = false screenGui.Parent = PlayerGui -- === Hollow Blue Circle (Center) === local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 160, 0, 160) circle.Position = UDim2.new(0.5, -80, 0.5, -80) circle.BackgroundTransparency = 1 circle.BorderSizePixel = 0 local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = circle local stroke = Instance.new("UIStroke") stroke.Thickness = 4 stroke.Color = Color3.fromRGB(0, 170, 255) stroke.Transparency = 0 stroke.Parent = circle circle.Parent = screenGui -- === Crosshair (+ sign) === local function createCrosshairPart(name, size, position) local part = Instance.new("Frame") part.Name = name part.Size = UDim2.new(0, size.X, 0, size.Y) part.Position = UDim2.new(0.5, position.X, 0.5, position.Y) part.AnchorPoint = Vector2.new(0.5, 0.5) part.BackgroundColor3 = Color3.fromRGB(255, 255, 255) -- White crosshair part.BorderSizePixel = 0 return part end local thickness = 2 local length = 12 local crossV = createCrosshairPart("Vertical", Vector2.new(thickness, length), Vector2.new(0, 0)) local crossH = createCrosshairPart("Horizontal", Vector2.new(length, thickness), Vector2.new(0, 0)) crossV.Parent = screenGui crossH.Parent = screenGui -- === Player Highlights === local function highlightCharacter(character) if not character:FindFirstChild("Highlight") then local highlight = Instance.new("Highlight") local team = character.Parent:FindFirstChildOfClass("Team") -- If the player has a team, set highlight color to the team's color if team then highlight.FillColor = team.TeamColor.Color else highlight.FillColor = Color3.fromRGB(255, 255, 0) -- Default yellow highlight end highlight.OutlineColor = Color3.fromRGB(0, 0, 0) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = character end end -- === Beam Lines to Players === local function createLaser(fromPart, toPart) local attachment0 = Instance.new("Attachment", fromPart) local attachment1 = Instance.new("Attachment", toPart) local beam = Instance.new("Beam") beam.Attachment0 = attachment0 beam.Attachment1 = attachment1 beam.FaceCamera = true beam.Width0 = 0.1 beam.Width1 = 0.1 beam.Color = ColorSequence.new(Color3.fromRGB(0, 170, 255)) beam.LightInfluence = 0 beam.Transparency = NumberSequence.new(0) beam.Parent = fromPart return {beam = beam, a0 = attachment0, a1 = attachment1} end local beams = {} local function connectPlayer(player) if player == LocalPlayer then return end player.CharacterAdded:Connect(function(char) highlightCharacter(char) local head = char:WaitForChild("Head", 5) local myChar = LocalPlayer.Character if not head or not myChar or not myChar:FindFirstChild("Head") then return end local myHead = myChar.Head local beamParts = createLaser(myHead, head) beams[player] = beamParts player.AncestryChanged:Connect(function() if not player:IsDescendantOf(game) then if beams[player] then beams[player].beam:Destroy() beams[player].a0:Destroy() beams[player].a1:Destroy() beams[player] = nil end end end) end) end -- === Setup Existing Players for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then if player.Character then highlightCharacter(player.Character) connectPlayer(player) else player.CharacterAdded:Connect(function(char) connectPlayer(player) end) end end end -- === New Players Players.PlayerAdded:Connect(function(player) connectPlayer(player) end) -- === Update Beams When You Respawn === LocalPlayer.CharacterAdded:Connect(function() wait(1) for _, data in pairs(beams) do if data.beam and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Head") then data.beam.Attachment0.Parent = LocalPlayer.Character.Head end end end) -- === Evil Camera Lock (INSTANT) === local isPrankActive = true -- Controls if prank is active or not RunService.RenderStepped:Connect(function() if not isPrankActive then return end -- If prank is disabled, do nothing local myChar = LocalPlayer.Character if not myChar or not myChar:FindFirstChild("Head") then return end local myHead = myChar.Head local closest, closestDist = nil, math.huge for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then local targetHead = player.Character.Head local distance = (targetHead.Position - myHead.Position).Magnitude if distance < closestDist then closest = targetHead closestDist = distance end end end if closest then Camera.CFrame = CFrame.new(Camera.CFrame.Position, closest.Position) end end) -- === "Disable/Enable" Button === local disableButton = Instance.new("TextButton") disableButton.Size = UDim2.new(0, 200, 0, 50) disableButton.Position = UDim2.new(0.5, -100, 0, 20) disableButton.Text = "Disable" disableButton.TextColor3 = Color3.fromRGB(255, 255, 255) disableButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0) -- Initially red disableButton.BorderSizePixel = 0 disableButton.Parent = screenGui disableButton.MouseButton1Click:Connect(function() isPrankActive = not isPrankActive -- Toggle the prank's state if isPrankActive then disableButton.Text = "Disable" disableButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0) -- Green when enabled else disableButton.Text = "Enable" disableButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0) -- Red when disabled end end) -- === Dynamic Lines to Players === local function createLaserForAllPlayers() local myChar = LocalPlayer.Character if not myChar or not myChar:FindFirstChild("Head") then return end local myHead = myChar.Head for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then local targetHead = player.Character.Head createLaser(myHead, targetHead) end end end -- === First Person Check for Tracers === RunService.RenderStepped:Connect(function() if isPrankActive then local inFirstPerson = Camera.CameraType == Enum.CameraType.Scriptable or Camera.CameraType == Enum.CameraType.Custom and Camera.FieldOfView > 50 if inFirstPerson then -- Only show beams in first-person view createLaserForAllPlayers() end end end)