
KeylessUniversal

-- JOY HUB v7.8
-- Made by joyful_pizza obviously
-- Rayfield-based
--BUGGY
--TRASHY
--POOP AHH SCRIPT
--remake it if you want enjoy :D
-- NOTE: Paste into executor and run
-- [ Rayfield Loader credit to sirius.menu/rayfield ]
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Window = Rayfield:CreateWindow({
Name = "joy hub",
LoadingTitle = "made by joyful_pizza obviously",
LoadingSubtitle = "V7.8",
ConfigurationSaving = {
Enabled = true,
FolderName = "JoyHub",
FileName = "JoyHubConfig"
}
})
-- SERVICES
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
-- MAIN TAB
local MainTab = Window:CreateTab("Main", 4483362458) --default icon
local avoidKillers = false
local spectating = false
local spectateTargets = {}
local spectateIndex = 1
MainTab:CreateToggle({
Name = "Avoid Killers",
CurrentValue = false,
Callback = function(v)
avoidKillers = v
end
})
MainTab:CreateToggle({
Name = "Spectate (in-round)",
CurrentValue = false,
Callback = function(v)
spectating = v
if not v then
Camera.CameraSubject = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
end
end
})
MainTab:CreateButton({
Name = "Switch Spectate Target",
Callback = function()
if not spectating or #spectateTargets == 0 then return end
spectateIndex += 1
if spectateIndex > #spectateTargets then
spectateIndex = 1
end
local char = spectateTargets[spectateIndex]
if char and char:FindFirstChildWhichIsA("Humanoid") then
Camera.CameraSubject = char:FindFirstChildWhichIsA("Humanoid")
end
end
})
-- ESP TAB
local ESPTab = Window:CreateTab("ESP", 4483362458)
local espEnabled = false
local espObjects = {}
local function clearESP()
for _, h in pairs(espObjects) do
if h then h:Destroy() end
end
table.clear(espObjects)
end
local function createESP(model, color)
if espObjects[model] then return end
local h = Instance.new("Highlight")
h.FillColor = color
h.OutlineColor = color
h.FillTransparency = 0.4
h.OutlineTransparency = 0
h.Adornee = model
h.Parent = model
espObjects[model] = h
end
local function refreshESP()
clearESP()
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") then
if obj:FindFirstChild("Humanoid") then
if obj:GetAttribute("Killer") == true then
createESP(obj, Color3.fromRGB(255,0,0))
elseif obj ~= LocalPlayer.Character then
createESP(obj, Color3.fromRGB(0,255,0))
end
elseif obj.Name:lower():find("generator") then
createESP(obj, Color3.fromRGB(255,255,0))
end
end
end
end
ESPTab:CreateToggle({
Name = "Enable ESP",
CurrentValue = false,
Callback = function(v)
espEnabled = v
if not v then
clearESP()
end
end
})
task.spawn(function()
while task.wait(1) do
if espEnabled then
refreshESP()
end
end
end)
-- TELEPORT TAB
--!warning! You could be banned using this, this is just teleport.
local TeleportTab = Window:CreateTab("Teleport", 4483362458)
local function teleportToModel(model)
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = model.HumanoidRootPart.CFrame * CFrame.new(0,0,2)
end
end
TeleportTab:CreateButton({
Name = "Teleport to Random Survivor",
Callback = function()
local survivors = {}
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
table.insert(survivors, p.Character)
end
end
if #survivors > 0 then
teleportToModel(survivors[math.random(#survivors)])
end
end
})
TeleportTab:CreateButton({
Name = "Teleport to Killer",
Callback = function()
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj:GetAttribute("Killer") == true and obj:FindFirstChild("HumanoidRootPart") then
teleportToModel(obj)
break
end
end
end
})
-- AVOID KILLERS LOGIC
RunService.Heartbeat:Connect(function()
if not avoidKillers then return end
if not (LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")) then return end
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj:GetAttribute("Killer") == true and obj:FindFirstChild("HumanoidRootPart") then
local hrp = LocalPlayer.Character.HumanoidRootPart
local dist = (hrp.Position - obj.HumanoidRootPart.Position).Magnitude
if dist < 25 then
local dir = (hrp.Position - obj.HumanoidRootPart.Position).Unit
hrp.CFrame = hrp.CFrame + dir * 3
end
end
end
end)
-- BECOME SPECTRE(jk)
task.spawn(function()
while task.wait(2) do
spectateTargets = {}
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character then
table.insert(spectateTargets, p.Character)
end
end
end
end)



I HATE ANTICHEAT
I HATE FORSAKEN
IM MAKING DOORS NOW
Nvm
bro what u yapping about
@StrongestBobEver worst script ever man
@Joyful_pizza cant even use it..
@StrongestBobEver bro That's the point Its the worst script ever