
Key RequiredUniversal

local version = "V1"
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "AimControl",
Icon = "Crosshair",
LoadingTitle = "AimControl " .. version,
LoadingSubtitle = "by CovronArchives",
Theme = {
TextColor = Color3.fromRGB(255, 255, 255),
Background = Color3.fromRGB(5, 5, 5),
Topbar = Color3.fromRGB(10, 10, 10),
Shadow = Color3.fromRGB(255, 255, 255),
NotificationBackground = Color3.fromRGB(10, 10, 10),
NotificationActionsBackground = Color3.fromRGB(40, 40, 40),
TabBackground = Color3.fromRGB(15, 15, 15),
TabStroke = Color3.fromRGB(20, 20, 20),
TabBackgroundSelected = Color3.fromRGB(25, 25, 25),
TabTextColor = Color3.fromRGB(255, 255, 255),
SelectedTabTextColor = Color3.fromRGB(255, 255, 255),
ElementBackground = Color3.fromRGB(10, 10, 10),
ElementBackgroundHover = Color3.fromRGB(15, 15, 15),
SecondaryElementBackground = Color3.fromRGB(8, 8, 8),
ElementStroke = Color3.fromRGB(20, 20, 20),
SecondaryElementStroke = Color3.fromRGB(15, 15, 15),
SliderBackground = Color3.fromRGB(50, 50, 50),
SliderProgress = Color3.fromRGB(100, 100, 100),
SliderStroke = Color3.fromRGB(80, 80, 80),
ToggleBackground = Color3.fromRGB(12, 12, 12),
ToggleEnabled = Color3.fromRGB(80, 80, 80),
ToggleDisabled = Color3.fromRGB(30, 30, 30),
ToggleEnabledStroke = Color3.fromRGB(120, 120, 120),
ToggleDisabledStroke = Color3.fromRGB(20, 20, 20),
ToggleEnabledOuterStroke = Color3.fromRGB(140, 140, 140),
ToggleDisabledOuterStroke = Color3.fromRGB(10, 10, 10),
DropdownSelected = Color3.fromRGB(12, 12, 12),
DropdownUnselected = Color3.fromRGB(8, 8, 8),
InputBackground = Color3.fromRGB(10, 10, 10),
InputStroke = Color3.fromRGB(30, 30, 30),
PlaceholderColor = Color3.fromRGB(255, 255, 255)
},
ConfigurationSaving = {
Enabled = true,
FolderName = "AimControl",
FileName = "AimControlConfiguration"
},
})
local UserInputService = game:GetService("UserInputService")
if UserInputService.KeyboardEnabled and UserInputService.MouseEnabled then
Rayfield:Notify({
Title = "AimControl PC Detector",
Content = "Beware that some of the UI may not match your window size.",
Duration = 6.5,
Image = "Crosshair",
})
else
Rayfield:Notify({
Title = "AimControl Mobile Detector",
Content = "Beware that some of the UI may not match your window size.",
Duration = 6.5,
Image = "Crosshair",
})
end
local aim = Window:CreateTab("AIM", 0)
local credits = Window:CreateTab("CREDITS", 0)
local config = Window:CreateTab("CONFIGURATION", 0)
local Label = credits:CreateLabel("curator: @debugged_.", "user")
local Label = credits:CreateLabel("ideas: epicfiedten, zerokoolaid", "users")
local Label = config:CreateLabel("delete configuration will remove your current configuration", "Trash")
local Button = config:CreateButton({
Name = "DELETE CONFIGURATION",
Callback = function()
delfolder("AimControl")
wait(1)
if not isfolder("AimControl") then
Rayfield:Notify({
Title = "DELETED CONFIGURATION",
Content = "a new configuration will now load up on start",
Duration = 6.5,
Image = "Trash",
})
end
end,
})
local Section = aim:CreateSection("CameraBot")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local CameraLockEnabled = false
local HumanizedAimbotEnabled = false
local Connection
local LastTarget = nil
local function getNearestPlayer()
local closestPlayer = nil
local shortestDistance = math.huge
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local char = player.Character
local head = char:FindFirstChild("Head")
if head then
local distance = (LocalPlayer.Character.HumanoidRootPart.Position - head.Position).Magnitude
if distance < shortestDistance then
closestPlayer = char
shortestDistance = distance
end
end
end
end
return closestPlayer
end
local function smoothLookAt(targetPosition, speed)
local newCFrame = CFrame.new(Camera.CFrame.Position, targetPosition)
local tween = TweenService:Create(Camera, TweenInfo.new(speed, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = newCFrame})
tween:Play()
end
local function applyHumanizedAim(targetCharacter)
local targetHead = targetCharacter:FindFirstChild("Head")
if targetHead then
local randomOffset = Vector3.new(math.random(-2, 2) * 0.1, math.random(-2, 2) * 0.1, 0)
local randomSpeed = math.random(5, 10) * 0.01
smoothLookAt(targetHead.Position + randomOffset, randomSpeed)
end
end
local function applyCameraJiggle()
local originalCFrame = Camera.CFrame
for _ = 1, 2 do
local shakeOffset = Vector3.new(math.random(-1, 1) * 0.2, math.random(-1, 1) * 0.2, 0)
Camera.CFrame = originalCFrame * CFrame.new(shakeOffset)
task.wait(0.01)
end
Camera.CFrame = originalCFrame
end
local function switchTargetDelay(targetCharacter)
task.wait(0.04)
local currentCFrame = Camera.CFrame
local randomLookAway = currentCFrame * CFrame.Angles(0, math.rad(math.random(-30, 30)), 0)
Camera.CFrame = randomLookAway
task.wait(0.05)
applyCameraJiggle()
applyHumanizedAim(targetCharacter)
end
local Toggle = aim:CreateToggle({
Name = "AIMBOT",
CurrentValue = false,
Flag = "aimbot",
Callback = function(Value)
CameraLockEnabled = Value
if CameraLockEnabled then
Connection = RunService.RenderStepped:Connect(function()
local targetCharacter = getNearestPlayer()
if targetCharacter and targetCharacter ~= LastTarget then
switchTargetDelay(targetCharacter)
LastTarget = targetCharacter
end
if targetCharacter then
local targetHead = targetCharacter:FindFirstChild("Head")
if HumanizedAimbotEnabled then
applyHumanizedAim(targetCharacter)
elseif targetHead then
Camera.CFrame = CFrame.new(Camera.CFrame.Position, targetHead.Position)
end
end
end)
else
if Connection then
Connection:Disconnect()
Connection = nil
end
end
end
})
local HumanizedToggle = aim:CreateToggle({
Name = "HUMANIZATION",
CurrentValue = false,
Flag = "human",
Callback = function(Value)
HumanizedAimbotEnabled = Value
end
})
local TriggerbotEnabled = false
local TriggerbotConnection
local FOVCircle = Drawing.new("Circle")
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
FOVCircle.Thickness = 3
FOVCircle.NumSides = 100
FOVCircle.Radius = 50
FOVCircle.Filled = true
FOVCircle.Transparency = 0.8
FOVCircle.Visible = false
local UserInputService = game:GetService("UserInputService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local TriggerbotToggle = aim:CreateToggle({
Name = "TRIGGERBOT",
CurrentValue = false,
Flag = "triggerbot",
Callback = function(Value)
TriggerbotEnabled = Value
FOVCircle.Visible = Value
if TriggerbotEnabled then
TriggerbotConnection = RunService.RenderStepped:Connect(function()
local screenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
FOVCircle.Position = screenCenter
local targetFound = false
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local char = player.Character
local head = char:FindFirstChild("Head")
if head then
local headPosition, onScreen = Camera:WorldToViewportPoint(head.Position)
local distance = (Vector2.new(headPosition.X, headPosition.Y) - screenCenter).Magnitude
if onScreen and distance <= FOVCircle.Radius then
targetFound = true
break
end
end
end
end
if targetFound then
VirtualInputManager:SendMouseButtonEvent(screenCenter.X, screenCenter.Y, 0, true, game, 1)
task.wait(0.03)
VirtualInputManager:SendMouseButtonEvent(screenCenter.X, screenCenter.Y, 0, false, game, 1)
end
end)
else
if TriggerbotConnection then
TriggerbotConnection:Disconnect()
TriggerbotConnection = nil
end
end
end
})
local ColorPicker = aim:CreateColorPicker({
Name = "TRIGGERBOT COLOR",
Color = Color3.fromRGB(255, 255, 255),
Flag = "triggerbotcolor",
Callback = function(Value)
FOVCircle.Color = Value
end
})
local PlayerFaceLockToggle = aim:CreateToggle({
Name = "PLAYER LOCK",
CurrentValue = false,
Flag = "playerlock",
Callback = function(Value)
CameraLockEnabled = Value
if CameraLockEnabled then
PlayerFaceLockConnection = RunService.RenderStepped:Connect(function()
local targetCharacter = getNearestPlayer()
if targetCharacter then
local targetHead = targetCharacter:FindFirstChild("Head")
if targetHead then
local targetPosition = Vector3.new(targetHead.Position.X, LocalPlayer.Character.HumanoidRootPart.Position.Y, targetHead.Position.Z)
LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.lookAt(LocalPlayer.Character.HumanoidRootPart.Position, targetPosition)
end
end
end)
else
if PlayerFaceLockConnection then
PlayerFaceLockConnection:Disconnect()
PlayerFaceLockConnection = nil
end
end
end
})
local Slider = aim:CreateSlider({
Name = "TRIGGERBOT TRANSPARENCY",
Range = {0, 1},
Increment = 0.1,
Suffix = "transparency",
CurrentValue = 0,
Flag = "triggerbottransparency",
Callback = function(Value)
FOVCircle.Transparency = Value
end,
})
local Slider = aim:CreateSlider({
Name = "TRIGGERBOT SIZE",
Range = {0, 300},
Increment = 1,
Suffix = "size",
CurrentValue = 25,
Flag = "triggerbotsize",
Callback = function(Value)
FOVCircle.Radius = Value
end,
})
local users = Window:CreateTab("USERS", 0)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local highlights = {}
local Input = users:CreateInput({
Name = "TARGET",
CurrentValue = "",
PlaceholderText = "TARGET USER",
RemoveTextAfterFocusLost = false,
Flag = "target",
Callback = function(Text)
for _, player in pairs(Players:GetPlayers()) do
local character = player.Character
if character then
local highlight = character:FindFirstChild("Highlight")
if not highlight then
highlight = Instance.new("Highlight")
highlight.Parent = character
highlight.FillTransparency = 1
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlights[player] = highlight
end
if Text ~= "" and (string.find(string.lower(player.Name), string.lower(Text), 1, true)
or string.find(string.lower(player.DisplayName), string.lower(Text), 1, true)) then
highlight.Enabled = true
else
highlight.Enabled = false
end
end
end
end,
})
local ColorPicker = users:CreateColorPicker({
Name = "TARGET COLOR",
Color = Color3.fromRGB(255,255,255),
Flag = "targetcolor",
Callback = function(Value)
for _, highlight in pairs(highlights) do
if highlight then
highlight.OutlineColor = Value
end
end
end
})
--///////:()()(:::/:::///:::::::::://////:::://////////:/:/:/:/:/:/:://:://::/::/::/::
local RunService = game:GetService("RunService")
local camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local camera = game.Workspace.CurrentCamera
local crosshairSize = 10
local crosshairThickness = 3
local crosshairColor = Color3.fromRGB(255, 255, 255)
local crosshairType = "Normal"
local targetSize = crosshairSize
local animationProgress = 1
local transitioning = false
local lines = {
line1 = Drawing.new("Line"),
line2 = Drawing.new("Line"),
line3 = Drawing.new("Line"),
line4 = Drawing.new("Line")
}
local circle = Drawing.new("Circle")
circle.Visible = false
circle.Color = crosshairColor
circle.Radius = crosshairSize
circle.Thickness = crosshairThickness
circle.Filled = false
local function animateSize()
if transitioning then
animationProgress = math.min(animationProgress + 0.05, 1)
local sineEase = math.sin(animationProgress * (math.pi / 2))
crosshairSize = targetSize * sineEase
if animationProgress >= 1 then
transitioning = false
end
end
end
local function updateCrosshair()
animateSize()
local center = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local radius = crosshairSize
for _, line in pairs(lines) do
line.Visible = false
end
circle.Visible = false
if crosshairType == "CROSS" then
lines.line1.From = center + Vector2.new(-radius, -radius)
lines.line1.To = center + Vector2.new(radius, radius)
lines.line2.From = center + Vector2.new(-radius, radius)
lines.line2.To = center + Vector2.new(radius, -radius)
lines.line1.Visible = true
lines.line2.Visible = true
elseif crosshairType == "ROUND" then
circle.Position = center
circle.Radius = radius
circle.Visible = true
elseif crosshairType == "BOX" then
lines.line1.From = center + Vector2.new(-radius, -radius)
lines.line1.To = center + Vector2.new(radius, -radius)
lines.line2.From = center + Vector2.new(radius, -radius)
lines.line2.To = center + Vector2.new(radius, radius)
lines.line3.From = center + Vector2.new(radius, radius)
lines.line3.To = center + Vector2.new(-radius, radius)
lines.line4.From = center + Vector2.new(-radius, radius)
lines.line4.To = center + Vector2.new(-radius, -radius)
lines.line1.Visible = true
lines.line2.Visible = true
lines.line3.Visible = true
lines.line4.Visible = true
end
for _, line in pairs(lines) do
line.Thickness = crosshairThickness
line.Color = crosshairColor
end
circle.Thickness = crosshairThickness
circle.Color = crosshairColor
end
local connection
local Toggle = aim:CreateToggle({
Name = "CROSSHAIR",
CurrentValue = false,
Flag = "mobilecrosshair",
Callback = function(Value)
if Value then
connection = RunService.RenderStepped:Connect(updateCrosshair)
else
for _, line in pairs(lines) do
line.Visible = false
end
circle.Visible = false
if connection then
connection:Disconnect()
connection = nil
end
end
end
})
local SizeSlider = aim:CreateSlider({
Name = "CROSSHAIR SIZE",
Range = {5, 50},
Increment = 1,
Suffix = "pixels",
CurrentValue = crosshairSize,
Flag = "crosshairsize",
Callback = function(Value)
targetSize = Value
animationProgress = 0
transitioning = true
end
})
local ThicknessSlider = aim:CreateSlider({
Name = "CROSSHAIR THICKNESS",
Range = {1, 10},
Increment = 1,
Suffix = "pixels",
CurrentValue = crosshairThickness,
Flag = "crosshairthickness",
Callback = function(Value)
crosshairThickness = Value
end
})
local ColorPicker = aim:CreateColorPicker({
Name = "CROSSHAIR COLOR",
Color = crosshairColor,
Flag = "crosshaircolor",
Callback = function(Value)
crosshairColor = Value
end
})
local Dropdown = aim:CreateDropdown({
Name = "CROSSHAIR TYPE",
Options = {"ROUND", "CROSS", "BOX"},
CurrentOption = {"Normal"},
MultipleOptions = false,
Flag = "crosshairtype",
Callback = function(Options)
if crosshairType ~= Options[1] then
crosshairType = Options[1]
targetSize = crosshairSize * 1.5
animationProgress = 0
transitioning = true
end
end
})
Rayfield:LoadConfiguration()



Cool lil script
it works decently
@godexploiter why is ur pfp a * bruh :sob: