--==================================================== -- frkxzbot | Full Working Script with Key, ESP, Aim, Flight --==================================================== --==================== -- SERVICES --==================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LP = Players.LocalPlayer local Camera = workspace.CurrentCamera --==================== -- KEY SYSTEM --==================== local REQUIRED_KEY = "101science" local KeyVerified = false local keyGui = Instance.new("ScreenGui", LP.PlayerGui) keyGui.Name = "frkxzbot_Key" keyGui.ResetOnSpawn = false local keyFrame = Instance.new("Frame", keyGui) keyFrame.Size = UDim2.fromOffset(300, 160) keyFrame.Position = UDim2.fromScale(0.5, 0.5) keyFrame.AnchorPoint = Vector2.new(0.5,0.5) keyFrame.BackgroundColor3 = Color3.fromRGB(20,20,20) keyFrame.BorderSizePixel = 0 Instance.new("UICorner", keyFrame).CornerRadius = UDim.new(0,8) local keyTitle = Instance.new("TextLabel", keyFrame) keyTitle.Size = UDim2.new(1,0,0,35) keyTitle.BackgroundTransparency = 1 keyTitle.Text = "frkxzbot – Key System" keyTitle.Font = Enum.Font.GothamBold keyTitle.TextSize = 14 keyTitle.TextColor3 = Color3.new(1,1,1) local keyBox = Instance.new("TextBox", keyFrame) keyBox.Size = UDim2.new(1,-40,0,30) keyBox.Position = UDim2.fromOffset(20,55) keyBox.PlaceholderText = "Enter key..." keyBox.Text = "" keyBox.Font = Enum.Font.Gotham keyBox.TextSize = 13 keyBox.TextColor3 = Color3.new(1,1,1) keyBox.BackgroundColor3 = Color3.fromRGB(35,35,35) keyBox.ClearTextOnFocus = false Instance.new("UICorner", keyBox).CornerRadius = UDim.new(0,6) local submitBtn = Instance.new("TextButton", keyFrame) submitBtn.Size = UDim2.new(1,-40,0,30) submitBtn.Position = UDim2.fromOffset(20,95) submitBtn.Text = "Unlock" submitBtn.Font = Enum.Font.Gotham submitBtn.TextSize = 13 submitBtn.TextColor3 = Color3.new(1,1,1) submitBtn.BackgroundColor3 = Color3.fromRGB(45,45,45) Instance.new("UICorner", submitBtn).CornerRadius = UDim.new(0,6) local statusLbl = Instance.new("TextLabel", keyFrame) statusLbl.Size = UDim2.new(1,0,0,20) statusLbl.Position = UDim2.fromOffset(0,130) statusLbl.BackgroundTransparency = 1 statusLbl.Text = "" statusLbl.Font = Enum.Font.Gotham statusLbl.TextSize = 12 statusLbl.TextColor3 = Color3.fromRGB(255,80,80) submitBtn.MouseButton1Click:Connect(function() if keyBox.Text == REQUIRED_KEY then KeyVerified = true keyGui:Destroy() else statusLbl.Text = "Invalid key" end end) repeat task.wait() until KeyVerified --==================== -- SETTINGS --==================== local MenuOpen = true local ESPEnabled = false local AimEnabled = false local VisibilityCheck = true local FlyEnabled = false local FlySpeed = 60 local AimFOV = 120 local AimSmoothness = 0.15 --==================== -- MAIN UI --==================== local gui = Instance.new("ScreenGui", LP.PlayerGui) gui.Name = "frkxzbot_Rivals" gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.fromOffset(260, 210) frame.Position = UDim2.fromScale(0.05, 0.35) frame.BackgroundColor3 = Color3.fromRGB(20,20,20) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true Instance.new("UICorner", frame).CornerRadius = UDim.new(0,8) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1,0,0,30) title.BackgroundTransparency = 1 title.Text = "frkxzbot – Rivals" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 14 local function makeButton(text, y) local b = Instance.new("TextButton", frame) b.Size = UDim2.new(1,-20,0,30) b.Position = UDim2.fromOffset(10,y) b.BackgroundColor3 = Color3.fromRGB(35,35,35) b.TextColor3 = Color3.new(1,1,1) b.Font = Enum.Font.Gotham b.TextSize = 13 b.Text = text Instance.new("UICorner", b).CornerRadius = UDim.new(0,6) return b end local espBtn = makeButton("ESP: OFF", 40) local aimBtn = makeButton("Aim Assist: OFF", 80) local visBtn = makeButton("Visibility Check: ON", 120) local flyBtn = makeButton("Flight: OFF", 160) UserInputService.InputBegan:Connect(function(i,g) if g then return end if i.KeyCode == Enum.KeyCode.RightAlt then MenuOpen = not MenuOpen frame.Visible = MenuOpen end end) local circle = Drawing.new("Circle") circle.Thickness = 2 circle.Transparency = 0.7 circle.Radius = AimFOV circle.Color = Color3.fromRGB(255,255,255) circle.Visible = false circle.Filled = false --==================== -- VISIBILITY CHECK --==================== local function hasLineOfSight(part) if not part then return false end local origin = Camera.CFrame.Position local dir = part.Position - origin local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Blacklist params.FilterDescendantsInstances = {LP.Character, part.Parent} params.IgnoreWater = true local result = workspace:Raycast(origin, dir, params) return result == nil end --==================== -- ESP --==================== local ESPHighlights = {} local function createESP(player) if ESPHighlights[player] then return end if not player.Character then return end local highlight = Instance.new("Highlight") highlight.Name = "frkxzbotESP" highlight.FillColor = Color3.fromRGB(200,200,255) highlight.FillTransparency = 0.6 highlight.OutlineColor = Color3.fromRGB(255,0,0) highlight.OutlineTransparency = 0.5 highlight.Adornee = player.Character highlight.Parent = player local head = player.Character:FindFirstChild("Head") if head then local bill = Instance.new("BillboardGui", head) bill.Name = "frkxzbotName" bill.Adornee = head bill.Size = UDim2.new(0,100,0,40) bill.StudsOffset = Vector3.new(0,2,0) bill.AlwaysOnTop = true local txt = Instance.new("TextLabel", bill) txt.Size = UDim2.new(1,0,1,0) txt.BackgroundTransparency = 1 txt.Text = player.Name txt.TextColor3 = Color3.fromRGB(255,255,255) txt.TextStrokeTransparency = 0 txt.TextScaled = true txt.Font = Enum.Font.GothamBold end ESPHighlights[player] = highlight end local function clearESP() for _,h in pairs(ESPHighlights) do if h and h.Parent then h:Destroy() end end ESPHighlights = {} end --==================== -- AIM ASSIST --==================== local function getClosestTarget() local closest, dist = nil, AimFOV local mousePos = UserInputService:GetMouseLocation() for _,p in pairs(Players:GetPlayers()) do if p ~= LP and p.Character and p.Character:FindFirstChild("Head") then local head = p.Character.Head if ((not VisibilityCheck) or hasLineOfSight(head)) then local pos, onscreen = Camera:WorldToViewportPoint(head.Position) if onscreen then local mDist = (Vector2.new(pos.X,pos.Y) - mousePos).Magnitude if mDist < dist then dist = mDist closest = head end end end end end return closest end --==================== -- FLIGHT --==================== local FlyBV, FlyBG --==================== -- MAIN LOOP --==================== RunService.RenderStepped:Connect(function() circle.Position = UserInputService:GetMouseLocation() if ESPEnabled then for _,p in pairs(Players:GetPlayers()) do if p.Character and not ESPHighlights[p] then createESP(p) end end else clearESP() end if AimEnabled then local target = getClosestTarget() if target then local cf = CFrame.new(Camera.CFrame.Position, target.Position) Camera.CFrame = Camera.CFrame:Lerp(cf, AimSmoothness) end end if FlyEnabled then local char = LP.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then if not FlyBV then FlyBV = Instance.new("BodyVelocity", hrp) FlyBV.MaxForce = Vector3.new(1e5,1e5,1e5) FlyBG = Instance.new("BodyGyro", hrp) FlyBG.MaxTorque = Vector3.new(1e5,1e5,1e5) FlyBG.P = 9e4 end local moveDir = Vector3.zero 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.A) then moveDir -= Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) 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.LeftControl) then moveDir -= Vector3.new(0,1,0) end FlyBV.Velocity = moveDir.Magnitude > 0 and moveDir.Unit * FlySpeed or Vector3.zero FlyBG.CFrame = Camera.CFrame end else if FlyBV then FlyBV:Destroy(); FlyBV = nil end if FlyBG then FlyBG:Destroy(); FlyBG = nil end end end) --==================== -- BUTTON LOGIC --==================== espBtn.MouseButton1Click:Connect(function() ESPEnabled = not ESPEnabled espBtn.Text = "ESP: "..(ESPEnabled and "ON" or "OFF") end) aimBtn.MouseButton1Click:Connect(function() AimEnabled = not AimEnabled circle.Visible = AimEnabled aimBtn.Text = "Aim Assist: "..(AimEnabled and "ON" or "OFF") end) visBtn.MouseButton1Click:Connect(function() VisibilityCheck = not VisibilityCheck visBtn.Text = "Visibility Check: "..(VisibilityCheck and "ON" or "OFF") end) flyBtn.MouseButton1Click:Connect(function() FlyEnabled = not FlyEnabled flyBtn.Text = "Flight: "..(FlyEnabled and "ON" or "OFF") end)