M
Description
this is chinese open source Main functions: Infinite jump Modify gravity Fast running speed Selfaim Quick settings ESP bullect tracing regebot
GAME[FPS] Flick
UPDATEDOct 17, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
local AimSettings = {
Enabled = false,
FOV = 100,
FOVEnabled = true,
FOVRainbowEnabled = false,
FOVRainbowSpeed = 5,
FOVColor = Color3.fromRGB(255, 255, 255),
Smoothness = 5,
CrosshairDistance = 0,
WallCheck = false,
FriendCheck = false,
TargetAll = true,
TargetPlayer = nil
}
local DrawingObjects = {}
local FOVCircle = nil
local CurrentFOVHue = 0
local ESPEnabled = false
local ESPRainbowEnabled = false
local ESPNameColor = Color3.fromRGB(255, 255, 255)
local ESPBodyColor = Color3.fromRGB(255, 255, 255)
local ESPNameSize = 14
local CurrentESPHue = 0
local ESPRainbowSpeed = 5
local BackstabCheckEnabled = false
local BackstabCooldown = 0
local BACKSTAB_COOLDOWN_TIME = 3
local DeathCheckEnabled = false
local originalGravity = workspace.Gravity
local SpeedValue = 1
local SpeedEnabled = false
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
local cloneref = cloneref or function(instance) return instance end
local WindUI = loadstring(game:HttpGet("https://raw.githubusercontent.com/Yisan886/Aero/refs/heads/main/ui.lua.txt"))()
WindUI:AddTheme({
Name = "My Theme",
Accent = Color3.fromHex("#18181b"),
Background = Color3.fromHex("#101010"),
Outline = Color3.fromHex("#FFFFFF"),
Text = Color3.fromHex("#FFFFFF"),
Placeholder = Color3.fromHex("#7a7a7a"),
Button = Color3.fromHex("#52525b"),
Icon = Color3.fromHex("#a1a1aa"),
})
local Window = WindUI:CreateWindow({
Title = "Aero ",
Folder = "Aero",
SideBarWidth = 180,
Background = "https://chaton-images.s3.us-east-2.amazonaws.com/GHn9L9UJLf0XcVNyCpbG72D0rmNmBEWndPkh6CjJNya8GLnWzz1vImvt8wlJSBwv_2700x1519x1393696.jpeg", -- video
BackgroundImageTransparency = 0.5,
OpenButton = {
Title = "打开脚本",
CornerRadius = UDim.new(1, 0),
StrokeThickness = 3,
Enabled = true,
Draggable = true,
OnlyMobile = false,
Scale = 0.9,
Color = ColorSequence.new(
Color3.fromHex("#30FF6A"),
Color3.fromHex("#e7ff2f")
),
},
Topbar = {
Height = 44,
ButtonsType = "Mac",
},
})
Window:Tag({
Title = "V1.03",
Color = Color3.fromHex("00CED1"),
Radius = 2,
})
Window:Tag({
Title = "伊散",
Icon = "crown",
Color = Color3.fromHex("FFD700"),
Radius = 2,
})
Window:Tag({
Title = "苏达",
Icon = "square-chevron-right",
Color = Color3.fromHex("#30ff6a"),
Radius = 2,
})
local COLOR_SCHEMES = {
["彩虹颜色"] = {ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromHex("FF0000")),
ColorSequenceKeypoint.new(0.16, Color3.fromHex("FFA500")),
ColorSequenceKeypoint.new(0.33, Color3.fromHex("FFFF00")),
ColorSequenceKeypoint.new(0.5, Color3.fromHex("00FF00")),
ColorSequenceKeypoint.new(0.66, Color3.fromHex("0000FF")),
ColorSequenceKeypoint.new(0.83, Color3.fromHex("4B0082")),
ColorSequenceKeypoint.new(1, Color3.fromHex("EE82EE"))
}), "palette"},
["绿黄渐变"] = {ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromHex("30FF6A")),
ColorSequenceKeypoint.new(0.5, Color3.fromHex("a8ff00")),
ColorSequenceKeypoint.new(1, Color3.fromHex("e7ff2f"))
}), "waves"},
}
local borderAnimation
local animationSpeed = 5
local function createRainbowBorder(window, colorScheme)
local mainFrame = window.UIElements.Main
if not mainFrame then return nil end
local existingStroke = mainFrame:FindFirstChild("RainbowStroke")
if existingStroke then existingStroke:Destroy() end
if not mainFrame:FindFirstChildOfClass("UICorner") then
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 16)
corner.Parent = mainFrame
end
local rainbowStroke = Instance.new("UIStroke")
rainbowStroke.Name = "RainbowStroke"
rainbowStroke.Thickness = 2
rainbowStroke.Color = Color3.new(1, 1, 1)
rainbowStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
rainbowStroke.LineJoinMode = Enum.LineJoinMode.Round
rainbowStroke.Parent = mainFrame
local glowEffect = Instance.new("UIGradient")
glowEffect.Name = "GlowEffect"
local schemeData = COLOR_SCHEMES[colorScheme or "彩虹颜色"]
glowEffect.Color = schemeData and schemeData[1] or COLOR_SCHEMES["彩虹颜色"][1]
glowEffect.Rotation = 0
glowEffect.Parent = rainbowStroke
return rainbowStroke
end
local function startBorderAnimation(window, speed)
local mainFrame = window.UIElements.Main
if not mainFrame then return nil end
local rainbowStroke = mainFrame:FindFirstChild("RainbowStroke")
if not rainbowStroke then return nil end
local glowEffect = rainbowStroke:FindFirstChild("GlowEffect")
if not glowEffect then return nil end
return game:GetService("RunService").Heartbeat:Connect(function()
if not rainbowStroke or rainbowStroke.Parent == nil then return end
glowEffect.Rotation = (tick() * speed * 10) % 360
end)
end
local rainbowStroke = createRainbowBorder(Window, "彩虹颜色")
if rainbowStroke then
borderAnimation = startBorderAnimation(Window, animationSpeed)
end
local Lighting = game:GetService("Lighting")
local TweenServiceBlur = game:GetService("TweenService")
local blur = Lighting:FindFirstChildOfClass("BlurEffect")
if not blur then
blur = Instance.new("BlurEffect")
blur.Size = 0
blur.Parent = Lighting
end
task.spawn(function()
local wasOpen = false
while true do
task.wait(0.1)
local mainFrame = Window.UIElements and Window.UIElements.Main
local isOpen = mainFrame and mainFrame.Visible or false
if isOpen ~= wasOpen then
wasOpen = isOpen
TweenServiceBlur:Create(blur, TweenInfo.new(0.3), {
Size = isOpen and 20 or 0
}):Play()
end
end
end)
local AimBlacklist = {}
local AimTeamCheck = false
local AimTargetPart = "头"
local ESPMaxDistance = 1000
local blacklistInput
local function GetRainbowColor(hue)
hue = hue % 1
local r, g, b
local i = math.floor(hue * 6)
local f = hue * 6 - i
local p = 1
local q = 1 - f
local t = f
if i % 6 == 0 then r, g, b = 1, t, p
elseif i % 6 == 1 then r, g, b = q, 1, p
elseif i % 6 == 2 then r, g, b = p, 1, t
elseif i % 6 == 3 then r, g, b = p, q, 1
elseif i % 6 == 4 then r, g, b = t, p, 1
else r, g, b = 1, p, q end
return Color3.new(r, g, b)
end
local function InitESP()
ESP_ScreenGui = Instance.new("ScreenGui")
ESP_ScreenGui.Name = "PlayerESP_System"
ESP_ScreenGui.ResetOnSpawn = false
ESP_ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ESP_ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
ESPFolder = Instance.new("Folder")
ESPFolder.Name = "PlayerESPFolder"
ESPFolder.Parent = ESP_ScreenGui
end
local function UpdateESPColors()
if not ESPEnabled or not ESPFolder then return end
pcall(function()
for _, child in ipairs(ESPFolder:GetChildren()) do
if child:IsA("BillboardGui") then
local nameLabel = child:FindFirstChild("NameLabel")
if nameLabel then
nameLabel.TextColor3 = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPNameColor
nameLabel.TextSize = ESPNameSize
end
elseif child:IsA("Highlight") then
child.FillColor = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPBodyColor
child.OutlineColor = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPBodyColor
end
end
end)
end
local function UpdateESPNameSize()
if not ESPEnabled or not ESPFolder then return end
pcall(function()
for _, child in ipairs(ESPFolder:GetChildren()) do
if child:IsA("BillboardGui") then
local nameLabel = child:FindFirstChild("NameLabel")
if nameLabel then
nameLabel.TextSize = ESPNameSize
end
end
end
end)
end
local function CreatePlayerESP(player)
if player == LocalPlayer or not ESPEnabled then return end
pcall(function()
local character = player.Character
if not character then return end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return end
local existingESP = ESPFolder:FindFirstChild(player.Name)
if existingESP then existingESP:Destroy() end
local ESPGui = Instance.new("BillboardGui")
ESPGui.Name = player.Name
ESPGui.Adornee = humanoidRootPart
ESPGui.Size = UDim2.new(0, 100, 0, 40)
ESPGui.StudsOffset = Vector3.new(0, 3, 0)
ESPGui.AlwaysOnTop = true
ESPGui.MaxDistance = 10000
ESPGui.Enabled = true
ESPGui.Parent = ESPFolder
local NameLabel = Instance.new("TextLabel")
NameLabel.Size = UDim2.new(1, 0, 0.5, 0)
NameLabel.BackgroundTransparency = 1
NameLabel.Font = Enum.Font.GothamBold
NameLabel.TextSize = ESPNameSize
NameLabel.TextColor3 = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPNameColor
NameLabel.TextStrokeTransparency = 0.5
NameLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
NameLabel.Text = player.Name
NameLabel.Parent = ESPGui
local DistanceLabel = Instance.new("TextLabel")
DistanceLabel.Size = UDim2.new(1, 0, 0.5, 0)
DistanceLabel.Position = UDim2.new(0, 0, 0.5, 0)
DistanceLabel.BackgroundTransparency = 1
DistanceLabel.Font = Enum.Font.Gotham
DistanceLabel.TextSize = 12
DistanceLabel.TextColor3 = Color3.fromRGB(240, 255, 245)
DistanceLabel.TextStrokeTransparency = 0.5
DistanceLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
DistanceLabel.Name = "DistanceLabel"
DistanceLabel.Parent = ESPGui
local Highlight = Instance.new("Highlight")
Highlight.Name = player.Name .. "_Highlight"
Highlight.Adornee = character
Highlight.FillColor = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPBodyColor
Highlight.FillTransparency = 0.7
Highlight.OutlineColor = ESPRainbowEnabled and GetRainbowColor(CurrentESPHue) or ESPBodyColor
Highlight.OutlineTransparency = 0
Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
Highlight.Enabled = true
Highlight.Parent = ESPFolder
end)
end
local function CheckBackstabThreat()
if not BackstabCheckEnabled then return end
if BackstabCooldown > 0 then return end
pcall(function()
local myCharacter = LocalPlayer.Character
local myHRP = myCharacter and myCharacter:FindFirstChild("HumanoidRootPart")
if not myHRP then return end
local myPosition = myHRP.Position
local myCFrame = myHRP.CFrame
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local hrp = player.Character:FindFirstChild("HumanoidRootPart")
local humanoid = player.Character:FindFirstChild("Humanoid")
if hrp and humanoid and humanoid.Health > 0 then
local enemyPosition = hrp.Position
local distance = (myPosition - enemyPosition).Magnitude
if distance < 30 then
local toEnemy = (enemyPosition - myPosition).Unit
local myForward = myCFrame.LookVector
local dotProduct = toEnemy:Dot(myForward)
if dotProduct < 0.5 then
WindUI:Notify({
Title = "有人偷袭",
Content = "小心有人要偷袭你:" .. player.Name,
Icon = "alert-triangle",
Color = Color3.fromRGB(255, 100, 100),
Duration = 5
})
BackstabCooldown = BACKSTAB_COOLDOWN_TIME
break
end
end
end
end
end
end)
end
local function SetupDeathDetection()
LocalPlayer.CharacterAdded:Connect(function(character)
task.wait(0.5)
pcall(function()
local humanoid = character:WaitForChild("Humanoid")
humanoid.Died:Connect(function()
if DeathCheckEnabled then
WindUI:Notify({
Title = "死亡提醒",
Content = "受着",
Icon = "skull",
Color = Color3.fromRGB(255, 0, 0),
Duration = 8
})
end
end)
end)
end)
if LocalPlayer.Character then
pcall(function()
local humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")
if humanoid then
humanoid.Died:Connect(function()
if DeathCheckEnabled then
WindUI:Notify({
Title = "死亡提醒",
Content = "受着",
Icon = "skull",
Color = Color3.fromRGB(255, 0, 0),
Duration = 8
})
end
end)
end
end)
end
end
local function UpdateESP()
if not ESPEnabled then return end
pcall(function()
local myCharacter = LocalPlayer.Character
local myHRP = myCharacter and myCharacter:FindFirstChild("HumanoidRootPart")
if not myHRP then return end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local character = player.Character
if character then
local hrp = character:FindFirstChild("HumanoidRootPart")
if hrp then
local espGui = ESPFolder:FindFirstChild(player.Name)
if not espGui then
CreatePlayerESP(player)
espGui = ESPFolder:FindFirstChild(player.Name)
end
if espGui then
local distance = (myHRP.Position - hrp.Position).Magnitude
local distanceLabel = espGui:FindFirstChild("DistanceLabel")
if distanceLabel then
distanceLabel.Text = string.format("%.0f studs", distance)
end
if distance > ESPMaxDistance then
espGui.Enabled = false
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight.Enabled = false end
else
local teamHide = false
if ESPTeamCheck and LocalPlayer.Team and player.Team and player.Team == LocalPlayer.Team then
teamHide = true
end
if teamHide then
espGui.Enabled = false
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight.Enabled = false end
else
espGui.Enabled = true
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight.Enabled = true end
end
end
end
else
local espGui = ESPFolder:FindFirstChild(player.Name)
if espGui then espGui:Destroy() end
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight:Destroy() end
end
else
local esp = ESPFolder:FindFirstChild(player.Name)
if esp then esp:Destroy() end
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight:Destroy() end
end
end
end
end)
end
local function ToggleESP(state)
ESPEnabled = state
if state then
pcall(function()
if not ESP_ScreenGui then InitESP() end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
CreatePlayerESP(player)
end
end
WindUI:Notify({
Title = "透视",
Content = "玩家透视已开启",
Icon = "eye",
})
end)
else
pcall(function()
if ESPFolder then
for _, esp in ipairs(ESPFolder:GetChildren()) do
esp:Destroy()
end
end
WindUI:Notify({
Title = "透视",
Content = "玩家透视已关闭",
Icon = "eye",
})
end)
end
end
InitESP()
LocalPlayer.CharacterAdded:Connect(function()
task.wait(1)
if ESPEnabled then
pcall(function()
if ESPFolder then
for _, esp in ipairs(ESPFolder:GetChildren()) do
esp:Destroy()
end
end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
CreatePlayerESP(player)
end
end
end)
end
end)
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function()
if ESPEnabled then
task.wait(1)
pcall(function()
CreatePlayerESP(player)
end)
end
end)
end)
Players.PlayerRemoving:Connect(function(player)
pcall(function()
if ESPFolder then
local espGui = ESPFolder:FindFirstChild(player.Name)
if espGui then espGui:Destroy() end
local highlight = ESPFolder:FindFirstChild(player.Name .. "_Highlight")
if highlight then highlight:Destroy() end
end
if CurrentTarget == player then
CurrentTarget = nil
end
for i, name in ipairs(AimBlacklist) do
if name == player.Name then
table.remove(AimBlacklist, i)
break
end
end
if blacklistInput and blacklistInput.SetValue then
blacklistInput:SetValue(table.concat(AimBlacklist, ", "))
end
end)
end)
local function heartBeatLoop(deltaTime)
pcall(function()
UpdateESP()
if ESPRainbowEnabled then
CurrentESPHue = CurrentESPHue + deltaTime * ESPRainbowSpeed / 10
UpdateESPColors()
end
if BackstabCooldown > 0 then
BackstabCooldown = BackstabCooldown - deltaTime
end
CheckBackstabThreat()
end)
end
RunService.Heartbeat:Connect(heartBeatLoop)
local PlayerTab = Window:Tab({
Title = "本地玩家",
Icon = "crown",
Locked = false,
})
Window:SelectTab(1)
do
PlayerTab:Section({
Title = "主要功能",
TextSize = 16,
FontWeight = Enum.FontWeight.SemiBold,
})
PlayerTab:Toggle({
Title = "无限跳跃",
Desc = "启用后可以无限跳跃",
Callback = function(enabled)
InfiniteJumpEnabled = enabled
if enabled then
if JumpConnection then
JumpConnection:Disconnect()
end
JumpConnection = UserInputService.JumpRequest:Connect(function()
pcall(function()
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid:ChangeState("Jumping")
end
end)
end)
WindUI:Notify({
Title = "无限跳跃",
Content = "已开启无限跳跃",
Icon = "jump-rope",
})
else
if JumpConnection then
JumpConnection:Disconnect()
JumpConnection = nil
end
WindUI:Notify({
Title = "无限跳跃",
Content = "已关闭无限跳跃",
Icon = "jump-rope",
})
end
end
})
PlayerTab:Space()
PlayerTab:Input({
Title = "设置重力",
Desc = "输入重力值 (默认:196" .. tostring(originalGravity) .. ")",
Placeholder = "输入重力值",
Callback = function(value)
local numValue = tonumber(value)
if numValue then
if GravityLoop then
GravityLoop:Disconnect()
GravityLoop = nil
end
workspace.Gravity = numValue
WindUI:Notify({
Title = "重力设置",
Content = "重力已设置为: " .. tostring(numValue),
Icon = "weight",
})
else
WindUI:Notify({
Title = "错误来了",
Content = "请输入数字",
Icon = "alert-circle",
Color = Red,
})
end
end
})
PlayerTab:Space()
PlayerTab:Input({
Title = "设置快速跑步速度",
Desc = "输入速度 (默认: 1)",
Placeholder = "输入速度",
Callback = function(value)
local numValue = tonumber(value)
if numValue then
SpeedValue = numValue
WindUI:Notify({
Title = "速度设置",
Content = "速度已设置为: " .. tostring(numValue) .. "速度",
Icon = "zap",
})
else
WindUI:Notify({
Title = "错误来了",
Content = "请输入有效数字",
Icon = "alert-circle",
Color = Red,
})
end
end
})
PlayerTab:Toggle({
Title = "开启快速跑步",
Desc = "启用快速跑步功能",
Callback = function(enabled)
SpeedEnabled = enabled
if enabled then
if SpeedConnection then
SpeedConnection:Disconnect()
end
SpeedConnection = RunService.Heartbeat:Connect(function()
pcall(function()
local player = LocalPlayer
local char = player.Character
if char and char:FindFirstChild("Humanoid") then
local humanoid = char.Humanoid
if humanoid.MoveDirection.Magnitude > 0 then
char:TranslateBy(humanoid.MoveDirection * SpeedValue / 2)
end
end
end)
end)
else
if SpeedConnection then
SpeedConnection:Disconnect()
SpeedConnection = nil
end
end
end
})
end
local AimTab = Window:Tab({
Title = "自瞄设置",
Icon = "crown",
Locked = false,
})
local function InitializeAimDrawings()
pcall(function()
if not FOVCircle then
FOVCircle = Drawing.new("Circle")
FOVCircle.Visible = AimSettings.Enabled and AimSettings.FOVEnabled
FOVCircle.Thickness = 2
FOVCircle.Filled = false
FOVCircle.Radius = AimSettings.FOV
FOVCircle.Position = workspace.CurrentCamera.ViewportSize / 2
table.insert(DrawingObjects, FOVCircle)
end
end)
end
local function UpdateFOVCircle()
pcall(function()
if FOVCircle then
FOVCircle.Visible = AimSettings.Enabled and AimSettings.FOVEnabled
FOVCircle.Radius = AimSettings.FOV
if AimSettings.FOVRainbowEnabled then
FOVCircle.Color = GetRainbowColor(CurrentFOVHue)
else
FOVCircle.Color = AimSettings.FOVColor
end
FOVCircle.Position = workspace.CurrentCamera.ViewportSize / 2
end
end)
end
local function CleanupDrawings()
pcall(function()
for _, drawing in ipairs(DrawingObjects) do
if drawing then
drawing:Remove()
end
end
DrawingObjects = {}
FOVCircle = nil
end)
end
local function IsFriend(player)
if not AimSettings.FriendCheck then
return false
end
local success, result = pcall(function()
if LocalPlayer:IsFriendsWith(player.UserId) then
return true
end
return false
end)
return success and result
end
local function WallCheck(targetPosition, targetCharacter)
if not AimSettings.WallCheck then
return true
end
local success, result = pcall(function()
local camera = workspace.CurrentCamera
local origin = camera.CFrame.Position
local direction = (targetPosition - origin).Unit
local distance = (targetPosition - origin).Magnitude
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {LocalPlayer.Character, targetCharacter}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
raycastParams.IgnoreWater = true
raycastParams.CollisionGroup = "Default"
local raycastResult = workspace:Raycast(origin, direction * distance, raycastParams)
return raycastResult == nil
end)
return success and result
end
local function GetTargetPosition(character, partName)
if not character then return nil end
local part
if partName == "头" then
part = character:FindFirstChild("Head")
elseif partName == "上身" then
part = character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso") or character:FindFirstChild("HumanoidRootPart")
elseif partName == "左腿" then
part = character:FindFirstChild("Left Leg") or character:FindFirstChild("LeftLowerLeg") or character:FindFirstChild("LeftUpperLeg")
elseif partName == "右腿" then
part = character:FindFirstChild("Right Leg") or character:FindFirstChild("RightLowerLeg") or character:FindFirstChild("RightUpperLeg")
elseif partName == "裆部" then
part = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("LowerTorso")
elseif partName == "胸部" then
part = character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso")
else
part = character:FindFirstChild("Head")
end
return part and part.Position
end
local function GetClosestPlayer()
local camera = workspace.CurrentCamera
local mousePos = camera.ViewportSize / 2
local nearestPlayer = nil
local shortestDistance = AimSettings.FOV
if AimSettings.TargetPlayer and not AimSettings.TargetAll then
local target = Players:FindFirstChild(AimSettings.TargetPlayer)
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
local inBlacklist = false
for _, blackName in ipairs(AimBlacklist) do
if target.Name == blackName then
inBlacklist = true
break
end
end
if not inBlacklist then
if AimTeamCheck then
local myTeam = LocalPlayer.Team
if myTeam and target.Team == myTeam then
CurrentTarget = nil
return nil
end
end
local humanoid = target.Character:FindFirstChild("Humanoid")
if humanoid and humanoid.Health > 0 then
local targetPos = target.Character.HumanoidRootPart.Position
local screenPos, onScreen = camera:WorldToViewportPoint(targetPos)
if onScreen then
local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if distance <= AimSettings.FOV and WallCheck(targetPos, target.Character) then
if not AimSettings.FriendCheck or not IsFriend(target) then
CurrentTarget = target
return target
end
end
end
end
end
end
CurrentTarget = nil
return nil
end
if CurrentTarget and CurrentTarget ~= LocalPlayer and CurrentTarget.Character then
local hrp = CurrentTarget.Character:FindFirstChild("HumanoidRootPart")
local humanoid = CurrentTarget.Character:FindFirstChild("Humanoid")
if hrp and humanoid and humanoid.Health > 0 then
local inBlacklist = false
for _, blackName in ipairs(AimBlacklist) do
if CurrentTarget.Name == blackName then
inBlacklist = true
break
end
end
if not inBlacklist then
if AimTeamCheck then
local myTeam = LocalPlayer.Team
if myTeam and CurrentTarget.Team == myTeam then
CurrentTarget = nil
return nil
end
end
local screenPos, onScreen = camera:WorldToViewportPoint(hrp.Position)
if onScreen then
local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if distance <= AimSettings.FOV and WallCheck(hrp.Position, CurrentTarget.Character) then
if not AimSettings.FriendCheck or not IsFriend(CurrentTarget) then
return CurrentTarget
end
end
end
end
end
end
CurrentTarget = nil
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local skip = false
if AimSettings.FriendCheck and IsFriend(player) then
skip = true
end
if not skip then
for _, blackName in ipairs(AimBlacklist) do
if player.Name == blackName then
skip = true
break
end
end
end
if not skip then
if AimTeamCheck then
local myTeam = LocalPlayer.Team
if myTeam and player.Team == myTeam then
skip = true
end
end
end
if not skip then
local humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
local humanoid = player.Character:FindFirstChild("Humanoid")
if humanoidRootPart and humanoid and humanoid.Health > 0 then
if WallCheck(humanoidRootPart.Position, player.Character) then
local screenPos, onScreen = camera:WorldToViewportPoint(humanoidRootPart.Position)
if onScreen then
local distance = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if distance < shortestDistance then
shortestDistance = distance
nearestPlayer = player
end
end
end
end
end
end
end
if nearestPlayer then
CurrentTarget = nearestPlayer
end
return nearestPlayer
end
local function AimBot()
if not AimSettings.Enabled then
return
end
pcall(function()
local camera = workspace.CurrentCamera
local target = GetClosestPlayer()
if target and target.Character then
local humanoidRootPart = target.Character:FindFirstChild("HumanoidRootPart")
local head = target.Character:FindFirstChild("Head")
local targetPosition = GetTargetPosition(target.Character, AimTargetPart) or (head and head.Position) or (humanoidRootPart and humanoidRootPart.Position)
if not targetPosition then return end
if humanoidRootPart then
local targetVelocity = humanoidRootPart.Velocity
if AimSettings.CrosshairDistance > 0 then
local distance = (targetPosition - camera.CFrame.Position).Magnitude
local timeToTarget = distance / 1000
targetPosition = targetPosition + (targetVelocity * timeToTarget * AimSettings.CrosshairDistance)
end
end
local currentCFrame = camera.CFrame
local targetCFrame = CFrame.new(currentCFrame.Position, targetPosition)
local smoothedCFrame = currentCFrame:Lerp(targetCFrame, 1 / AimSettings.Smoothness)
camera.CFrame = smoothedCFrame
end
end)
end
local function CreateRainbowUI()
if RainbowUIScreenGui then
RainbowUIScreenGui:Destroy()
RainbowUIScreenGui = nil
end
local playerGui = LocalPlayer:WaitForChild("PlayerGui")
RainbowUIScreenGui = Instance.new("ScreenGui")
RainbowUIScreenGui.Name = "RainbowCircleUI"
RainbowUIScreenGui.ResetOnSpawn = false
RainbowUIScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global
RainbowUIScreenGui.DisplayOrder = 99999
RainbowUIScreenGui.IgnoreGuiInset = true
RainbowUIScreenGui.Enabled = true
RainbowUIScreenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "RainbowCircle"
mainFrame.Size = UDim2.new(0, 80, 0, 80)
mainFrame.Position = UDim2.new(0, 10, 0, 10)
mainFrame.BackgroundTransparency = 1
mainFrame.ZIndex = 100000
mainFrame.Parent = RainbowUIScreenGui
mainFrame.Active = true
mainFrame.Selectable = true
mainFrame.Draggable = false
local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(1, 0)
uiCorner.Parent = mainFrame
local rainbowBackground = Instance.new("Frame")
rainbowBackground.Name = "RainbowBackground"
rainbowBackground.Size = UDim2.new(1, 0, 1, 0)
rainbowBackground.Position = UDim2.new(0, 0, 0, 0)
rainbowBackground.BackgroundTransparency = 0
rainbowBackground.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
rainbowBackground.ZIndex = 100001
rainbowBackground.Parent = mainFrame
rainbowBackground.Active = true
rainbowBackground.Selectable = true
local rainbowCorner = Instance.new("UICorner")
rainbowCorner.CornerRadius = UDim.new(1, 0)
rainbowCorner.Parent = rainbowBackground
local rainbowStroke = Instance.new("UIStroke")
rainbowStroke.Name = "RainbowStroke"
rainbowStroke.Color = Color3.fromRGB(255, 255, 255)
rainbowStroke.Thickness = 3
rainbowStroke.Transparency = 0
rainbowStroke.Parent = mainFrame
local innerStroke = Instance.new("UIStroke")
innerStroke.Name = "InnerStroke"
innerStroke.Color = Color3.fromRGB(0, 0, 0)
innerStroke.Thickness = 1
innerStroke.Transparency = 0.3
innerStroke.Parent = rainbowBackground
StatusIndicator = Instance.new("Frame")
StatusIndicator.Name = "StatusIndicator"
StatusIndicator.Size = UDim2.new(0, 15, 0, 15)
StatusIndicator.Position = UDim2.new(1, -18, 1, -18)
StatusIndicator.BackgroundColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
StatusIndicator.BackgroundTransparency = 0
StatusIndicator.ZIndex = 100002
StatusIndicator.Parent = mainFrame
local indicatorCorner = Instance.new("UICorner")
indicatorCorner.CornerRadius = UDim.new(1, 0)
indicatorCorner.Parent = StatusIndicator
local indicatorStroke = Instance.new("UIStroke")
indicatorStroke.Color = Color3.fromRGB(255, 255, 255)
indicatorStroke.Thickness = 2
indicatorStroke.Parent = StatusIndicator
local statusText = Instance.new("TextLabel")
statusText.Name = "StatusText"
statusText.Size = UDim2.new(1, 0, 0, 25)
statusText.Position = UDim2.new(0, 0, 1, 5)
statusText.BackgroundTransparency = 1
statusText.Text = AimSettings.Enabled and "自瞄开" or "自瞄关"
statusText.TextColor3 = Color3.fromRGB(255, 255, 255)
statusText.TextSize = 14
statusText.Font = Enum.Font.GothamBold
statusText.TextStrokeTransparency = 0.3
statusText.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
statusText.TextStrokeTransparency = 0.3
statusText.ZIndex = 100002
statusText.Parent = mainFrame
local clickArea = Instance.new("TextButton")
clickArea.Name = "ClickArea"
clickArea.Size = UDim2.new(1, 0, 1, 0)
clickArea.Position = UDim2.new(0, 0, 0, 0)
clickArea.BackgroundTransparency = 1
clickArea.Text = ""
clickArea.ZIndex = 100003
clickArea.Parent = mainFrame
local rainbowColors = {
Color3.fromRGB(255, 0, 0),
Color3.fromRGB(255, 95, 0),
Color3.fromRGB(255, 165, 0),
Color3.fromRGB(255, 215, 0),
Color3.fromRGB(255, 255, 0),
Color3.fromRGB(144, 238, 144),
Color3.fromRGB(0, 255, 0),
Color3.fromRGB(0, 200, 200),
Color3.fromRGB(0, 0, 255),
Color3.fromRGB(75, 0, 130),
Color3.fromRGB(138, 43, 226),
Color3.fromRGB(148, 0, 211),
Color3.fromRGB(199, 21, 133),
Color3.fromRGB(255, 20, 147)
}
local rainbowColors2 = {
Color3.fromRGB(255, 0, 0),
Color3.fromRGB(255, 127, 0),
Color3.fromRGB(255, 255, 0),
Color3.fromRGB(0, 255, 0),
Color3.fromRGB(0, 0, 255),
Color3.fromRGB(75, 0, 130),
Color3.fromRGB(148, 0, 211)
}
local timeOffset = 0
local hoverAmplitude = 4
local hoverSpeed = 4
local pulseSpeed = 2
local pulseAmount = 0.1
local colorIndex = 1
local colorIndex2 = 3
local transitionTime = 0.8
local transitionTime2 = 0.5
local elapsedTime = 0
local elapsedTime2 = 0
local pulseScale = 1
local isPulsingOut = true
if animationConnection then
animationConnection:Disconnect()
end
animationConnection = RunService.RenderStepped:Connect(function(deltaTime)
pcall(function()
if not RainbowUIEnabled or not RainbowUIScreenGui or not RainbowUIScreenGui.Parent then
animationConnection:Disconnect()
animationConnection = nil
return
end
elapsedTime = elapsedTime + deltaTime
if elapsedTime >= transitionTime then
elapsedTime = 0
colorIndex = colorIndex + 1
if colorIndex > #rainbowColors then
colorIndex = 1
end
end
local nextColorIndex = colorIndex + 1
if nextColorIndex > #rainbowColors then
nextColorIndex = 1
end
local alpha = elapsedTime / transitionTime
local currentBgColor = rainbowColors[colorIndex]:Lerp(rainbowColors[nextColorIndex], alpha)
rainbowBackground.BackgroundColor3 = currentBgColor
elapsedTime2 = elapsedTime2 + deltaTime
if elapsedTime2 >= transitionTime2 then
elapsedTime2 = 0
colorIndex2 = colorIndex2 + 1
if colorIndex2 > #rainbowColors2 then
colorIndex2 = 1
end
end
local nextColorIndex2 = colorIndex2 + 1
if nextColorIndex2 > #rainbowColors2 then
nextColorIndex2 = 1
end
local alpha2 = elapsedTime2 / transitionTime2
local currentStrokeColor = rainbowColors2[colorIndex2]:Lerp(rainbowColors2[nextColorIndex2], alpha2)
rainbowStroke.Color = currentStrokeColor
if isPulsingOut then
pulseScale = pulseScale + deltaTime * pulseSpeed * pulseAmount
if pulseScale >= 1 + pulseAmount then
isPulsingOut = false
end
else
pulseScale = pulseScale - deltaTime * pulseSpeed * pulseAmount
if pulseScale <= 1 - pulseAmount then
isPulsingOut = true
end
end
rainbowBackground.Size = UDim2.new(pulseScale, 0, pulseScale, 0)
rainbowBackground.Position = UDim2.new((1 - pulseScale) / 2, 0, (1 - pulseScale) / 2, 0)
timeOffset = timeOffset + deltaTime * hoverSpeed
local hoverOffset = math.sin(timeOffset) * hoverAmplitude
mainFrame.Position = UDim2.new(0, 10, 0, 10 + hoverOffset)
innerStroke.Transparency = 0.2 + 0.3 * math.sin(timeOffset * 2)
if StatusIndicator then
StatusIndicator.BackgroundColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
end
if statusText then
statusText.Text = AimSettings.Enabled and "自瞄开" or "自瞄关"
statusText.TextColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 100, 100)
end
end)
end)
local function handleClick()
AimSettings.Enabled = not AimSettings.Enabled
if AimSettings.Enabled then
InitializeAimDrawings()
UpdateFOVCircle()
if AimConnection then
AimConnection:Disconnect()
end
AimConnection = RunService.RenderStepped:Connect(function(deltaTime)
pcall(function()
if AimSettings.FOVRainbowEnabled then
CurrentFOVHue = CurrentFOVHue + deltaTime * AimSettings.FOVRainbowSpeed / 10
end
UpdateFOVCircle()
AimBot()
end)
end)
else
if AimConnection then
AimConnection:Disconnect()
AimConnection = nil
end
CleanupDrawings()
CurrentTarget = nil
end
if StatusIndicator then
StatusIndicator.BackgroundColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
end
if statusText then
statusText.Text = AimSettings.Enabled and "自瞄开" or "自瞄关"
statusText.TextColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 100, 100)
end
local originalSize = rainbowBackground.Size
local originalPosition = rainbowBackground.Position
local tweenInfo1 = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tweenInfo2 = TweenInfo.new(0.15, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out)
local clickScaleUp = TweenService:Create(rainbowBackground, tweenInfo1, {
Size = originalSize * 0.7,
Position = UDim2.new(0.15, 0, 0.15, 0)
})
local clickScaleDown = TweenService:Create(rainbowBackground, tweenInfo2, {
Size = originalSize,
Position = originalPosition
})
local originalStrokeColor = rainbowStroke.Color
local flashTween = TweenService:Create(rainbowStroke, tweenInfo1, {
Color = Color3.fromRGB(255, 255, 255)
})
local revertStroke = TweenService:Create(rainbowStroke, tweenInfo2, {
Color = originalStrokeColor
})
clickScaleUp:Play()
flashTween:Play()
clickScaleUp.Completed:Connect(function()
clickScaleDown:Play()
revertStroke:Play()
end)
end
clickArea.MouseButton1Click:Connect(handleClick)
mainFrame.MouseButton1Click:Connect(handleClick)
mainFrame.MouseEnter:Connect(function()
local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween1 = TweenService:Create(rainbowStroke, tweenInfo, {
Thickness = 6
})
pulseAmount = 0.15
tween1:Play()
end)
mainFrame.MouseLeave:Connect(function()
local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween1 = TweenService:Create(rainbowStroke, tweenInfo, {
Thickness = 3
})
pulseAmount = 0.1
tween1:Play()
end)
rainbowBackground.BackgroundTransparency = 1
rainbowStroke.Transparency = 1
local fadeIn = TweenService:Create(rainbowBackground, TweenInfo.new(0.5), {
BackgroundTransparency = 0
})
local strokeFadeIn = TweenService:Create(rainbowStroke, TweenInfo.new(0.5), {
Transparency = 0
})
task.wait(0.2)
fadeIn:Play()
strokeFadeIn:Play()
return true
end
local function ToggleRainbowUI(state)
RainbowUIEnabled = state
if state then
local success = CreateRainbowUI()
if success then
WindUI:Notify({
Title = "自瞄快捷UI",
Content = "快捷UI 让你秒人更加高效",
Icon = "sparkles",
})
end
else
if RainbowUIScreenGui then
RainbowUIScreenGui:Destroy()
RainbowUIScreenGui = nil
end
WindUI:Notify({
Title = "自瞄快捷UI",
Content = "快捷UI已隐藏",
Icon = "sparkles",
})
end
end
do
AimTab:Section({
Title = "自瞄设置",
TextSize = 16,
FontWeight = Enum.FontWeight.SemiBold,
})
AimTab:Toggle({
Title = "启用自瞄",
Desc = "开启/关闭自瞄功能",
Callback = function(enabled)
AimSettings.Enabled = enabled
if enabled then
InitializeAimDrawings()
UpdateFOVCircle()
if AimConnection then
AimConnection:Disconnect()
end
AimConnection = RunService.RenderStepped:Connect(function(deltaTime)
pcall(function()
if AimSettings.FOVRainbowEnabled then
CurrentFOVHue = CurrentFOVHue + deltaTime * AimSettings.FOVRainbowSpeed / 10
end
UpdateFOVCircle()
AimBot()
end)
end)
WindUI:Notify({
Title = "自瞄",
Content = "自瞄功能已开启",
Icon = "crosshair",
})
else
if AimConnection then
AimConnection:Disconnect()
AimConnection = nil
end
CleanupDrawings()
CurrentTarget = nil
WindUI:Notify({
Title = "自瞄",
Content = "自瞄功能已关闭",
Icon = "crosshair",
})
end
if StatusIndicator then
StatusIndicator.BackgroundColor3 = AimSettings.Enabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
end
end
})
AimTab:Space()
AimTab:Toggle({
Title = "自瞄快捷UI",
Desc = "快捷UI 让你秒人更加高效",
Callback = function(enabled)
ToggleRainbowUI(enabled)
end
})
AimTab:Toggle({
Title = "FOV开关",
Desc = "显示自瞄范围圆圈",
Value = AimSettings.FOVEnabled,
Callback = function(enabled)
AimSettings.FOVEnabled = enabled
UpdateFOVCircle()
end
})
AimTab:Toggle({
Title = "FOV彩虹效果",
Desc = "开启FOV圆圈彩虹效果",
Value = AimSettings.FOVRainbowEnabled,
Callback = function(enabled)
AimSettings.FOVRainbowEnabled = enabled
UpdateFOVCircle()
end
})
AimTab:Slider({
Title = "FOV彩虹速度",
Desc = "调整彩虹流动的速度",
Value = {
Min = 1,
Max = 20,
Default = AimSettings.FOVRainbowSpeed,
},
Callback = function(value)
AimSettings.FOVRainbowSpeed = value
end
})
AimTab:Space()
AimTab:Slider({
Title = "自瞄范围 (FOV)",
Desc = "设置自瞄FOV大小",
Value = {
Min = 50,
Max = 500,
Default = AimSettings.FOV,
},
Callback = function(value)
AimSettings.FOV = value
UpdateFOVCircle()
end
})
AimTab:Space()
AimTab:Slider({
Title = "自瞄平滑度",
Desc = "数值越小越强锁",
Value = {
Min = 1,
Max = 50,
Default = AimSettings.Smoothness,
},
Callback = function(value)
AimSettings.Smoothness = value
end
})
AimTab:Space()
AimTab:Slider({
Title = "预判距离",
Desc = "设置预判距离(需要强锁直接调到0-3)",
Value = {
Min = 0,
Max = 20,
Default = AimSettings.CrosshairDistance,
},
Callback = function(value)
AimSettings.CrosshairDistance = value
end
})
AimTab:Space()
AimTab:Colorpicker({
Title = "FOV圆圈颜色",
Desc = "彩虹模式关闭时生效",
Default = AimSettings.FOVColor,
Callback = function(color)
AimSettings.FOVColor = color
UpdateFOVCircle()
end
})
AimTab:Space()
AimTab:Toggle({
Title = "好友检测",
Desc = "不秒好友",
Value = AimSettings.FriendCheck,
Callback = function(enabled)
AimSettings.FriendCheck = enabled
end
})
AimTab:Space()
AimTab:Toggle({
Title = "墙壁检测",
Desc = "开启墙壁检测 避免自瞄乱飞",
Value = AimSettings.WallCheck,
Callback = function(enabled)
AimSettings.WallCheck = enabled
end
})
AimTab:Space()
AimTab:Toggle({
Title = "队伍检测",
Desc = "不攻击同队队友",
Value = AimTeamCheck,
Callback = function(enabled)
AimTeamCheck = enabled
end
})
AimTab:Space()
AimTab:Toggle({
Title = "目标自瞄模式",
Desc = "开启后可以选择目标进行制裁",
Value = false,
Callback = function(enabled)
AimSettings.TargetAll = not enabled
CurrentTarget = nil
end
})
local playerList = {}
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
table.insert(playerList, player.Name)
end
end
local targetDropdown = AimTab:Dropdown({
Title = "选择目标玩家",
Desc = "选择要自瞄的玩家",
Values = playerList,
Value = nil,
AllowNone = true,
Callback = function(selected)
AimSettings.TargetPlayer = selected
CurrentTarget = nil
end
})
Players.PlayerAdded:Connect(function(player)
table.insert(playerList, player.Name)
if targetDropdown and targetDropdown.Refresh then
targetDropdown:Refresh(playerList)
end
end)
Players.PlayerRemoving:Connect(function(player)
for i, name in ipairs(playerList) do
if name == player.Name then
table.remove(playerList, i)
break
end
end
if targetDropdown and targetDropdown.Refresh then
targetDropdown:Refresh(playerList)
end
end)
AimTab:Space()
AimTab:Section({
Title = "自瞄部位设置",
TextSize = 16,
FontWeight = Enum.FontWeight.SemiBold,
})
AimTab:Dropdown({
Title = "自瞄部位",
Desc = "选择要瞄准的身体部位",
Values = {"头", "上身", "左腿", "右腿", "鸡巴", "奶子"},
Value = AimTargetPart,
Callback = function(selected)
AimTargetPart = selected
end
})
AimTab:Space()
AimTab:Section({
Title = "黑名单管理",
TextSize = 16,
FontWeight = Enum.FontWeight.SemiBold,
})
blacklistInput = AimTab:Input({
Title = "自瞄黑名单",
Desc = "输入不攻击的玩家名字,多个用逗号分隔",
Placeholder = "例如: Player1,Player2,Player3",
Callback = function(value)
local names = {}
for name in string.gmatch(value, "[^,]+") do
name = name:match("^%s*(.-)%s*$")
if name ~= "" then
table.insert(names, name)
end
end
AimBlacklist = names
end
})
AimTab:Button({
Title = "添加当前目标到黑名单",
Justify = "Center",
Callback = function()
if CurrentTarget and CurrentTarget.Name then
local targetName = CurrentTarget.Name
for _, name in ipairs(AimBlacklist) do
if name == targetName then
WindUI:Notify({
Title = "黑名单",
Content = targetName .. " 已在黑名单中",
Icon = "info",
})
return
end
end
table.insert(AimBlacklist, targetName)
local newValue = table.concat(AimBlacklist, ", ")
if blacklistInput and blacklistInput.SetValue then
blacklistInput:SetValue(newValue)
else
WindUI:Notify({
Title = "黑名单",
Content = "已添加 " .. targetName .. ",请手动更新输入框",
Icon = "info",
})
end
else
WindUI:Notify({
Title = "黑名单",
Content = "没有当前目标",
Icon = "alert-circle",
})
end
end
})
AimTab:Space()
AimTab:Button({
Title = "清空白名单",
Justify = "Center",
Callback = function()
AimBlacklist = {}
if blacklistInput and blacklistInput.SetValue then
blacklistInput:SetValue("")
end
WindUI:Notify({
Title = "黑名单",
Content = "黑名单已清空",
Icon = "check",
})
end
})
AimTab:Space()
local statusText = "自瞄状态: 未启用"
if AimSettings.Enabled then
statusText = "自瞄状态: 已启用 模式: " .. (AimSettings.TargetAll and "全部玩家" or "目标玩家")
end
AimTab:Section({
Title = statusText,
TextSize = 14,
FontWeight = Enum.FontWeight.Medium,
TextColor = AimSettings.Enabled and Green or Grey,
})
local QuickSettings = AimTab:Group({})
QuickSettings:Button({
Title = "快速设置: 强锁[子弹有延迟类]",
Desc = "FOV99 平滑1 预判0.96",
Justify = "Center",
Callback = function()
AimSettings.FOV = 99
AimSettings.Smoothness = 1
AimSettings.CrosshairDistance = 0.96
UpdateFOVCircle()
WindUI:Notify({
Title = "快速设置",
Content = "已使用近距离设置",
Icon = "settings",
})
end
})
QuickSettings:Space()
QuickSettings:Button({
Title = "快速设置: 强锁[子弹无延迟]",
Desc = "FOV120, 平滑1 预判0",
Justify = "Center",
Callback = function()
AimSettings.FOV = 120
AimSettings.Smoothness = 1
AimSettings.CrosshairDistance = 0
UpdateFOVCircle()
WindUI:Notify({
Title = "快速设置",
Content = "已使用强锁设置",
Icon = "settings",
})
end
})
QuickSettings:Space()
QuickSettings:Button({
Title = "快速设置: 平滑类[]",
Desc = "FOV130 平滑6 预判1",
Justify = "Center",
Callback = function()
AimSettings.FOV = 130
AimSettings.Smoothness = 6
AimSettings.CrosshairDistance = 1
UpdateFOVCircle()
WindUI:Notify({
Title = "快速设置",
Content = "已使用远距离设置",
Icon = "settings",
})
end
})
end
local OtherTab = Window:Tab({
Title = "绘制功能",
Icon = "crown",
Locked = false,
})
do
OtherTab:Section({
Title = "ESP",
TextSize = 16,
FontWeight = Enum.FontWeight.SemiBold,
})
OtherTab:Toggle({
Title = "玩家透视 (ESP)",
Desc = "显示玩家描边和距离",
Callback = function(enabled)
ToggleESP(enabled)
end
})
OtherTab:Space()
OtherTab:Colorpicker({
Title = "ESP玩家名字颜色",
Desc = "设置玩家名字显示颜色",
Default = ESPNameColor,
Callback = function(color)
ESPNameColor = color
if ESPEnabled and not ESPRainbowEnabled then
UpdateESPColors()
end
end
})
OtherTab:Colorpicker({
Title = "ESP身体绘制颜色",
Desc = "设置玩家身体颜色",
Default = ESPBodyColor,
Callback = function(color)
ESPBodyColor = color
if ESPEnabled and not ESPRainbowEnabled then
UpdateESPColors()
end
end
})
OtherTab:Slider({
Title = "ESP玩家名字大小",
Desc = "设置玩家名字的文本大小",
Value = {
Min = 8,
Max = 24,
Default = ESPNameSize,
},
Callback = function(value)
ESPNameSize = value
if ESPEnabled then
UpdateESPNameSize()
end
end
})
OtherTab:Space()
OtherTab:Toggle({
Title = "ESP彩虹渐变",
Desc = "开启透视彩虹效果",
Callback = function(enabled)
ESPRainbowEnabled = enabled
if ESPEnabled then
UpdateESPColors()
end
end
})
OtherTab:Slider({
Title = "ESP彩虹速度",
Desc = "调整彩虹的速度",
Value = {
Min = 1,
Max = 10,
Default = ESPRainbowSpeed,
},
Callback = function(value)
ESPRainbowSpeed = value
end
})
OtherTab:Space()
OtherTab:Slider({
Title = "ESP最大显示距离",
Desc = "设置ESP显示的最大距离(单位:studs)",
Value = {
Min = 50,
Max = 10000,
Default = ESPMaxDistance,
},
Callback = function(value)
ESPMaxDistance = value
end
})
OtherTab:Space()
OtherTab:Toggle({
Title = "队伍检测",
Desc = "开启后只显示敌方队伍",
Value = ESPTeamCheck,
Callback = function(enabled)
ESPTeamCheck = enabled
if ESPEnabled then
UpdateESP()
end
end
})
OtherTab:Space()
OtherTab:Toggle({
Title = "偷袭检测提醒",
Desc = "检测背后或侧面的敌人并提醒",
Callback = function(enabled)
BackstabCheckEnabled = enabled
WindUI:Notify({
Title = "偷袭检测",
Content = enabled and "偷袭检测已开启" or "偷袭检测已关闭",
Icon = "shield-alert",
})
end
})
OtherTab:Toggle({
Title = "死亡提醒",
Desc = "玩家死亡时显示提醒消息",
Callback = function(enabled)
DeathCheckEnabled = enabled
if enabled then
SetupDeathDetection()
end
WindUI:Notify({
Title = "死亡提醒",
Content = enabled and "死亡提醒已开启" or "死亡提醒已关闭",
Icon = "heart",
})
end
})
OtherTab:Space()
OtherTab:Toggle({
Title = "夜视模式",
Desc = "开启夜间模式",
Callback = function(enabled)
NightVisionEnabled = enabled
if enabled then
originalBrightness = Lighting.Brightness
originalAmbient = Lighting.Ambient
Lighting.Brightness = 2
Lighting.Ambient = Color3.fromRGB(200, 200, 200)
Lighting.OutdoorAmbient = Color3.fromRGB(200, 200, 200)
WindUI:Notify({
Title = "夜视模式",
Content = "夜视模式已开启",
Icon = "moon",
})
else
Lighting.Brightness = originalBrightness
Lighting.Ambient = originalAmbient
Lighting.OutdoorAmbient = Color3.fromRGB(0.5, 0.5, 0.5)
WindUI:Notify({
Title = "夜视模式",
Content = "夜视模式已关闭",
Icon = "moon",
})
end
end
})
end
local KillTab = Window:Tab({
Title = "杀戮与主要",
Icon = "crown",
Locked = false,
})
local originalFire = nil
KillTab:Toggle({
Title = "子追",
Value = false,
Callback = function(state)
local bullet_handler = require(game:GetService("ReplicatedStorage").ModuleScripts.GunModules.BulletHandler)
if state then
if not originalFire then
originalFire = bullet_handler.Fire
end
local function get_closest_target(range)
local players = game:GetService("Players")
local local_player = players.LocalPlayer
local camera = workspace.CurrentCamera
local closest_part, closest_distance = nil, range
for _, player in ipairs(players:GetPlayers()) do
if player ~= local_player then
local character = player.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
local head = character:FindFirstChild("Head")
if head and humanoid and humanoid.Health > 0 then
local screen_position, on_screen = camera:WorldToViewportPoint(head.Position)
if on_screen then
local distance = (Vector2.new(screen_position.X, screen_position.Y) - camera.ViewportSize / 2).Magnitude
if distance < closest_distance then
closest_part = head
closest_distance = distance
end
end
end
end
end
end
return closest_part
end
bullet_handler.Fire = function(data)
local closest = get_closest_target(999)
if closest then
data.Force = data.Force * 1000
data.Direction = (closest.Position - data.Origin).Unit
end
return originalFire(data)
end
else
if originalFire then
bullet_handler.Fire = originalFire
end
end
end
})
local autoLobbyEnabled = false
local autoLobbyThread = nil
KillTab:Toggle({
Title = "自动加入对战",
Value = false,
Callback = function(state)
autoLobbyEnabled = state
if state and not autoLobbyThread then
autoLobbyThread = coroutine.wrap(function()
while autoLobbyEnabled do
task.wait()
local ok, viewModel = pcall(function()
return workspace:FindFirstChild("ViewModel")
end)
if ok and viewModel == nil then
game:GetService("ReplicatedStorage").Remotes.Command:FireServer("Lobby")
task.wait(0.35)
game:GetService("ReplicatedStorage").Remotes.Command:FireServer("Play")
task.wait(0.35)
end
end
autoLobbyThread = nil
end)
autoLobbyThread()
elseif not state and autoLobbyThread then
autoLobbyThread = nil
end
end
})
do
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local currentTarget = nil
local lastShotTime = 0
local connection = nil
local function getVisiblePart(targetCharacter)
if not targetCharacter or not LocalPlayer.Character then return nil end
local localCharacter = LocalPlayer.Character
local humanoidRootPart = localCharacter:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return nil end
local partNames = {"Head","UpperTorso","Torso","LowerTorso","HumanoidRootPart"}
local bestPart = nil
local bestPosition = nil
local bestOrigin = nil
local minDistance = math.huge
for _, partName in ipairs(partNames) do
local part = targetCharacter:FindFirstChild(partName)
if part and part:IsA("BasePart") then
local targetPosition = part.Position
for height = 0, 10.5, 2 do
local startPos = humanoidRootPart.Position + Vector3.new(0, height, 0)
local direction = (targetPosition - startPos).Unit
local forwardPos = startPos + direction * 2.5
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Exclude
rayParams.FilterDescendantsInstances = {localCharacter, Camera}
rayParams.IgnoreWater = true
local ray = Workspace:Raycast(forwardPos, targetPosition - forwardPos, rayParams)
if not ray or ray.Instance:IsDescendantOf(targetCharacter) or ray.Instance.Transparency >= 0.9 then
local distance = (targetPosition - forwardPos).Magnitude
if distance < minDistance then
minDistance = distance
bestPart = part
bestPosition = targetPosition
bestOrigin = forwardPos
end
end
end
end
end
return bestPart, bestPosition, bestOrigin
end
local function isDead(player)
if not player or not player.Character then return true end
local humanoid = player.Character:FindFirstChild("Humanoid")
return not humanoid or humanoid.Health <= 0
end
local function playShootSound()
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6534948092"
sound.Volume = 1
sound.Parent = Camera
sound.PlayOnRemove = true
sound:Destroy()
end
local function createBeam(startPos, endPos)
local part1 = Instance.new("Part")
part1.Anchored = true
part1.CanCollide = false
part1.Transparency = 1
part1.Size = Vector3.new(0.1, 0.1, 0.1)
part1.Position = startPos
part1.Parent = Workspace
local part2 = Instance.new("Part")
part2.Anchored = true
part2.CanCollide = false
part2.Transparency = 1
part2.Size = Vector3.new(0.1, 0.1, 0.1)
part2.Position = endPos
part2.Parent = Workspace
local attachment1 = Instance.new("Attachment")
attachment1.Parent = part1
local attachment2 = Instance.new("Attachment")
attachment2.Parent = part2
local beam1 = Instance.new("Beam")
beam1.Color = ColorSequence.new(Color3.fromRGB(0, 0, 0))
beam1.Transparency = NumberSequence.new(0)
beam1.Width0 = 0.25
beam1.Width1 = 0.25
beam1.Texture = "rbxassetid://7136858729"
beam1.TextureSpeed = 0.8
beam1.TextureMode = Enum.TextureMode.Wrap
beam1.Brightness = 1
beam1.LightEmission = 0
beam1.FaceCamera = true
beam1.Attachment0 = attachment1
beam1.Attachment1 = attachment2
beam1.Parent = part1
local beam2 = Instance.new("Beam")
beam2.Color = ColorSequence.new(Color3.fromRGB(180, 200, 255))
beam2.Transparency = NumberSequence.new(0.4)
beam2.Width0 = 0.12
beam2.Width1 = 0.12
beam2.Texture = "rbxassetid://7136858729"
beam2.TextureSpeed = 1.2
beam2.TextureMode = Enum.TextureMode.Wrap
beam2.Brightness = 1.2
beam2.LightEmission = 0.6
beam2.FaceCamera = true
beam2.Attachment0 = attachment1
beam2.Attachment1 = attachment2
beam2.Parent = part1
local shaking = true
task.spawn(function()
while shaking and part1 and part1.Parent do
attachment1.Position = Vector3.new(math.random(-3, 3) / 100, math.random(-3, 3) / 100, math.random(-3, 3) / 100)
attachment2.Position = Vector3.new(math.random(-3, 3) / 100, math.random(-3, 3) / 100, math.random(-3, 3) / 100)
task.wait(0.02)
end
end)
task.delay(math.random(10, 40) / 10, function()
shaking = false
for i = 0, 1, 0.05 do
if not part1 or not part1.Parent then break end
beam1.Transparency = NumberSequence.new(i)
beam2.Transparency = NumberSequence.new(0.4 + i * 0.6)
task.wait(0.03)
end
pcall(function() part1:Destroy() end)
pcall(function() part2:Destroy() end)
end)
end
local function shoot(player, targetPart, targetPos, origin)
local currentTime = tick()
if currentTime - lastShotTime < 0.56 then return false end
local character = LocalPlayer.Character
if not character or not targetPart or not origin then return false end
local direction = (targetPos - origin).Unit
local time = tick()
local cframe = CFrame.lookAt(origin, targetPos)
local clientRemotes = LocalPlayer:FindFirstChild("ClientRemotes")
if clientRemotes then
pcall(function() clientRemotes.CheckFire:FireServer(time, origin) end)
pcall(function() clientRemotes.CheckShot:FireServer(0, 0, 1, 0.8, cframe, targetPos, targetPart, 11, time) end)
pcall(function() clientRemotes.Reload:FireServer() end)
end
local gun = ReplicatedStorage:FindFirstChild("ModuleScripts")
if gun then
gun = gun:FindFirstChild("GunModules")
if gun then
gun = gun:FindFirstChild("Remote")
if gun then
pcall(function() gun.ProjectileRender:FireServer(time, character, origin, direction * 999999, 360, 0, Vector3.zero, 5, "Bullet") end)
pcall(function() gun.ProjectileFinished:FireServer(time, CFrame.new(targetPos), "Gib_T", false, 15, "rbxassetid://2814354338") end)
end
end
end
createBeam(origin, targetPos)
playShootSound()
lastShotTime = currentTime
return true
end
local function getVisibleTargets()
local targets = {}
local character = LocalPlayer.Character
if not character then return targets end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return targets end
local origin = humanoidRootPart.Position
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and not isDead(player) and player.Character then
local visiblePart, visiblePos, originPos = getVisiblePart(player.Character)
if visiblePart and visiblePos and originPos then
table.insert(targets, {
player = player,
distance = (visiblePos - origin).Magnitude,
part = visiblePart,
position = visiblePos,
origin = originPos
})
end
end
end
table.sort(targets, function(a, b) return a.distance < b.distance end)
return targets
end
KillTab:Toggle({
Title = "ragebot",
Value = false,
Callback = function(state)
if state then
if not connection then
connection = RunService.Heartbeat:Connect(function()
pcall(function()
if currentTarget and not isDead(currentTarget) then
local targetChar = currentTarget.Character
if targetChar then
local visiblePart, visiblePos, origin = getVisiblePart(targetChar)
if visiblePart and visiblePos and origin then
shoot(currentTarget, visiblePart, visiblePos, origin)
else
currentTarget = nil
end
end
else
currentTarget = nil
end
if not currentTarget then
local targets = getVisibleTargets()
if #targets > 0 then
currentTarget = targets[1].player
end
end
end)
end)
end
else
if connection then
connection:Disconnect()
connection = nil
end
currentTarget = nil
lastShotTime = 0
end
end
})
end
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place