
KeylessUniversal

-- MASTER UI SCRIPT: SHOOTER + GENERAL + CREDITS
-- Features: Camera Follow, Landing Prediction, ESP, Fly, Spin, Noclip (walls-only), Click Fling, Anti-AFK, Tabs, Minimized UI
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local Debris = game:GetService("Debris")
local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local gravity = Workspace.Gravity
-- ===== SETTINGS =====
local MASTER = true
local CAMERA_ENABLED = true
local PREDICTION_ENABLED = true
local ARC_ENABLED = true
local FOV_ENABLED = true
local TEXT_ENABLED = true
local CAMERA_FOV_RADIUS = 180
local PREDICTION_FOV_RADIUS = 220
local CAMERA_SMOOTHNESS = 0.12
local MAX_DISTANCE = 600
local ARC_POINTS = 12
local ARC_FADE_TIME = 0.8
-- General toggles default values
local flyEnabled, flySpeed = false, 50
local noclipEnabled = false
local spinEnabled, spinSpeed = false, 100
local clickFlingEnabled = false
local antiAfkEnabled = false
-- ===== GUI =====
local gui = Instance.new("ScreenGui", player.PlayerGui)
gui.Name = "MasterUI"
-- Main Panel
local panel = Instance.new("Frame", gui)
panel.Size = UDim2.new(0, 350, 0, 400)
panel.Position = UDim2.new(0, 50, 0, 50)
panel.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
panel.Active = true
panel.Draggable = true
-- Tabs buttons
local tabs = {"Shooter","General","Credits"}
local currentTab = "Shooter"
local tabButtons = {}
local function createTabButton(name, x)
local btn = Instance.new("TextButton", panel)
btn.Size = UDim2.new(0,100,0,30)
btn.Position = UDim2.new(0, x, 0, 10)
btn.Text = name
btn.Font = Enum.Font.GothamBold
btn.TextScaled = true
btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
btn.TextColor3 = Color3.new(1,1,1)
btn.BorderSizePixel = 0
return btn
end
for i, t in ipairs(tabs) do
tabButtons[t] = createTabButton(t, (i-1)*110)
tabButtons[t].MouseButton1Click:Connect(function()
currentTab = t
updateContent()
end)
end
-- Content frame
local contentFrame = Instance.new("Frame", panel)
contentFrame.Size = UDim2.new(1,-20,1,-50)
contentFrame.Position = UDim2.new(0,10,0,50)
contentFrame.BackgroundTransparency = 1
-- ===== TAB UPDATE FUNCTION =====
local function updateContent()
for _,c in pairs(contentFrame:GetChildren()) do
c:Destroy()
end
if currentTab == "Shooter" then
-- Shooter Features UI
local shooterLabel = Instance.new("TextLabel", contentFrame)
shooterLabel.Size = UDim2.new(1,0,0,30)
shooterLabel.Position = UDim2.new(0,0,0,0)
shooterLabel.BackgroundTransparency = 1
shooterLabel.Text = "Shooter Features Enabled"
shooterLabel.TextColor3 = Color3.new(1,1,1)
shooterLabel.Font = Enum.Font.GothamBold
shooterLabel.TextScaled = true
elseif currentTab == "General" then
-- General toggles
local generalToggles = {}
local function makeGeneralToggle(name, y, callback)
local btn = Instance.new("TextButton", contentFrame)
btn.Size = UDim2.new(1,-20,0,40)
btn.Position = UDim2.new(0,10,0,y)
btn.Text = name..": OFF"
btn.Font = Enum.Font.GothamBold
btn.TextScaled = true
btn.BackgroundColor3 = Color3.fromRGB(0,170,255)
btn.MouseButton1Click:Connect(callback)
return btn
end
-- Fly
local flyBtn = makeGeneralToggle("Fly",10,function()
flyEnabled = not flyEnabled
flyBtn.Text = "Fly: "..(flyEnabled and "ON" or "OFF")
end)
table.insert(generalToggles, flyBtn)
-- Noclip
local noclipBtn = makeGeneralToggle("Noclip",60,function()
noclipEnabled = not noclipEnabled
noclipBtn.Text = "Noclip: "..(noclipEnabled and "ON" or "OFF")
end)
table.insert(generalToggles,noclipBtn)
-- Spin
local spinBtn = makeGeneralToggle("Spin",110,function()
spinEnabled = not spinEnabled
spinBtn.Text = "Spin: "..(spinEnabled and "ON" or "OFF")
end)
table.insert(generalToggles,spinBtn)
-- Click Fling
local clickFlingBtn = makeGeneralToggle("Click Fling",160,function()
clickFlingEnabled = not clickFlingEnabled
clickFlingBtn.Text = "Click Fling: "..(clickFlingEnabled and "ON" or "OFF")
end)
table.insert(generalToggles,clickFlingBtn)
-- Anti-AFK
local antiAfkBtn = makeGeneralToggle("Anti-AFK",210,function()
antiAfkEnabled = not antiAfkEnabled
antiAfkBtn.Text = "Anti-AFK: "..(antiAfkEnabled and "ON" or "OFF")
end)
table.insert(generalToggles, antiAfkBtn)
-- Sliders
local function makeSlider(labelText, y, maxVal, default)
local label = Instance.new("TextLabel", contentFrame)
label.Size = UDim2.new(1,-20,0,30)
label.Position = UDim2.new(0,10,0,y)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.new(1,1,1)
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.Text = labelText..": "..default
local slider = Instance.new("Frame", contentFrame)
slider.Size = UDim2.new(1,-40,0,20)
slider.Position = UDim2.new(0,20,0,y+30)
slider.BackgroundColor3 = Color3.fromRGB(50,50,50)
local knob = Instance.new("Frame", slider)
knob.Size = UDim2.new(default/maxVal,0,1,0)
knob.Position = UDim2.new(0,0,0,0)
knob.BackgroundColor3 = Color3.fromRGB(0,170,255)
local dragging = false
knob.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
end
end)
knob.InputEnded:Connect(function(input)
dragging = false
end)
UIS.InputChanged:Connect(function(input)
if dragging then
local relX = math.clamp(input.Position.X - slider.AbsolutePosition.X, 0, slider.AbsoluteSize.X)
knob.Size = UDim2.new(relX/slider.AbsoluteSize.X,0,1,0)
label.Text = labelText..": "..math.floor((relX/slider.AbsoluteSize.X)*maxVal)
if labelText == "Spin Speed" then spinSpeed = math.floor((relX/slider.AbsoluteSize.X)*maxVal) end
if labelText == "Fly Speed" then flySpeed = math.floor((relX/slider.AbsoluteSize.X)*maxVal) end
end
end)
end
makeSlider("Spin Speed", 260, 200, spinSpeed)
makeSlider("Fly Speed", 300, 100, flySpeed)
elseif currentTab == "Credits" then
local creditsLabel = Instance.new("TextLabel", contentFrame)
creditsLabel.Size = UDim2.new(1,0,1,0)
creditsLabel.BackgroundTransparency = 1
creditsLabel.TextColor3 = Color3.new(1,1,1)
creditsLabel.TextScaled = true
creditsLabel.Font = Enum.Font.GothamBold
creditsLabel.Text = "Credits to PJV"
end
end
updateContent()
-- ===== FOV CIRCLE =====
local fov = Instance.new("Frame", gui)
fov.Size = UDim2.new(0,PREDICTION_FOV_RADIUS*2,0,PREDICTION_FOV_RADIUS*2)
fov.Position = UDim2.new(0.5,-PREDICTION_FOV_RADIUS,0.5,-PREDICTION_FOV_RADIUS)
fov.BackgroundTransparency = 1
Instance.new("UICorner", fov).CornerRadius = UDim.new(1,0)
local stroke = Instance.new("UIStroke", fov)
stroke.Thickness = 2
stroke.Transparency = 0.3
stroke.Color = Color3.fromRGB(0,170,255)
-- ===== Helper Functions =====
local colors = {}
local function getColor(p)
colors[p] = colors[p] or Color3.fromHSV(math.random(),1,1)
return colors[p]
end
local function inFOV(pos)
local s, vis = camera:WorldToViewportPoint(pos)
if not vis then return false end
local c = camera.ViewportSize/2
return (Vector2.new(s.X,s.Y)-c).Magnitude <= PREDICTION_FOV_RADIUS
end
-- ===== Anti-AFK Logic =====
local VirtualUser = game:GetService("VirtualUser")
player.Idled:Connect(function()
if antiAfkEnabled then
VirtualUser:Button2Down(Vector2.new(0,0), camera.CFrame)
wait(1)
VirtualUser:Button2Up(Vector2.new(0,0), camera.CFrame)
end
end)
-- ===== Main Loop =====
RunService.RenderStepped:Connect(function()
-- Fly
if flyEnabled then
local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
if hrp and hum then
local moveDir = Vector3.new(0,0,0)
if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - camera.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + camera.CFrame.RightVector end
hrp.Velocity = moveDir.Unit * flySpeed
hum.PlatformStand = true
end
else
if player.Character and player.Character:FindFirstChildOfClass("Humanoid") then
player.Character:FindFirstChildOfClass("Humanoid").PlatformStand = false
end
end
-- Spin
if spinEnabled and player.Character then
local hrp = player.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = hrp.CFrame * CFrame.Angles(0,math.rad(spinSpeed),0)
end
end
-- Noclip walls only
if noclipEnabled and player.Character then
for _,part in ipairs(player.Character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.Touched:Connect(function(hit)
if hit.CanCollide and hit.Position.Y > part.Position.Y then
part.CanCollide = false
wait(0.1)
part.CanCollide = true
end
end)
end
end
end
end)



pls tell me if has bugs or works
ok
@eop77 tell me when your done
The fly did not work in V1 but know it does pls ask me for changes and updates