--[=[ Com4x MODULAR QA DEBUGGING SUITE v9.0 Project: Rivals Internal Validation (Elite Build) [NEW IN v9.0]: - TP Behind: Permanent CFrame offset behind the primary target. - Device Spoofer: Remote-based emulation (Keyboard/Gamepad/Touch/VR). - Logic Patch: Optimized RenderPriority for TP-stability. --]=] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -------------------------------------------------------------------------------- -- // MEMORY MANAGEMENT // -------------------------------------------------------------------------------- local Maid = {} Maid.__index = Maid function Maid.new() return setmetatable({_tasks = {}}, Maid) end function Maid:GiveTask(task) table.insert(self._tasks, task) return task end function Maid:DoCleaning() for _, task in ipairs(self._tasks) do if typeof(task) == "Instance" then task:Destroy() elseif typeof(task) == "function" then task() elseif task.Disconnect then task:Disconnect() elseif task.Destroy then task:Destroy() end end table.clear(self._tasks) end if _G.Com4xRunning then _G.Com4xMaid:DoCleaning() end _G.Com4xMaid = Maid.new() local GlobalMaid = _G.Com4xMaid _G.Com4xRunning = true -------------------------------------------------------------------------------- -- // SETTINGS & STATE // -------------------------------------------------------------------------------- local Settings = { UI_Visible = true, CurrentTab = "Combat", -- Combat & TP Aimbot = false, Triggerbot = false, TPBehind = false, -- [NEW] WallCheck = true, DeathCheck = true, TargetFOV = 150, Smoothness = 0.05, TargetPart = "Head", -- Visuals ESP = true, Vitals = true, ShowFOV = true, CameraFOV = 70, -- Movement SpeedBoost = false, Fly = false, Noclip = false, FlySpeed = 50, -- Aesthetic Accent = Color3.fromRGB(0, 210, 255), BG = Color3.fromRGB(20, 20, 25), SidebarBG = Color3.fromRGB(30, 30, 35) } -- Remote References local SetControlsRemote = ReplicatedStorage:FindFirstChild("Remotes") and ReplicatedStorage.Remotes:FindFirstChild("Replication") and ReplicatedStorage.Remotes.Replication:FindFirstChild("Fighter") and ReplicatedStorage.Remotes.Replication.Fighter:FindFirstChild("SetControls") -------------------------------------------------------------------------------- -- // UTILITIES // -------------------------------------------------------------------------------- local Utils = {} function Utils:Create(class, props) local inst = Instance.new(class) for k, v in pairs(props) do inst[k] = v end return inst end function Utils:IsVisible(targetPart) if not Settings.WallCheck then return true end local rayParams = RaycastParams.new() rayParams.FilterType = Enum.RaycastFilterType.Exclude rayParams.FilterDescendantsInstances = {LocalPlayer.Character, targetPart.Parent, Camera} local result = workspace:Raycast(Camera.CFrame.Position, (targetPart.Position - Camera.CFrame.Position), rayParams) return result == nil end function Utils:GetTarget() local target, dist = nil, Settings.TargetFOV local mouse = UserInputService:GetMouseLocation() for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character then local hum = p.Character:FindFirstChildOfClass("Humanoid") local part = p.Character:FindFirstChild(Settings.TargetPart) if part and hum and (not Settings.DeathCheck or hum.Health > 0) then local pos, onScreen = Camera:WorldToViewportPoint(part.Position) if onScreen then local mag = (Vector2.new(pos.X, pos.Y) - mouse).Magnitude if mag < dist and self:IsVisible(part) then target = part dist = mag end end end end end return target end function Utils:Spoof(wantedDevice) if SetControlsRemote then SetControlsRemote:FireServer("MouseKeyboard") task.wait(0.2) SetControlsRemote:FireServer(wantedDevice) warn("[Com4x] Device Spoofed to: " .. wantedDevice) else warn("[Com4x] SetControls Remote Not Found!") end end -------------------------------------------------------------------------------- -- // Com4x UI ENGINE // -------------------------------------------------------------------------------- local UI = {} function UI:Init() self.Gui = Utils:Create("ScreenGui", {Name = "Com4x_Elite", Parent = CoreGui}) GlobalMaid:GiveTask(self.Gui) self.Main = Utils:Create("Frame", { Size = UDim2.new(0, 580, 0, 420), Position = UDim2.new(0.5, -290, 0.5, -210), BackgroundColor3 = Settings.BG, Parent = self.Gui, Visible = Settings.UI_Visible }) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 8), Parent = self.Main}) Utils:Create("UIStroke", {Color = Settings.Accent, Thickness = 2, Parent = self.Main}) -- Sidebar self.Sidebar = Utils:Create("Frame", { Size = UDim2.new(0, 150, 1, 0), BackgroundColor3 = Settings.SidebarBG, Parent = self.Main }) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 8), Parent = self.Sidebar}) Utils:Create("TextLabel", { Text = "Com4x v9.0", Size = UDim2.new(1, 0, 0, 50), Font = Enum.Font.GothamBold, TextColor3 = Settings.Accent, TextSize = 20, BackgroundTransparency = 1, Parent = self.Sidebar }) self.TabHolder = Utils:Create("Frame", { Size = UDim2.new(1, 0, 1, -60), Position = UDim2.new(0, 0, 0, 60), BackgroundTransparency = 1, Parent = self.Sidebar }) Utils:Create("UIListLayout", {Parent = self.TabHolder, Padding = UDim.new(0, 4), HorizontalAlignment = "Center"}) self.Content = Utils:Create("ScrollingFrame", { Size = UDim2.new(1, -170, 1, -20), Position = UDim2.new(0, 160, 0, 10), BackgroundTransparency = 1, Parent = self.Main, CanvasSize = UDim2.new(0,0,2.2,0), ScrollBarThickness = 2 }) Utils:Create("UIListLayout", {Parent = self.Content, Padding = UDim.new(0, 8)}) for _, tab in ipairs({"Combat", "Visuals", "Movement", "Spoofer"}) do self:CreateTabBtn(tab) end self:LoadTab("Combat") self:MakeDraggable() end function UI:CreateTabBtn(name) local btn = Utils:Create("TextButton", { Text = name, Size = UDim2.new(0.85, 0, 0, 35), BackgroundColor3 = Color3.fromRGB(45, 45, 50), TextColor3 = Color3.new(1,1,1), Font = Enum.Font.GothamMedium, Parent = self.TabHolder, AutoButtonColor = true }) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 6), Parent = btn}) btn.MouseButton1Click:Connect(function() self:LoadTab(name) end) end function UI:LoadTab(name) for _, v in pairs(self.Content:GetChildren()) do if not v:IsA("UIListLayout") then v:Destroy() end end if name == "Combat" then self:AddToggle("Aimbot Master", "Aimbot") self:AddToggle("Teleport Behind Target", "TPBehind") self:AddToggle("Triggerbot Logic", "Triggerbot") self:AddToggle("Wall Detection", "WallCheck") self:AddSlider("Smoothing", 0, 100, Settings.Smoothness * 100, function(v) Settings.Smoothness = v/100 end) self:AddSlider("Aimbot FOV", 50, 800, Settings.TargetFOV, function(v) Settings.TargetFOV = v end) elseif name == "Visuals" then self:AddToggle("ESP Outlines", "ESP") self:AddToggle("Billboard Vitals", "Vitals") self:AddToggle("Render FOV Ring", "ShowFOV") self:AddSlider("Game FOV Changer", 30, 120, Settings.CameraFOV, function(v) Settings.CameraFOV = v end) elseif name == "Movement" then self:AddToggle("Speed Boost (x2)", "SpeedBoost") self:AddToggle("Fly Mode", "Fly") self:AddToggle("No-clip Mode", "Noclip") self:AddSlider("Fly Speed", 20, 300, Settings.FlySpeed, function(v) Settings.FlySpeed = v end) elseif name == "Spoofer" then self:AddSpoofBtn("Mouse & Keyboard", "MouseKeyboard") self:AddSpoofBtn("Gamepad (Console)", "Gamepad") self:AddSpoofBtn("Touch (Mobile)", "Touch") self:AddSpoofBtn("VR Mode", "VR") end end function UI:AddToggle(text, key) local btn = Utils:Create("TextButton", { Text = text .. ": " .. (Settings[key] and "ON" or "OFF"), Size = UDim2.new(1, -5, 0, 40), BackgroundColor3 = Settings[key] and Settings.Accent or Color3.fromRGB(40, 40, 45), TextColor3 = Settings[key] and Color3.new(0,0,0) or Color3.new(1,1,1), Font = Enum.Font.GothamBold, Parent = self.Content }) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 6), Parent = btn}) btn.MouseButton1Click:Connect(function() Settings[key] = not Settings[key] btn.Text = text .. ": " .. (Settings[key] and "ON" or "OFF") btn.BackgroundColor3 = Settings[key] and Settings.Accent or Color3.fromRGB(40, 40, 45) btn.TextColor3 = Settings[key] and Color3.new(0,0,0) or Color3.new(1,1,1) end) end function UI:AddSlider(name, min, max, start, callback) local frame = Utils:Create("Frame", {Size = UDim2.new(1, -5, 0, 55), BackgroundColor3 = Color3.fromRGB(35, 35, 40), Parent = self.Content}) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 6), Parent = frame}) local label = Utils:Create("TextLabel", {Text = name .. ": " .. math.floor(start), Size = UDim2.new(1,0,0,25), BackgroundTransparency = 1, TextColor3 = Color3.new(1,1,1), Parent = frame}) local bar = Utils:Create("Frame", {Size = UDim2.new(0.9, 0, 0, 4), Position = UDim2.new(0.05, 0, 0.7, 0), BackgroundColor3 = Color3.new(0.1,0.1,0.1), Parent = frame}) local fill = Utils:Create("Frame", {Size = UDim2.new((start-min)/(max-min), 0, 1, 0), BackgroundColor3 = Settings.Accent, Parent = bar}) bar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then local conn; conn = RunService.RenderStepped:Connect(function() local rel = math.clamp((UserInputService:GetMouseLocation().X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1) local val = math.floor(min + (max - min) * rel) fill.Size = UDim2.new(rel, 0, 1, 0) label.Text = name .. ": " .. val callback(val) if not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then conn:Disconnect() end end) end end) end function UI:AddSpoofBtn(name, device) local btn = Utils:Create("TextButton", { Text = "Spoof: " .. name, Size = UDim2.new(1, -5, 0, 40), BackgroundColor3 = Color3.fromRGB(45, 45, 50), TextColor3 = Color3.new(1,1,1), Font = Enum.Font.GothamMedium, Parent = self.Content }) Utils:Create("UICorner", {CornerRadius = UDim.new(0, 6), Parent = btn}) btn.MouseButton1Click:Connect(function() Utils:Spoof(device) btn.BackgroundColor3 = Color3.fromRGB(0, 200, 100) task.wait(0.2) btn.BackgroundColor3 = Color3.fromRGB(45, 45, 50) end) end function UI:MakeDraggable() local dStart, sPos, dragging self.Main.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dStart = i.Position sPos = self.Main.Position end end) UserInputService.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - dStart self.Main.Position = UDim2.new(sPos.X.Scale, sPos.X.Offset + delta.X, sPos.Y.Scale, sPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) end -------------------------------------------------------------------------------- -- // CORE PROCESSING // -------------------------------------------------------------------------------- -- Character Physics / Noclip / Speed GlobalMaid:GiveTask(RunService.Stepped:Connect(function() local char = LocalPlayer.Character if char then if char:FindFirstChildOfClass("Humanoid") then char.Humanoid.WalkSpeed = Settings.SpeedBoost and 32 or 16 end if Settings.Noclip then for _, p in pairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end end end)) -- Combat / Fly / TP Loop RunService:BindToRenderStep("Com4x_Elite_Core", Enum.RenderPriority.Camera.Value + 1, function() Camera.FieldOfView = Settings.CameraFOV local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local target = Utils:GetTarget() -- TP Behind Target [NEW] if Settings.TPBehind and target and hrp then local targetRoot = target.Parent:FindFirstChild("HumanoidRootPart") if targetRoot then -- Position 4 studs behind target, matching target orientation hrp.CFrame = targetRoot.CFrame * CFrame.new(0, 0, 4) end end -- Flight if Settings.Fly and hrp then local moveDir = Vector3.new(0,0,0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir -= Vector3.new(0, 1, 0) end hrp.Velocity = moveDir * Settings.FlySpeed hrp.CFrame = CFrame.new(hrp.Position, hrp.Position + Camera.CFrame.LookVector) end -- Aimbot if Settings.Aimbot and target then Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.Position, target.Position), 1 - Settings.Smoothness) end -- Trigger Logic if Settings.Triggerbot then local res = workspace:Raycast(Camera.CFrame.Position, Camera.CFrame.LookVector * 1000) if res and res.Instance then local m = res.Instance:FindFirstAncestorOfClass("Model") if m and m:FindFirstChildOfClass("Humanoid") and (not Settings.DeathCheck or m.Humanoid.Health > 0) then local flash = Utils:Create("Frame", {Size = UDim2.new(1,0,1,0), BackgroundColor3 = Color3.new(1,0,0), BackgroundTransparency = 0.9, Parent = UI.Gui}) task.delay(0.05, function() flash:Destroy() end) end end end end) -------------------------------------------------------------------------------- -- // VISUALS // -------------------------------------------------------------------------------- local FOVGui = Utils:Create("Frame", { Parent = GlobalMaid:GiveTask(Instance.new("ScreenGui", CoreGui)), BackgroundColor3 = Color3.new(1,1,1), BackgroundTransparency = 0.95, AnchorPoint = Vector2.new(0.5, 0.5), Visible = false }) Utils:Create("UICorner", {CornerRadius = UDim.new(1,0), Parent = FOVGui}) Utils:Create("UIStroke", {Color = Settings.Accent, Thickness = 1, Parent = FOVGui}) task.spawn(function() while _G.Com4xRunning do local mouse = UserInputService:GetMouseLocation() FOVGui.Position = UDim2.new(0, mouse.X, 0, mouse.Y) FOVGui.Size = UDim2.new(0, Settings.TargetFOV * 2, 0, Settings.TargetFOV * 2) FOVGui.Visible = Settings.ShowFOV for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character then local char = p.Character local h = char:FindFirstChild("Com4x_H") if Settings.ESP then if not h then Utils:Create("Highlight", {Name = "Com4x_H", Parent = char, FillColor = Settings.Accent}) end elseif h then h:Destroy() end local v = char:FindFirstChild("Com4x_V") if Settings.Vitals then if not v then v = Utils:Create("BillboardGui", {Name = "Com4x_V", Parent = char, Adornee = char:FindFirstChild("Head"), Size = UDim2.new(0, 60, 0, 8), AlwaysOnTop = true, ExtentsOffset = Vector3.new(0, 2.5, 0)}) local bg = Utils:Create("Frame", {Size = UDim2.new(1,0,1,0), BackgroundColor3 = Color3.new(0,0,0), Parent = v}) Utils:Create("Frame", {Name = "Bar", Size = UDim2.new(1,0,1,0), BackgroundColor3 = Settings.Accent, Parent = bg}) end local hum = char:FindFirstChildOfClass("Humanoid") if hum and v:FindFirstChild("Bar", true) then v:FindFirstChild("Bar", true).Size = UDim2.new(math.clamp(hum.Health / hum.MaxHealth, 0, 1), 0, 1, 0) end elseif v then v:Destroy() end end end task.wait(0.5) end end) GlobalMaid:GiveTask(UserInputService.InputBegan:Connect(function(i, g) if not g and i.KeyCode == Enum.KeyCode.RightShift then Settings.UI_Visible = not Settings.UI_Visible UI.Main.Visible = Settings.UI_Visible end end)) UI:Init() warn("[Com4x] Elite Suite v9.0 Loaded. Sidebar & Spoofer Ready.")