
KeylessUniversal

-- KFC HUB — FULL SCRIPT (LocalScript)
-- Paste into StarterPlayerScripts. This version fixes aim smoothness mapping:
-- Slider 0..100 where 0 = fully snappy/instant, higher = slower smoothing.
-- Mouse-based aim first (mousemoverel), camera fallback if not available.
-- ====== SERVICES & HELPERS ======
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer or Players.PlayerAdded:Wait()
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local function safeHttpGet(url)
local ok, res = pcall(function() return game:HttpGet(url, true) end)
if ok then return res end
warn("HttpGet failed:", url, res)
return nil
end
-- ====== LOAD RAYFIELD ======
local rfRaw = safeHttpGet("https://sirius.menu/rayfield")
if not rfRaw then
warn("Rayfield fetch failed. UI won't load.")
return
end
local Rayfield = loadstring(rfRaw)()
-- ====== THEME ======
local KFCTheme = {
TextColor = Color3.fromRGB(255,255,255),
Background = Color3.fromRGB(196,0,0),
Topbar = Color3.fromRGB(38,28,2),
Shadow = Color3.fromRGB(20,20,20),
NotificationBackground = Color3.fromRGB(38,28,2),
NotificationActionsBackground = Color3.fromRGB(245,212,183),
TabBackground = Color3.fromRGB(38,28,2),
TabStroke = Color3.fromRGB(196,0,0),
TabBackgroundSelected = Color3.fromRGB(245,212,183),
TabTextColor = Color3.fromRGB(255,255,255),
SelectedTabTextColor = Color3.fromRGB(38,28,2),
ElementBackground = Color3.fromRGB(60,30,10),
ElementBackgroundHover = Color3.fromRGB(245,212,183),
SecondaryElementBackground = Color3.fromRGB(38,28,2),
ElementStroke = Color3.fromRGB(196,0,0),
SecondaryElementStroke = Color3.fromRGB(245,212,183),
SliderBackground = Color3.fromRGB(245,212,183),
SliderProgress = Color3.fromRGB(255,255,255),
SliderStroke = Color3.fromRGB(196,0,0),
ToggleBackground = Color3.fromRGB(60,30,10),
ToggleEnabled = Color3.fromRGB(255,255,255),
ToggleDisabled = Color3.fromRGB(100,50,20),
ToggleEnabledStroke = Color3.fromRGB(255,255,255),
ToggleDisabledStroke = Color3.fromRGB(100,50,20),
ToggleEnabledOuterStroke = Color3.fromRGB(245,212,183),
ToggleDisabledOuterStroke = Color3.fromRGB(60,30,10),
DropdownSelected = Color3.fromRGB(245,212,183),
DropdownUnselected = Color3.fromRGB(60,30,10),
InputBackground = Color3.fromRGB(100,50,20),
InputStroke = Color3.fromRGB(60,30,10),
PlaceholderColor = Color3.fromRGB(255,255,255)
}
-- ====== CREATE WINDOW & TABS ======
local Window = Rayfield:CreateWindow({
Name = "KFC Hub",
LoadingTitle = "Eat Fried Chicken",
LoadingSubtitle = "by DudesCreations",
ShowText = "KFC",
Theme = KFCTheme,
ToggleUIKeybind = "K",
ConfigurationSaving = { Enabled = true, FolderName = nil, FileName = "KFC_Hub_Config" },
Discord = { Enabled = false },
KeySystem = false
})
local MainTab = Window:CreateTab("Main")
local CombatTab = Window:CreateTab("Combat")
local BloxFruitsTab = Window:CreateTab("Blox Fruits")
local GameHubsTab = Window:CreateTab("Game Hubs")
-- ====== SENSE (ESP lib) ======
local senseRaw = safeHttpGet("https://sirius.menu/sense")
local Sense = nil
if senseRaw then
Sense = loadstring(senseRaw)()
else
warn("Sense (ESP) fetch failed — ESP toggle will notify and be disabled.")
end
-- ====== ESP CONFIG ======
local ESP_Enabled = false
local function ApplyESPConfig(enabled)
if not Sense then return end
Sense.whitelist = {}
Sense.sharedSettings = {
textSize = 13, textFont = 2, limitDistance = true, maxDistance = 700, useTeamColor = false
}
Sense.teamSettings.enemy = {
enabled = enabled,
box = true,
boxColor = { Color3.fromRGB(255,255,255), 1 },
boxOutline = true,
boxFill = true,
boxFillColor = { Color3.fromRGB(245,212,183), 0.06 },
healthBar = true,
healthBarOutline = true,
healthyColor = Color3.fromRGB(120,220,120),
dyingColor = Color3.fromRGB(240,120,120),
distance = true,
distanceColor = { Color3.fromRGB(200,200,200), 1 },
name = true,
nameColor = { Color3.fromRGB(255,255,255), 1 },
nameOutline = false,
tracer = true,
tracerColor = { Color3.fromRGB(196,0,0), 1 },
offScreenArrow = false,
chams = false
}
Sense.teamSettings.friendly = { enabled = false }
end
local function EnableESP()
if ESP_Enabled or not Sense then return end
ESP_Enabled = true
ApplyESPConfig(true)
pcall(function() Sense.Load() end)
end
local function DisableESP()
if not ESP_Enabled or not Sense then return end
ESP_Enabled = false
ApplyESPConfig(false)
pcall(function() Sense.Unload() end)
end
CombatTab:CreateToggle({
Name = "Modern ESP",
CurrentValue = false,
Callback = function(val)
if not Sense then
Rayfield:Notify({ Title = "ESP", Content = "Unavailable (fetch failed)", Duration = 3 })
return
end
if val then EnableESP() else DisableESP() end
end
})
-- ====== AIM SYSTEM (mouse-based primary) ======
local targetPart = "Head"
local aimFeatureEnabled = false
local markerEnabled = false
local aimBind = { kind = "KeyCode", val = Enum.KeyCode.Q }
local holdToAim = true
local aimHeld = false
local aimToggleActive = false
local smoothness = 18 -- user-facing slider 0..100 (0 = snappy)
local drawingAvailable = pcall(function() return Drawing end)
local mousemoverelAvailable = (typeof(mousemoverel) == "function")
local mouse = LocalPlayer:GetMouse()
-- UI controls
CombatTab:CreateDropdown({
Name = "Target Body Part",
Options = {"Head", "HumanoidRootPart", "UpperTorso"},
CurrentOption = targetPart,
Callback = function(opt) targetPart = opt end
})
CombatTab:CreateToggle({
Name = "Enable Aim (hold bind / toggle)",
CurrentValue = false,
Callback = function(v)
aimFeatureEnabled = v
Rayfield:Notify({Title="Aim", Content=(v and "Enabled (use bind to aim)" or "Disabled"), Duration=2})
end
})
CombatTab:CreateToggle({
Name = "Hold to Aim (ON = hold, OFF = toggle)",
CurrentValue = holdToAim,
Callback = function(v) holdToAim = v end
})
local keyOptions = {"Q","E","R","F","T","Y","Z","X","C","V","MouseButton1","MouseButton2"}
CombatTab:CreateDropdown({
Name = "Aim Keybind",
Options = keyOptions,
CurrentOption = "Q",
Callback = function(opt)
if opt == "MouseButton1" then
aimBind.kind = "UserInputType"; aimBind.val = Enum.UserInputType.MouseButton1
elseif opt == "MouseButton2" then
aimBind.kind = "UserInputType"; aimBind.val = Enum.UserInputType.MouseButton2
else
aimBind.kind = "KeyCode"; aimBind.val = Enum.KeyCode[opt]
end
end
})
-- Smoothness slider: 0..100 where 0 = instant/snappy
CombatTab:CreateSlider({
Name = "Aim Smoothness (0 = snappy)",
Range = {0,100},
Increment = 1,
CurrentValue = smoothness,
Callback = function(v) smoothness = v end
})
CombatTab:CreateToggle({
Name = "Show Marker + Line",
CurrentValue = markerEnabled,
Callback = function(v) markerEnabled = v end
})
-- Input handling
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if aimBind.kind == "KeyCode" then
if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == aimBind.val then
if holdToAim then aimHeld = true else aimToggleActive = not aimToggleActive end
end
else
if input.UserInputType == aimBind.val then
if holdToAim then aimHeld = true else aimToggleActive = not aimToggleActive end
end
end
end)
UserInputService.InputEnded:Connect(function(input)
if aimBind.kind == "KeyCode" then
if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == aimBind.val then
if holdToAim then aimHeld = false end
end
else
if input.UserInputType == aimBind.val then
if holdToAim then aimHeld = false end
end
end
end)
local function isAimingNow()
if not aimFeatureEnabled then return false end
if holdToAim then return aimHeld end
return aimToggleActive
end
-- Drawing helpers
local function safeNewCircle(pos, radius, color, thickness)
if not drawingAvailable then return nil end
local ok, obj = pcall(function()
local c = Drawing.new("Circle")
c.Position = pos
c.Radius = radius
c.Color = color
c.Thickness = thickness or 2
c.Visible = true
return c
end)
if ok then return obj end
return nil
end
local function safeNewLine(a,b,color,th)
if not drawingAvailable then return nil end
local ok, obj = pcall(function()
local l = Drawing.new("Line")
l.From = a; l.To = b; l.Color = color; l.Thickness = th or 1.5; l.Visible = true
return l
end)
if ok then return obj end
return nil
end
-- ====== RENDER LOOP ======
RunService.RenderStepped:Connect(function()
local cam = workspace.CurrentCamera
if not cam then return end
-- find closest on-screen part to mouse
local closestPart = nil
local shortest = math.huge
local mousePos = UserInputService:GetMouseLocation()
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild(targetPart) then
local part = plr.Character[targetPart]
local sp, onScreen = cam:WorldToViewportPoint(part.Position)
if onScreen then
local d = (Vector2.new(sp.X, sp.Y) - mousePos).Magnitude
if d < shortest then shortest = d; closestPart = part end
end
end
end
if closestPart then
local sp, onScreen = cam:WorldToViewportPoint(closestPart.Position)
if onScreen and markerEnabled then
local circle = safeNewCircle(Vector2.new(sp.X, sp.Y), 9, Color3.fromRGB(255,255,255), 2)
if circle then task.delay(0.04, function() pcall(function() circle:Remove() end) end) end
local center = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y/2)
local line = safeNewLine(center, Vector2.new(sp.X, sp.Y), Color3.fromRGB(196,0,0), 2)
if line then task.delay(0.04, function() pcall(function() line:Remove() end) end) end
end
if isAimingNow() then
local currentMouse = UserInputService:GetMouseLocation()
local delta = Vector2.new(sp.X, sp.Y) - currentMouse
-- If mouse movement injection is allowed, prefer it (works with custom FPS)
if mousemoverelAvailable then
if smoothness == 0 then
-- instant: move full delta
pcall(function() mousemoverel(delta.X, delta.Y) end)
else
-- sensitivity mapping: smoothness 0 -> sensitivity 1, 100 -> sensitivity ~0.02
local sensitivity = math.clamp(1 - (smoothness / 100), 0.02, 1)
local move = delta * sensitivity * 0.6 -- multiplier tuned for feel
pcall(function() mousemoverel(move.X, move.Y) end)
end
else
-- fallback to camera lerp/hard aim
local ok = true
if smoothness == 0 then
ok, _ = pcall(function()
local camPos = cam.CFrame.Position
cam.CFrame = CFrame.new(camPos, closestPart.Position)
end)
else
local alpha = math.clamp(1 - (smoothness / 100), 0.01, 0.99)
ok, _ = pcall(function()
local camPos = cam.CFrame.Position
cam.CFrame = cam.CFrame:Lerp(CFrame.new(camPos, closestPart.Position), alpha)
end)
end
-- if camera setting fails, marker still helps user aim manually
end
end
end
end)
-- ====== MAIN TAB: organized, working buttons (pcall wrapped) ======
MainTab:CreateSection("Admin")
MainTab:CreateButton({ Name = "Infinite Yield (IY)", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source", true))() end)
Rayfield:Notify({Title="Loaded", Content="Infinite Yield", Duration=2})
end})
MainTab:CreateButton({ Name = "CMD-X Admin", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/CMD-X/CMD-X/master/Source", true))() end)
Rayfield:Notify({Title="Loaded", Content="CMD-X", Duration=2})
end})
MainTab:CreateButton({ Name = "Fates Admin", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/fatesc/fates-admin/main/main.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Fates Admin", Duration=2})
end})
MainTab:CreateButton({ Name = "Homebrew Admin", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Syntaxx64/HomebrewAdmin/master/Main", true))() end)
Rayfield:Notify({Title="Loaded", Content="Homebrew Admin", Duration=2})
end})
MainTab:CreateButton({ Name = "Nameless Admin", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/BlackOut51/NamelessAdmin/master/main.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Nameless Admin", Duration=2})
end})
MainTab:CreateSection("Utilities")
MainTab:CreateButton({ Name = "FPS Boost", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/FPS-Boost-Script", true))() end)
Rayfield:Notify({Title="Loaded", Content="FPS Boost", Duration=2})
end})
MainTab:CreateButton({ Name = "Fly Script", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Fly-V7-Script", true))() end)
Rayfield:Notify({Title="Loaded", Content="Fly", Duration=2})
end})
MainTab:CreateButton({ Name = "WalkSpeed / JumpPower UI", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/WalkSpeed-JumpPower-GUI", true))() end)
Rayfield:Notify({Title="Loaded", Content="WalkSpeed UI", Duration=2})
end})
MainTab:CreateButton({ Name = "Noclip Toggle", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Noclip-Toggle-Script", true))() end)
Rayfield:Notify({Title="Loaded", Content="Noclip", Duration=2})
end})
MainTab:CreateButton({ Name = "Auto Chest Collector", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Auto-Chest-Collector", true))() end)
Rayfield:Notify({Title="Loaded", Content="Chest Collector", Duration=2})
end})
MainTab:CreateButton({ Name = "Auto Fish GUI", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Auto-Fish-GUI", true))() end)
Rayfield:Notify({Title="Loaded", Content="Auto Fish", Duration=2})
end})
MainTab:CreateSection("Hubs & Fun")
MainTab:CreateButton({ Name = "InfiniteFun IY", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Xane123/InfiniteFun_IY/master/source", true))() end)
Rayfield:Notify({Title="Loaded", Content="InfiniteFun IY", Duration=2})
end})
MainTab:CreateButton({ Name = "Fun Tenna Dance", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Fe-Tenna-Dance-58322", true))() end)
Rayfield:Notify({Title="Loaded", Content="Tenna Dance", Duration=2})
end})
MainTab:CreateButton({ Name = "Goner FE Hat", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-FE-Goner-Hat-Script-UNIVERSAL-DA-HOOD-SUPPORT-15569", true))() end)
Rayfield:Notify({Title="Loaded", Content="Goner FE", Duration=2})
end})
MainTab:CreateButton({ Name = "FE Animations (R6)", Callback = function()
pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-FE-R6-Animations-80487", true))() end)
Rayfield:Notify({Title="Loaded", Content="R6 Animations", Duration=2})
end})
MainTab:CreateButton({ Name = "DomainX Utils", Callback = function()
pcall(function() loadstring(game:HttpGet("https://shlex.dev/release/domainx/latest.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="DomainX", Duration=2})
end})
MainTab:CreateButton({ Name = "Hydra Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/HydraHubTeam/Hydra/main/source", true))() end)
Rayfield:Notify({Title="Loaded", Content="Hydra Hub", Duration=2})
end})
MainTab:CreateButton({ Name = "Owl Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/OwlHubTeam/Owl/main/init.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Owl Hub", Duration=2})
end})
-- ====== BLOX FRUITS TAB ======
BloxFruitsTab:CreateSection("Blox Fruits Hubs")
BloxFruitsTab:CreateButton({ Name = "Redz Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/realredz/BloxFruits/master/Source.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Redz Hub", Duration=2})
end})
BloxFruitsTab:CreateButton({ Name = "Speed Hub X", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/AhmadV99/Speed-Hub-X/main/Speed%20Hub%20X.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Speed Hub X", Duration=2})
end})
BloxFruitsTab:CreateButton({ Name = "Aurora Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Jadelly261/BloxFruits/main/Aurora", true))() end)
Rayfield:Notify({Title="Loaded", Content="Aurora Hub", Duration=2})
end})
BloxFruitsTab:CreateButton({ Name = "Raito Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Efe0626/RaitoHub/main/Script", true))() end)
Rayfield:Notify({Title="Loaded", Content="Raito Hub", Duration=2})
end})
BloxFruitsTab:CreateButton({ Name = "Banana Hub", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/Nghia11n/Banana-Hub/main/bananahub.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="Banana Hub", Duration=2})
end})
-- ====== GAME HUBS TAB ======
GameHubsTab:CreateSection("Universal Game Hubs")
GameHubsTab:CreateButton({ Name = "Hydra Universal", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/HydraHubTeam/Hydra/main/source", true))() end)
Rayfield:Notify({Title="Loaded", Content="Hydra Universal", Duration=2})
end})
GameHubsTab:CreateButton({ Name = "DomainX", Callback = function()
pcall(function() loadstring(game:HttpGet("https://shlex.dev/release/domainx/latest.lua", true))() end)
Rayfield:Notify({Title="Loaded", Content="DomainX", Duration=2})
end})
GameHubsTab:CreateButton({ Name = "Project Krampus", Callback = function()
pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/ProjectKrampusTeam/krampus/main/source", true))() end)
Rayfield:Notify({Title="Loaded", Content="Krampus Tools", Duration=2})
end})
-- ====== FINISH ======
Rayfield:Notify({ Title = "KFC Hub Loaded", Content = "ESP, Aim, and Scripts ready 🍗", Duration = 4 })
print("KFC Hub initialized. Drawing available:", drawingAvailable, "mousemoverel:", mousemoverelAvailable)No comments yet for this script.



