-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Players=game:GetService("Players") local UIS=game:GetService("UserInputService") local RunService=game:GetService("RunService") local Lighting=game:GetService("Lighting") local Camera=workspace.CurrentCamera local Player=Players.LocalPlayer local Targets=workspace:FindFirstChild("TrainingTargets") or Instance.new("Folder",workspace) Targets.Name="TrainingTargets" local S={ ESP=true, AimLock=true, Speed=true, Crosshair=true, FOV=true, SpeedValue=24, FOVValue=180, TargetPart="Head" } local Gui=Instance.new("ScreenGui") Gui.Name="DragonHub" Gui.ResetOnSpawn=false Gui.Parent=Player:WaitForChild("PlayerGui") local Main=Instance.new("Frame") Main.Size=UDim2.fromOffset(250,330) Main.Position=UDim2.new(0,20,.5,-165) Main.BackgroundColor3=Color3.fromRGB(20,10,30) Main.BorderSizePixel=0 Main.Parent=Gui Instance.new("UICorner",Main).CornerRadius=UDim.new(0,14) local Stroke=Instance.new("UIStroke",Main) Stroke.Color=Color3.fromRGB(170,70,255) Stroke.Thickness=2 local Title=Instance.new("TextLabel") Title.Size=UDim2.new(1,0,0,40) Title.BackgroundTransparency=1 Title.Text="🐉 DRAGON HUB" Title.TextColor3=Color3.fromRGB(220,160,255) Title.TextSize=18 Title.Font=Enum.Font.GothamBold Title.Parent=Main local Scroll=Instance.new("ScrollingFrame") Scroll.Position=UDim2.fromOffset(8,45) Scroll.Size=UDim2.new(1,-16,1,-53) Scroll.BackgroundTransparency=1 Scroll.BorderSizePixel=0 Scroll.ScrollBarThickness=3 Scroll.CanvasSize=UDim2.fromOffset(0,0) Scroll.Parent=Main local Layout=Instance.new("UIListLayout",Scroll) Layout.Padding=UDim.new(0,5) local function button(text) local B=Instance.new("TextButton") B.Size=UDim2.new(1,-4,0,32) B.BackgroundColor3=Color3.fromRGB(38,20,55) B.Text=text B.TextColor3=Color3.fromRGB(235,220,255) B.TextSize=12 B.Font=Enum.Font.GothamBold B.AutoButtonColor=true B.Parent=Scroll Instance.new("UICorner",B).CornerRadius=UDim.new(0,8) return B end local function header(text) local B=button(text) B.BackgroundColor3=Color3.fromRGB(55,25,75) return B end local TargetHeader=header("🎯 TARGETS") local AimHeader=header("🔒 AIM") local MoveHeader=header("⚡ MOVEMENT") local VisualHeader=header("🌌 VISUALS") local TargetESP=button("ESP: ON") local TeamESP=button("Team Colors: ON") local AimButton=button("Aim Lock: ON") local FOVButton=button("FOV: ON") local FOVSize=button("FOV: 180") local SpeedButton=button("Speed: ON") local SpeedSize=button("Speed: 24") local CrossButton=button("Crosshair: ON") local PerfButton=button("Performance: OFF") local targetItems={TargetESP,TeamESP} local aimItems={AimButton,FOVButton,FOVSize} local moveItems={SpeedButton,SpeedSize} local visualItems={CrossButton,PerfButton} local function show(t,a,m,v) for _,x in ipairs(targetItems) do x.Visible=t end for _,x in ipairs(aimItems) do x.Visible=a end for _,x in ipairs(moveItems) do x.Visible=m end for _,x in ipairs(visualItems) do x.Visible=v end task.defer(function() Scroll.CanvasSize=UDim2.fromOffset(0,Layout.AbsoluteContentSize.Y+10) end) end show(true,false,false,false) TargetHeader.MouseButton1Click:Connect(function() show(true,false,false,false) end) AimHeader.MouseButton1Click:Connect(function() show(false,true,false,false) end) MoveHeader.MouseButton1Click:Connect(function() show(false,false,true,false) end) VisualHeader.MouseButton1Click:Connect(function() show(false,false,false,true) end) local Highlights={} local function teamColor(Model) if not S.TeamColors then return Color3.fromRGB(180,70,255) end local T=Model:GetAttribute("Team") local My=Player.Team and Player.Team.Name if T and My and tostring(T)==My then return Color3.fromRGB(60,255,100) end return Color3.fromRGB(255,60,70) end local function removeESP(Model) if Highlights[Model] then Highlights[Model]:Destroy() Highlights[Model]=nil end end local function addESP(Model) if not S.ESP or not Model:IsA("Model") then return end removeESP(Model) local H=Instance.new("Highlight") H.Name="DragonESP" H.Adornee=Model H.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop H.FillTransparency=.55 H.OutlineTransparency=0 H.FillColor=teamColor(Model) H.OutlineColor=teamColor(Model) H.Parent=Model Highlights[Model]=H end local function refreshESP() for Model in pairs(Highlights) do removeESP(Model) end if S.ESP then for _,Model in ipairs(Targets:GetChildren()) do addESP(Model) end end end Targets.ChildAdded:Connect(function(Model) task.wait() addESP(Model) end) Targets.ChildRemoved:Connect(removeESP) TargetESP.MouseButton1Click:Connect(function() S.ESP=not S.ESP TargetESP.Text="ESP: "..(S.ESP and "ON" or "OFF") refreshESP() end) TeamESP.MouseButton1Click:Connect(function() S.TeamColors=not S.TeamColors TeamESP.Text="Team Colors: "..(S.TeamColors and "ON" or "OFF") refreshESP() end) local Cross=Instance.new("TextLabel") Cross.Size=UDim2.fromOffset(40,40) Cross.AnchorPoint=Vector2.new(.5,.5) Cross.Position=UDim2.fromScale(.5,.5) Cross.BackgroundTransparency=1 Cross.Text="+" Cross.TextColor3=Color3.new(1,1,1) Cross.TextStrokeTransparency=0 Cross.TextScaled=true Cross.Font=Enum.Font.GothamBold Cross.Parent=Gui CrossButton.MouseButton1Click:Connect(function() S.Crosshair=not S.Crosshair Cross.Visible=S.Crosshair CrossButton.Text="Crosshair: "..(S.Crosshair and "ON" or "OFF") end) local FOVCircle=Instance.new("Frame") FOVCircle.AnchorPoint=Vector2.new(.5,.5) FOVCircle.Position=UDim2.fromScale(.5,.5) FOVCircle.Size=UDim2.fromOffset(S.FOVValue*2,S.FOVValue*2) FOVCircle.BackgroundTransparency=1 FOVCircle.Parent=Gui local FOVCorner=Instance.new("UICorner",FOVCircle) FOVCorner.CornerRadius=UDim.new(1,0) local FOVStroke=Instance.new("UIStroke",FOVCircle) FOVStroke.Color=Color3.fromRGB(190,80,255) FOVStroke.Thickness=1 local function updateFOV() FOVCircle.Visible=S.FOV FOVCircle.Size=UDim2.fromOffset(S.FOVValue*2,S.FOVValue*2) FOVSize.Text="FOV: "..S.FOVValue end AimButton.MouseButton1Click:Connect(function() S.AimLock=not S.AimLock AimButton.Text="Aim Lock: "..(S.AimLock and "ON" or "OFF") end) FOVButton.MouseButton1Click:Connect(function() S.FOV=not S.FOV updateFOV() end) FOVSize.MouseButton1Click:Connect(function() S.FOVValue+=25 if S.FOVValue>300 then S.FOVValue=50 end updateFOV() end) local function applySpeed() local Char=Player.Character local Hum=Char and Char:FindFirstChildOfClass("Humanoid") if Hum then Hum.WalkSpeed=S.Speed and S.SpeedValue or 16 end end SpeedButton.MouseButton1Click:Connect(function() S.Speed=not S.Speed SpeedButton.Text="Speed: "..(S.Speed and "ON" or "OFF") applySpeed() end) SpeedSize.MouseButton1Click:Connect(function() S.SpeedValue+=4 if S.SpeedValue>60 then S.SpeedValue=16 end SpeedSize.Text="Speed: "..S.SpeedValue applySpeed() end) Player.CharacterAdded:Connect(function(Char) Char:WaitForChild("Humanoid") applySpeed() end) PerfButton.MouseButton1Click:Connect(function() S.Performance=not S.Performance PerfButton.Text="Performance: "..(S.Performance and "ON" or "OFF") Lighting.GlobalShadows=not S.Performance end) local function getTargetPart(Model) return Model:FindFirstChild(S.TargetPart) or Model:FindFirstChild("HumanoidRootPart") or Model.PrimaryPart end local function closestTarget() local Best=nil local BestDistance=S.FOVValue local Center=Vector2.new( Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2 ) for _,Model in ipairs(Targets:GetChildren()) do if Model:IsA("Model") then local Hum=Model:FindFirstChildOfClass("Humanoid") local Part=getTargetPart(Model) if Part and (not Hum or Hum.Health>0) then local Pos,Visible=Camera:WorldToViewportPoint(Part.Position) if Visible then local Dist=(Vector2.new(Pos.X,Pos.Y)-Center).Magnitude if Dist<=BestDistance then BestDistance=Dist Best=Part end end end end end return Best end RunService.RenderStepped:Connect(function() if S.AimLock then local Target=closestTarget() if Target then local ScreenPos=Camera:WorldToViewportPoint(Target.Position) local Center=Vector2.new( Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2 ) local Delta=Vector2.new(ScreenPos.X,ScreenPos.Y)-Center Cross.Position=UDim2.fromOffset( Camera.ViewportSize.X/2+Delta.X*.15, Camera.ViewportSize.Y/2+Delta.Y*.15 ) else Cross.Position=UDim2.fromScale(.5,.5) end end for Model,H in pairs(Highlights) do if Model.Parent then local C=teamColor(Model) H.FillColor=C H.OutlineColor=C end end end) local dragging=false local dragStart local startPos Title.InputBegan:Connect(function(Input) if Input.UserInputType==Enum.UserInputType.MouseButton1 or Input.UserInputType==Enum.UserInputType.Touch then dragging=true dragStart=Input.Position startPos=Main.Position end end) UIS.InputChanged:Connect(function(Input) if dragging and ( Input.UserInputType==Enum.UserInputType.MouseMovement or Input.UserInputType==Enum.UserInputType.Touch ) then local Delta=Input.Position-dragStart Main.Position=UDim2.new( startPos.X.Scale, startPos.X.Offset+Delta.X, startPos.Y.Scale, startPos.Y.Offset+Delta.Y ) end end) UIS.InputEnded:Connect(function(Input) if Input.UserInputType==Enum.UserInputType.MouseButton1 or Input.UserInputType==Enum.UserInputType.Touch then dragging=false end end)