
Keyless

local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "Khal Hub | Prison Life",
LoadingTitle = "Khal Hub",
LoadingSubtitle = "by Khal",
Theme = "Default",
DisableRayfieldPrompts = true,
DisableBuildWarnings = true,
})
local MainTab = Window:CreateTab("Main", nil)
local CrimTab = Window:CreateTab("Criminals", nil)
local player = game.Players.LocalPlayer
local RS = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local flying = false
local noclipping = false
local flySpeed = 50
local bv, bg, flyConn, noclipConn
local function startFly()
local char = player.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChild("Humanoid")
if not hrp or not hum then return end
hum.PlatformStand = true
flying = true
if bv then bv:Destroy() end
if bg then bg:Destroy() end
bv = Instance.new("BodyVelocity")
bv.Velocity = Vector3.new(0, 0, 0)
bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
bv.Parent = hrp
bg = Instance.new("BodyGyro")
bg.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
bg.P = 1e6
bg.CFrame = hrp.CFrame
bg.Parent = hrp
flyConn = RS.RenderStepped:Connect(function()
local c = player.Character
if not c then return end
local h = c:FindFirstChild("HumanoidRootPart")
if not h or not bv or not bg then return end
local cam = workspace.CurrentCamera
local dir = Vector3.new(0, 0, 0)
if UIS:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0, 1, 0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then dir -= Vector3.new(0, 1, 0) end
local hum2 = c:FindFirstChild("Humanoid")
if hum2 and hum2.MoveDirection.Magnitude > 0 then
local md = hum2.MoveDirection
dir += Vector3.new(md.X, 0, md.Z)
end
if dir.Magnitude > 0 then
bv.Velocity = dir.Unit * flySpeed
else
bv.Velocity = Vector3.new(0, 0, 0)
end
bg.CFrame = cam.CFrame
end)
end
local function stopFly()
flying = false
if flyConn then flyConn:Disconnect() flyConn = nil end
if bv then bv:Destroy() bv = nil end
if bg then bg:Destroy() bg = nil end
local char = player.Character
if char then
local hum = char:FindFirstChild("Humanoid")
if hum then hum.PlatformStand = false end
end
end
local function startNoclip()
noclipping = true
noclipConn = RS.Stepped:Connect(function()
local char = player.Character
if not char then return end
for _, v in ipairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
end)
end
local function stopNoclip()
noclipping = false
if noclipConn then noclipConn:Disconnect() noclipConn = nil end
local char = player.Character
if char then
for _, v in ipairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = true
end
end
end
end
local function isCriminal(p)
return p.Team and (p.Team.Name == "Criminal" or p.Team.Name == "Criminals")
end
local function teleportTo(target)
local char = player.Character
local targetChar = target.Character
if not char or not targetChar then
Rayfield:Notify({Title = "Gagal", Content = target.Name .. " tidak ditemukan", Duration = 3})
return
end
local hrp = char:FindFirstChild("HumanoidRootPart")
local tHRP = targetChar:FindFirstChild("HumanoidRootPart")
if hrp and tHRP then
hrp.CFrame = tHRP.CFrame + Vector3.new(0, 3, 0)
Rayfield:Notify({Title = "Teleport", Content = "Teleport ke " .. target.Name, Duration = 2})
end
end
local criminalButtons = {}
local function refreshCriminals()
for _, btn in pairs(criminalButtons) do
pcall(function() btn:Destroy() end)
end
criminalButtons = {}
local found = false
for _, p in pairs(game.Players:GetPlayers()) do
if p ~= player and isCriminal(p) then
found = true
local btn = CrimTab:CreateButton({
Name = "🔴 " .. p.Name .. " - Teleport",
Callback = function()
teleportTo(p)
end,
})
table.insert(criminalButtons, btn)
end
end
if not found then
local btn = CrimTab:CreateButton({
Name = "Tidak ada Criminal",
Callback = function() end,
})
table.insert(criminalButtons, btn)
end
end
MainTab:CreateSection("Movement")
MainTab:CreateToggle({
Name = "✈️ Fly",
CurrentValue = false,
Flag = "FlyToggle",
Callback = function(val)
if val then startFly() else stopFly() end
end,
})
MainTab:CreateToggle({
Name = "👻 Noclip",
CurrentValue = false,
Flag = "NoclipToggle",
Callback = function(val)
if val then startNoclip() else stopNoclip() end
end,
})
MainTab:CreateSlider({
Name = "🚀 Fly Speed",
Range = {10, 300},
Increment = 10,
CurrentValue = 50,
Flag = "FlySpeed",
Callback = function(val)
flySpeed = val
end,
})
CrimTab:CreateSection("Criminal List")
CrimTab:CreateButton({
Name = "🔄 Refresh List",
Callback = function()
refreshCriminals()
Rayfield:Notify({Title = "Refresh", Content = "List criminal diperbarui!", Duration = 2})
end,
})
task.spawn(function()
while true do
task.wait(5)
refreshCriminals()
end
end)
refreshCriminals()
player.CharacterAdded:Connect(function()
flying = false
noclipping = false
if flyConn then flyConn:Disconnect() flyConn = nil end
if noclipConn then noclipConn:Disconnect() noclipConn = nil end
if bv then bv:Destroy() bv = nil end
if bg then bg:Destroy() bg = nil end
end)
Rayfield:Notify({
Title = "Khal Hub Loaded!",
Content = "Made by Khal | Semua fitur siap!",
Duration = 5,
})
wow i cant believe it an open sourced script time to try it out!
detected