
KeylessUniversal

-- Dragon Radar v6.3 (Fixed by me)
-- Borrar carpetas de logs antes de usar
local u = game:GetService("UserInputService")
local ts = game:GetService("TweenService")
local rs = game:GetService("RunService")
local tp = game:GetService("TeleportService")
local hp = game:GetService("HttpService")
local plr = game:GetService("Players").LocalPlayer
-- // Settings
_G.BallSpeed = 180
_G.ESP = false
_G.Busy = false
local keys = {"dragon", "ball", "bola"}
-- // UI (Basic Orange Theme)
local gui = Instance.new("ScreenGui", plr.PlayerGui)
local main = Instance.new("Frame", gui)
main.Size = UDim2.new(0, 300, 0, 400)
main.Position = UDim2.new(0.5, -150, 0.5, -200)
main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
main.BorderSizePixel = 0
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 8)
local line = Instance.new("Frame", main)
line.Size = UDim2.new(1, 0, 0, 2)
line.BackgroundColor3 = Color3.fromRGB(255, 120, 0)
line.BorderSizePixel = 0
local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, 0, 0, 40)
title.Text = "DRAGON SOUL HUB"
title.TextColor3 = Color3.new(1,1,1)
title.Font = "GothamBold"
title.TextSize = 18
title.BackgroundTransparency = 1
-- // Funciones
local function getBalls()
local t = {}
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("Model") then
local n = v.Name:lower()
for _, k in pairs(keys) do
if n:find(k) then
local p = v:IsA("Model") and (v.PrimaryPart or v:FindFirstChildWhichIsA("BasePart")) or v
if p and p:IsA("BasePart") and p.Transparency < 1 then
table.insert(t, p)
end
end
end
end
end
return t
end
-- // Botones (Compactos)
local function create(txt, pos, callback)
local btn = Instance.new("TextButton", main)
btn.Size = UDim2.new(0.9, 0, 0, 40)
btn.Position = UDim2.new(0.05, 0, 0, pos)
btn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
btn.Text = txt
btn.TextColor3 = Color3.new(1,1,1)
btn.Font = "Gotham"
btn.TextSize = 14
btn.AutoButtonColor = true
Instance.new("UICorner", btn)
btn.MouseButton1Click:Connect(callback)
return btn
end
create("Escanear/ESP", 60, function()
_G.ESP = not _G.ESP
print("ESP Status:", _G.ESP)
for _, b in pairs(getBalls()) do
if not b:FindFirstChild("Highlight") then
local h = Instance.new("Highlight", b)
h.FillColor = Color3.fromRGB(255, 140, 0)
local bb = Instance.new("BillboardGui", b)
bb.Size, bb.AlwaysOnTop = UDim2.new(0,80,0,20), true
local l = Instance.new("TextLabel", bb)
l.Size, l.BackgroundTransparency, l.TextColor3 = UDim2.new(1,0,1,0), 1, Color3.new(1,1,1)
l.Text = "BALL"
task.spawn(function()
while b and b.Parent and _G.ESP do task.wait(0.5) end
h:Destroy()
bb:Destroy()
end)
end
end
end)
create("Auto-Collect", 110, function()
if _G.Busy then return end
local list = getBalls()
local target = nil
local dist = math.huge
for _, x in pairs(list) do
local d = (plr.Character.HumanoidRootPart.Position - x.Position).Magnitude
if d < dist then dist = d; target = x end
end
if target then
_G.Busy = true
-- Noclip
local nc = rs.Stepped:Connect(function()
for _, v in pairs(plr.Character:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end)
local move = ts:Create(plr.Character.HumanoidRootPart, TweenInfo.new(dist/_G.BallSpeed, Enum.EasingStyle.Linear), {CFrame = target.CFrame})
move:Play()
move.Completed:Connect(function()
-- Fire interaction
local p = target:FindFirstChildOfClass("ProximityPrompt") or target.Parent:FindFirstChildOfClass("ProximityPrompt")
if p then fireproximityprompt(p) end
task.wait(0.3)
nc:Disconnect()
_G.Busy = false
end)
end
end)
create("Server Hop", 160, function()
local servers = hp:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100")).data
for _, s in pairs(servers) do
if s.playing < s.maxPlayers and s.id ~= game.JobId then
tp:TeleportToPlaceInstance(game.PlaceId, s.id)
end
end
end)
create("Rejoin", 210, function() tp:TeleportToPlaceInstance(game.PlaceId, game.JobId) end)
-- // Slider Speed (Manual)
local sFrame = Instance.new("Frame", main)
sFrame.Size = UDim2.new(0.9, 0, 0, 40)
sFrame.Position = UDim2.new(0.05, 0, 0, 260)
sFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
Instance.new("UICorner", sFrame)
local sTitle = Instance.new("TextLabel", sFrame)
sTitle.Size = UDim2.new(1,0,0,20)
sTitle.Text = "Vuelo: " .. _G.BallSpeed
sTitle.TextColor3 = Color3.new(1,1,1)
sTitle.BackgroundTransparency = 1
local drag = false
sFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then drag = true end
end)
u.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then drag = false end
end)
u.InputChanged:Connect(function(input)
if drag and input.UserInputType == Enum.UserInputType.MouseMovement then
local percent = math.clamp((input.Position.X - sFrame.AbsolutePosition.X) / sFrame.AbsoluteSize.X, 0, 1)
_G.BallSpeed = math.floor(50 + (percent * 450))
sTitle.Text = "Vuelo: " .. _G.BallSpeed
end
end)
-- // Drag system
local dragging, dragInput, startPos, startPosMain
main.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
startPos = input.Position
startPosMain = main.Position
end
end)
u.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - startPos
main.Position = UDim2.new(startPosMain.X.Scale, startPosMain.X.Offset + delta.X, startPosMain.Y.Scale, startPosMain.Y.Offset + delta.Y)
end
end)
u.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)No comments yet for this script.



