local NotificationHolder = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Module.Lua"))() local Notification = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Client.Lua"))() Notification:Notify( {Title = "Invincible 陌染😡", Description = "QQ群聊1023373515"}, {OutlineColor = Color3.fromRGB(80, 80, 80),Time = 5, Type = "image"}, {Image = "http://www.roblox.com/asset/?id=4483345998", ImageColor = Color3.fromRGB(255, 84, 84)} ) loadstring(game:HttpGet("https://pastebin.com/raw/Wv0Wp3jT"))() local bailib = loadstring(game:HttpGet("https://pastebin.com/raw/7xUnUgB3", true))() local win = bailib:new("项目-十安💀") local Tab1 = win:Tab("战斗", "10882439086") local Section1 = Tab1:section("玩家") local Tab2 = win:Tab("美化", "10728953248") local Section2 = Tab2:section("修改") -- 快速跑步功能 local Speed = 1 local sudu = nil Section1:Textbox("设置快速跑步", "run", "输入速度", function(speedValue) Speed = tonumber(speedValue) or 1 end) Section1:Toggle("开启快速跑步(开/关)", "switch", false, function(enabled) if enabled == true then sudu = game:GetService("RunService").Heartbeat:Connect(function() local player = game:GetService("Players").LocalPlayer if player.Character and player.Character:FindFirstChild("Humanoid") then local humanoid = player.Character.Humanoid if humanoid.MoveDirection.Magnitude > 0 then player.Character:TranslateBy(humanoid.MoveDirection * Speed * 0.5) end end end) elseif not enabled and sudu then sudu:Disconnect() sudu = nil end end) -- 范围功能 local StarterGui = game:GetService("StarterGui") local Players = game:GetService("Players") getgenv().HitboxSize = 15 getgenv().HitboxTransparency = 0.9 getgenv().HitboxStatus = false getgenv().TeamCheck = false getgenv().MovementConfig = {HitboxBrickColor = "Really blue"} Section1:Label("范围") Section1:Toggle("开启/关闭范围", "HitboxStatus", false, function(enabled) getgenv().HitboxStatus = enabled game:GetService("RunService").RenderStepped:connect(function() if HitboxStatus == true and TeamCheck == false then for _, player in next, game:GetService("Players"):GetPlayers() do if player.Name ~= game:GetService("Players").LocalPlayer.Name then pcall(function() player.Character.HumanoidRootPart.Size = Vector3.new(HitboxSize, HitboxSize, HitboxSize) player.Character.HumanoidRootPart.Transparency = HitboxTransparency player.Character.HumanoidRootPart.BrickColor = BrickColor.new(MovementConfig.HitboxBrickColor) player.Character.HumanoidRootPart.Material = "Neon" player.Character.HumanoidRootPart.CanCollide = false end) end end elseif HitboxStatus == true and TeamCheck == true then for _, player in next, game:GetService("Players"):GetPlayers() do if game:GetService("Players").LocalPlayer.Team ~= player.Team then pcall(function() player.Character.HumanoidRootPart.Size = Vector3.new(HitboxSize, HitboxSize, HitboxSize) player.Character.HumanoidRootPart.Transparency = HitboxTransparency player.Character.HumanoidRootPart.BrickColor = BrickColor.new(MovementConfig.HitboxBrickColor) player.Character.HumanoidRootPart.Material = "Neon" player.Character.HumanoidRootPart.CanCollide = false end) end end else for _, player in next, game:GetService("Players"):GetPlayers() do if player.Name ~= game:GetService("Players").LocalPlayer.Name then pcall(function() player.Character.HumanoidRootPart.Size = Vector3.new(2, 2, 1) player.Character.HumanoidRootPart.Transparency = 1 player.Character.HumanoidRootPart.BrickColor = BrickColor.new(MovementConfig.HitboxBrickColor) player.Character.HumanoidRootPart.Material = "Plastic" player.Character.HumanoidRootPart.CanCollide = false end) end end end end) end) Section1:Textbox("范围大小设置", "HitboxSize", "输入", function(size) getgenv().HitboxSize = tonumber(size) or 15 end) Section1:Toggle("队伍检测", "TeamCheck", false, function(enabled) getgenv().TeamCheck = enabled end) Section1:Textbox("范围透明度设置(调0更好区分队伍)", "HitboxTransparency", "输入", function(transparency) getgenv().HitboxTransparency = tonumber(transparency) or 0.9 end) Section1:Dropdown("选择范围颜色", "Hitbox", { "Really blue", "Really black", "Really red", "Really pink", "Really brown", "Really yellow", "Really green", "Really orange", "Really purple", "Really light gray" }, function(color) MovementConfig.HitboxBrickColor = color end) Section1:Toggle("开启自瞄", "TeamCheck", false, function(value) aimbotConfig.Enabled = value if not value then if fovCircle then fovCircle.Visible = false end else if aimbotConfig.ShowFOV then fovCircle.Visible = true end end end) Section1:Toggle("显示圈圈", "TeamCheck", false, function(value) aimbotConfig.ShowFOV = value if value then fovCircle.Visible = true else if fovCircle then fovCircle.Visible = false end end end, false) Section2:Label("美化😋") Section2:Textbox("排行榜人头数量美化💀","TextBoxfalg","输入数字",function(s) game:GetService("Players").LocalPlayer.leaderstats.Kills.Value = s end) Section2:Textbox("宝石数量美化😱","TextBoxfalg","输入数字",function(s) game:GetService("Players").LocalPlayer.leaderstats.Extras.Gems.Value = s end) local function cleanup() for _, conn in ipairs(connections) do pcall(function() conn:Disconnect() end) end connections = {} end local function notification(title, text, duration) pcall(function() StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 5 }) end) end local screenOffsetX, screenOffsetY = (function() local gui = Instance.new("ScreenGui", CoreGui) gui.Enabled = false local frame = Instance.new("Frame", gui) local clone = gui:Clone() gui.SafeAreaCompatibility = Enum.SafeAreaCompatibility.FullscreenExtension gui.ScreenInsets = Enum.ScreenInsets.None local dx, dy = clone.AbsolutePosition.X - gui.AbsolutePosition.X, clone.AbsolutePosition.Y - gui.AbsolutePosition.Y gui:Destroy() clone:Destroy() return dx, dy end)() local isMobile = table.find({Enum.Platform.Android, Enum.Platform.IOS}, UserInputService:GetPlatform()) ~= nil local friendList = {} task.spawn(function() local success, friends = pcall(function() return LocalPlayer:GetFriendsAsync() end) if success and friends then while true do local page = friends:GetCurrentPage() for _, friend in ipairs(page) do table.insert(friendList, friend.Id) end if friends.IsFinished then break end friends:AdvanceToNextPageAsync() end end end) local proximityPrompts = {} local clickDetectors = {} local touchTransmitters = {} local npcModels = {} local unanchoredParts = {} local partCallbacks = {} local function isNPC(model) return model:IsA("Model") and model.Parent and model.Parent:IsA("Model") end local function canNetworkOwn(part) return not part:IsGrounded() and not part.Anchored and part.ReceiveAge == 0 end task.spawn(function() for _, descendant in ipairs(workspace:GetDescendants()) do if isNPC(descendant) then npcModels[descendant.Parent] = true end if descendant:IsA("BasePart") and not descendant.Anchored then table.insert(unanchoredParts, descendant) else if not proximityPrompts[descendant.ClassName] then proximityPrompts[descendant.ClassName] = {} end table.insert(proximityPrompts[descendant.ClassName], descendant) end end end) workspace.DescendantAdded:Connect(function(instance) if isNPC(instance) then npcModels[instance.Parent] = true elseif instance:IsA("BasePart") and not instance.Anchored then table.insert(unanchoredParts, instance) else if not proximityPrompts[instance.ClassName] then proximityPrompts[instance.ClassName] = {} end table.insert(proximityPrompts[instance.ClassName], instance) for _, callback in pairs(partCallbacks) do task.spawn(callback, instance) end end end) workspace.DescendantRemoving:Connect(function(instance) if isNPC(instance) then npcModels[instance.Parent] = nil end end) local function getTargets(includePlayers, includeNPCs, teamCheck) local targets = {} if includePlayers then for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and not teamCheck then table.insert(targets, player.Character) end end end if includeNPCs then for model, _ in pairs(npcModels) do if model ~= LocalPlayer.Character then table.insert(targets, model) end end end return targets end flags.typeofName = "用户名(UserName)" local playerNames = {} local function updatePlayerNames() playerNames = {"All"} if flags.typeofName == "用户名(UserName)" then for _, player in ipairs(Players:GetChildren()) do table.insert(playerNames, player.Name) end elseif flags.typeofName == "昵称(DisplayName)" then for _, player in ipairs(Players:GetChildren()) do table.insert(playerNames, player.DisplayName) end end task.wait() table.sort(playerNames, function(a, b) return a:lower() < b:lower() end) end updatePlayerNames() local function findPlayer(name, showError) local searchName = name:gsub("%s+", "") for _, player in ipairs(Players:GetPlayers()) do if player.Name:lower():match("^" .. searchName:lower()) or player.DisplayName:lower():match("^" .. searchName:lower()) then return player end end if showError then notification("XA:错误", "未找到玩家", 5) end return nil end local flingQueue = {} local function startFling() if not selectedPlayer then return end local targetPlayers = {} if selectedPlayer == "All" then targetPlayers = Players:GetPlayers() else targetPlayers = {findPlayer(selectedPlayer)} end local originalCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame local originalVelocity = LocalPlayer.Character.HumanoidRootPart.Velocity local originalDestroyHeight = workspace.FallenPartsDestroyHeight LocalPlayer.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false) workspace.FallenPartsDestroyHeight = 0/0 for _, target in pairs(targetPlayers) do local targetChar = target.Character if targetChar then local humanoid = targetChar:FindFirstChildOfClass("Humanoid") local hrp = targetChar:FindFirstChild("HumanoidRootPart") if humanoid and hrp and humanoid.Health > 0 and target ~= LocalPlayer then local startTime = tick() local startPos = hrp.Position Camera.CameraSubject = targetChar if not target[getPlayerCheck] then local function flingSequence(cframeOffset, angle) LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(hrp.Position) * cframeOffset * angle LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.new(0, 1000000, 0) end task.wait() local speed = hrp.Velocity.Magnitude local moveDir = targetChar.Humanoid.MoveDirection local angles = CFrame.Angles(math.rad(100), 0, 0) flingSequence(CFrame.new(0, 1.5, 0) + moveDir * speed / 1.25, angles) task.wait() flingSequence(CFrame.new(0, -1.5, 0) + moveDir * speed / 1.25, angles) task.wait() flingSequence(CFrame.new(2.25, 1.5, -2.25) + moveDir * speed / 1.25, angles) task.wait() flingSequence(CFrame.new(-2.25, -1.5, 2.25) + moveDir * speed / 1.25, angles) task.wait() flingSequence(CFrame.new(0, 1.5, 0) + moveDir, angles) task.wait() flingSequence(CFrame.new(0, -1.5, 0) + moveDir, angles) end end end end LocalPlayer.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true) if (LocalPlayer.Character.HumanoidRootPart.Position - originalCFrame.Position).Magnitude < 20 then LocalPlayer.Character.HumanoidRootPart.CFrame = originalCFrame * CFrame.new(0, 0.5, 0) end LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) Camera.CameraSubject = LocalPlayer.Character.Humanoid for _, part in ipairs(LocalPlayer.Character:GetChildren()) do if part:IsA("BasePart") then part.Velocity = Vector3.zero part.RotVelocity = Vector3.zero end end task.wait() if not LocalPlayer.Character.HumanoidRootPart then workspace.FallenPartsDestroyHeight = originalDestroyHeight return true end return (LocalPlayer.Character.HumanoidRootPart.Position - originalCFrame.Position).Magnitude < 20 end local function validatePlayer() if not selectedPlayer then notification("XA:错误", "请先选择玩家", 5) return true end if selectedPlayer ~= "All" and not Players:FindFirstChild(selectedPlayer) then notification("XA:错误", "该玩家已离开", 5) return true end return false end local function formatTime(seconds) return string.format("%02d:%02d", math.floor(seconds / 60), seconds % 60) end local function sendMessage(message, useVirtualUser, skipChat) if useVirtualUser then local chatBar = LocalPlayer.PlayerGui.Chat.Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar chatBar:SetTextFromInput(message, VirtualUser:CaptureController()) VirtualUser:TypeKey("0x0D", chatBar:CaptureFocus()) elseif not skipChat then if TextChatService:FindFirstChild("TextChannels") then TextChatService.TextChannels.RBXGeneral:SendAsync(message) else ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(message, "All") end end end local function getDirectionCFrame() if flags.Direction == "前" then return CFrame.new(0, 0, -flags.TPdistance) elseif flags.Direction == "后" then return CFrame.new(0, 0, flags.TPdistance) elseif flags.Direction == "左" then return CFrame.new(-flags.TPdistance, 0, 0) elseif flags.Direction == "右" then return CFrame.new(flags.TPdistance, 0, 0) elseif flags.Direction == "上" then return CFrame.new(0, flags.TPdistance, 0) elseif flags.Direction == "下" then return CFrame.new(0, -flags.TPdistance, 0) end return CFrame.new() end local function formatDuration(totalSeconds) local hours = math.floor(totalSeconds / 3600) local minutes = math.floor((totalSeconds % 3600) / 60) local seconds = totalSeconds % 60 return string.format("%02d:%02d:%02d", hours, minutes, seconds) end local function waitForChildOfClass(parent, className) local child = parent:FindFirstChildOfClass(className) if child then return child end while parent.Parent do local newChild = parent.ChildAdded:Wait() if newChild:IsA(className) then return newChild end end return nil end local fovCircle = Drawing.new("Circle") fovCircle.Thickness = 2 fovCircle.Color = Color3.fromRGB(255, 255, 255) fovCircle.Filled = false fovCircle.Radius = 60 fovCircle.Position = Camera.ViewportSize / 2 fovCircle.Visible = false local screenGui = Instance.new("ScreenGui") screenGui.Parent = CoreGui local targetBox = Instance.new("Frame", screenGui) targetBox.BackgroundColor3 = Color3.fromRGB(85, 170, 255) targetBox.Size = UDim2.new(0, 15, 0, 15) targetBox.Visible = false local targetText = Instance.new("TextLabel", screenGui) targetText.Size = UDim2.new(0, 50, 0, 10) targetText.Position = UDim2.new(0, 100, 0, 50) targetText.TextSize = 16 targetText.Font = Enum.Font.SourceSansBold targetText.Text = "当前瞄准:无" targetText.TextColor3 = Color3.new(1, 1, 1) targetText.TextStrokeColor3 = Color3.new(0, 0, 0) targetText.TextStrokeTransparency = 0.6 targetText.BackgroundTransparency = 1 targetText.ZIndex = 50 targetText.Visible = false local targetCorner = Instance.new("UICorner") targetCorner.Parent = targetBox targetCorner.CornerRadius = UDim.new(0, 10) local targetStroke = Instance.new("UIStroke") targetStroke.Parent = targetBox targetStroke.Thickness = 1.5 targetStroke.Color = Color3.fromRGB(255, 255, 255) local tracerLine = Drawing.new("Line") tracerLine.Color = Color3.new(1, 1, 1) tracerLine.Thickness = 1 tracerLine.Visible = false local crosshairH = Drawing.new("Line") crosshairH.Color = Color3.new(1, 1, 1) crosshairH.Thickness = 1 crosshairH.Visible = false local crosshairV = Drawing.new("Line") crosshairV.Color = Color3.new(1, 1, 1) crosshairV.Thickness = 1 crosshairV.Visible = false local center = Camera.ViewportSize / 2 crosshairH.From = Vector2.new(center.X - 10, center.Y) crosshairH.To = Vector2.new(center.X + 10, center.Y) crosshairV.From = Vector2.new(center.X, center.Y - 10) crosshairV.To = Vector2.new(center.X, center.Y + 10) local shootButton = Instance.new("TextButton", screenGui) shootButton.Text = "射击" shootButton.TextColor3 = Color3.fromRGB(255, 255, 255) shootButton.BackgroundColor3 = Color3.fromRGB(31, 31, 31) shootButton.BackgroundTransparency = 0.5 shootButton.Position = UDim2.new(0, 645, 0, 165) shootButton.Size = UDim2.new(0, 55, 0, 55) shootButton.Draggable = true shootButton.Visible = false shootButton.ZIndex = 5 Instance.new("UICorner", shootButton) local aimbotToggle = Instance.new("TextButton", screenGui) aimbotToggle.TextSize = 10 aimbotToggle.TextColor3 = Color3.fromRGB(255, 255, 255) aimbotToggle.BackgroundColor3 = Color3.fromRGB(255, 0, 0) aimbotToggle.BackgroundTransparency = 0.5 aimbotToggle.Size = UDim2.new(0, 48, 0, 48) aimbotToggle.Text = "OFF" aimbotToggle.Position = UDim2.new(0, 16, 0, 48) aimbotToggle.Draggable = true aimbotToggle.Visible = false Instance.new("UICorner", aimbotToggle) local aimbotConfig = { Enabled = false, FovPosition = "准星", LockMethod = "相机", AimPart = "Head", TeamCheck = false, WallCheck = false, AliveCheck = false, MaxDistance = 400, Smoothness = 0.6, Prediction = 0.15, Targets = {Players = true, NPCs = false}, FacingWhenAimbot = false } local bulletTrackConfig = { Enabled = false, Method = "Raycast", HitChance = 100, Wallbang = false, ShowTarget = false } local autoClickerConfig = { Enabled = false, DelayAmount = 0 } local function applyAimbot(target) if not target then return end if aimbotConfig.LockMethod == "鼠标" then local mousePos = UserInputService:GetMouseLocation() local screenPos = Camera:WorldToViewportPoint(target.Position + target.Velocity * aimbotConfig.Prediction) local delta = Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y) mousemoverel(delta.X * aimbotConfig.Smoothness, delta.Y * aimbotConfig.Smoothness) elseif aimbotConfig.LockMethod == "相机" then local lookAt = CFrame.lookAt(Camera.CFrame.Position, Camera.CFrame.Position + (target.Position + target.Velocity * aimbotConfig.Prediction - Camera.CFrame.Position).Unit) if aimbotConfig.Smoothness > 0 then Camera.CFrame = Camera.CFrame:Lerp(lookAt, aimbotConfig.Smoothness) else Camera.CFrame = lookAt end else local screenPos = Camera:WorldToViewportPoint(target.Position + target.Velocity * aimbotConfig.Prediction) local viewCenter = Camera.ViewportSize / 2 if screenPos then local delta = Vector2.new(screenPos.X, screenPos.Y) - viewCenter VirtualInputManager:SendTouchEvent(1, 0, 0, 0) VirtualInputManager:SendTouchEvent(1, 1, delta.X * aimbotConfig.Smoothness, delta.Y * aimbotConfig.Smoothness) VirtualInputManager:SendTouchEvent(1, 2, delta.X * aimbotConfig.Smoothness, delta.Y * aimbotConfig.Smoothness) end if aimbotConfig.FacingWhenAimbot then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(LocalPlayer.Character.HumanoidRootPart.Position, target.Position) end end end local function checkWall(target, ignoreList) if not aimbotConfig.WallCheck then return true end local origin = Camera.CFrame.Position return workspace:FindPartOnRayWithIgnoreList(Ray.new(origin, target.Position - origin), ignoreList) == nil end local validAimParts = {"Head", "HumanoidRootPart"} local currentTarget = nil local closestDistance = math.huge local function findBestTarget() closestDistance = math.huge local targets = getTargets(aimbotConfig.Targets.Players, aimbotConfig.Targets.NPCs, aimbotConfig.TeamCheck) for _, target in pairs(targets) do if target and LocalPlayer.Character and LocalPlayer.Character.HumanoidRootPart then local aimPart = target:FindFirstChild(aimbotConfig.AimPart == "随机" and validAimParts[math.random(2)] or aimbotConfig.AimPart) if aimPart then local inRange = (LocalPlayer.Character.HumanoidRootPart.Position - aimPart.Position).Magnitude < aimbotConfig.MaxDistance if not aimbotConfig.AliveCheck then inRange = true end if aimPart and inRange then local screenPos, onScreen = Camera:WorldToViewportPoint(aimPart.Position) if onScreen then local fovCenter = aimbotConfig.FovPosition == "准星" and Camera.ViewportSize / 2 or UserInputService:GetMouseLocation() local distance = (fovCenter - Vector2.new(screenPos.X, screenPos.Y)).Magnitude if distance <= fovCircle.Radius then local visible = checkWall(aimPart, {LocalPlayer.Character, target}) if distance < closestDistance and visible then currentTarget = aimPart closestDistance = distance end end end end end end end return currentTarget end addConnection(RunService.RenderStepped:Connect(function() local target = findBestTarget() if aimbotConfig.Enabled then applyAimbot(target) end local fovPos = aimbotConfig.FovPosition == "准星" and Camera.ViewportSize / 2 or UserInputService:GetMouseLocation() if fovCircle.Visible then fovCircle.Position = fovPos end if bulletTrackConfig.ShowTarget and target then local screenPos = Camera:WorldToScreenPoint(target.Position) if screenPos then targetBox.Position = UDim2.new(0, screenPos.X - targetBox.AbsoluteSize.X / 2, 0, screenPos.Y - targetBox.AbsoluteSize.Y / 2) targetBox.Visible = true targetText.Text = "当前瞄准:" .. target.Parent.Name else targetBox.Visible = false targetText.Text = "当前瞄准:无" end else targetBox.Visible = false targetText.Text = "当前瞄准:无" end if flags.TargetLine and target then local screenPos = Camera:WorldToViewportPoint(target.Position) if screenPos then tracerLine.From = fovPos tracerLine.To = Vector2.new(screenPos.X, screenPos.Y) tracerLine.Visible = true end end end)) shootButton.MouseButton1Click:Connect(function() if not currentTarget then return end local screenPos = Camera:WorldToViewportPoint(currentTarget.Position) if screenPos then local touchId = math.random(999) VirtualInputManager:SendTouchEvent(touchId, 0, screenPos.X + screenOffsetX, screenPos.Y) VirtualInputManager:SendTouchEvent(touchId, 2, screenPos.X + screenOffsetX, screenPos.Y) end end) local function capitalize(str) return str:sub(1, 1):upper() .. str:sub(2) end bulletTrackConfig.Init = function() local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Include local originalNamecall = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) local method = capitalize(getnamecallmethod()) if not checkcaller() and bulletTrackConfig.Enabled and bulletTrackConfig.Method == method and math.random(1, 100) <= bulletTrackConfig.HitChance then if self == workspace and method == "Raycast" then local args = {...} if currentTarget then local direction = (currentTarget.Position - args[1]).Unit local length = (flags.RayLength == "1000" and 1000 or args[2].Magnitude) args[2] = direction * length end if bulletTrackConfig.Wallbang and currentTarget then raycastParams.FilterDescendantsInstances = {currentTarget} args[3] = raycastParams end return originalNamecall(self, unpack(args)) elseif self == workspace and method:match("FindPartOnRay") then local args = {...} local origin = args[1].Origin if currentTarget then local direction = (currentTarget.Position - origin).Unit local length = (flags.RayLength == "1000" and 1000 or args[1].Direction.Magnitude) args[1] = Ray.new(origin, direction * length) end if bulletTrackConfig.Wallbang and currentTarget then return workspace:FindPartOnRayWithWhitelist(args[1], {currentTarget}) end return originalNamecall(self, unpack(args)) elseif self == Camera and method:match("PointToRay") then if table.find({"ControlScript", "ControlModule"}, tostring(getcallingscript())) then return originalNamecall(self, ...) end local cameraPos = Camera.CFrame.Position local direction = (currentTarget.Position - cameraPos).Unit local args = {...} local distance = args[3] or 0 return Ray.new(cameraPos + (distance > 0 and direction * distance or Vector3.zero), direction) end end return originalNamecall(self, ...) end)) local originalIndex = hookmetamethod(game, "__index", newcclosure(function(self, key) if not checkcaller() and bulletTrackConfig.Enabled and math.random(1, 100) <= bulletTrackConfig.HitChance and currentTarget then if self:IsA("Mouse") and bulletTrackConfig.Method == "Mouse.Hit/Target" then local lowerKey = key:lower() if lowerKey == "target" then return currentTarget.Parent elseif lowerKey == "hit" then return currentTarget.CFrame + currentTarget.Velocity * aimbotConfig.Prediction end elseif self == Camera and bulletTrackConfig.Method == "Camera.CFrame" and (key == "CFrame" or key == "CoordinateFrame") then if tostring(getcallingscript()) == "CameraModule" then return originalIndex(self, key) end return CFrame.new(originalIndex(self, key).Position, currentTarget.Position) end end return originalIndex(self, key) end)) local originalRayNew = hookfunction(Ray.new, function(origin, direction) if not checkcaller() and bulletTrackConfig.Enabled and bulletTrackConfig.Method == "Ray.new" and math.random(1, 100) <= bulletTrackConfig.HitChance then if currentTarget then return originalRayNew(origin, (currentTarget.Position - origin).Unit * (flags.RayLength == "1000" and 1000 or direction.Magnitude)) end end return originalRayNew(origin, direction) end) end