local a=game:GetService("Players")local b=game:GetService("UserInputService")local c=game:GetService("TweenService")local d=game:GetService("Lighting")local e=game:GetService("RunService")local f=game:GetService("StarterGui")local g=16;local h=28;local i=70;local j=85;local k=0.3;local l=5;local m=0.2;local n=65;local o=-5;local p=-5;local q=1;local r=-170;local s=1;local t=-80;local u=a.LocalPlayer;local v=workspace.CurrentCamera;local w=u.Character or u.CharacterAdded:Wait()local x=w:WaitForChild("Humanoid")local y=false;local z=nil;local A=nil;local B=nil;local C=nil;local D=false;local E=Instance.new("ScreenGui")E.Name="SprintControls"E.ResetOnSpawn=false;E.IgnoreGuiInset=true;E.DisplayOrder=1;E.Parent=u:WaitForChild("PlayerGui")local F=Instance.new("TextButton")F.Name="SprintButton"F.Text="💨"F.Font=Enum.Font.SourceSansSemibold;F.TextColor3=Color3.fromRGB(255,255,255)F.TextScaled=true;F.BackgroundColor3=Color3.fromRGB(0,0,0)F.BackgroundTransparency=0.4;F.BorderSizePixel=0;F.Size=UDim2.fromOffset(n,n)F.AutoButtonColor=false;F.AnchorPoint=Vector2.new(1,1)F.Position=UDim2.new(q,r,s,t)F.Parent=E;local G=Instance.new("UICorner")G.CornerRadius=UDim.new(0.3,0)G.Parent=F;local H=d:FindFirstChildWhichIsA("BlurEffect")if not H then H=Instance.new("BlurEffect")H.Name="SprintBlur"H.Size=0;H.Enabled=false;H.Parent=d end;local function I(J,K,L,M)local N=TweenInfo.new(M,Enum.EasingStyle.Sine,Enum.EasingDirection.Out)return c:Create(J,N,{[K]=L})end;local function O()if y or x.MoveDirection.Magnitude<0.1 then return end;y=true;x.WalkSpeed=h;if A then A:Cancel()end;z=I(v,"FieldOfView",j,k)z:Play()if C then C:Cancel()end;H.Enabled=true;B=I(H,"Size",l,m)B:Play()F:TweenSize(UDim2.fromOffset(n*0.9,n*0.9),Enum.EasingDirection.Out,Enum.EasingStyle.Sine,0.1,true)F.BackgroundTransparency=0.2 end;local function P()if not y then return end;y=false;x.WalkSpeed=g;if z then z:Cancel()end;A=I(v,"FieldOfView",i,k)A:Play()if B then B:Cancel()end;C=I(H,"Size",0,m)C:Play()local Q;Q=C.Completed:Connect(function(R)if R==Enum.TweenStatus.Completed and not y then H.Enabled=false end;if Q then Q:Disconnect()end end)F:TweenSize(UDim2.fromOffset(n,n),Enum.EasingDirection.Out,Enum.EasingStyle.Sine,0.1,true)F.BackgroundTransparency=0.4 end;local function S()local T=u:FindFirstChild("PlayerGui")local U=T and T:FindFirstChild("TouchGui")local V=U and U:FindFirstChild("TouchControlFrame")local W=V and V:FindFirstChild("JumpButton")return W end;local function X()local W=S()if W and b.TouchEnabled then e.Heartbeat:Wait()if not W.Parent then F.Position=UDim2.new(q,r,s,t)return end;local Y=W.AbsolutePosition;F.Position=UDim2.fromOffset(Y.X+o,Y.Y+p)else F.Position=UDim2.new(q,r,s,t)end end;local function Z(_)if _<0.1 and y then P()end end;local a0=nil;local a1=nil;local function a2(a3)w=a3;x=a3:WaitForChild("Humanoid")v=workspace.CurrentCamera;y=false;x.WalkSpeed=g;if v then v.FieldOfView=i end;if H then H.Size=0;H.Enabled=false end;F.Size=UDim2.fromOffset(n,n)F.BackgroundTransparency=0.4;if a0 then a0:Disconnect()end;a0=x.Died:Connect(function()P()task.wait(m+0.05)if H then H.Size=0;H.Enabled=false end;if v then v.FieldOfView=i end;if a0 then a0:Disconnect()end end)if a1 then a1:Disconnect()end;a1=x.Running:Connect(Z)task.wait(0.5)X()if not D then pcall(function()f:SetCore("SendNotification",{Title="Script Credit",Text="Sprint system by Noiic (Discord)",Duration=10})end)D=true end end;F.InputBegan:Connect(function(a4)if a4.UserInputType==Enum.UserInputType.Touch or a4.UserInputType==Enum.UserInputType.MouseButton1 then O()end end)F.InputEnded:Connect(function(a4)if a4.UserInputType==Enum.UserInputType.Touch or a4.UserInputType==Enum.UserInputType.MouseButton1 then P()end end)u.CharacterAdded:Connect(a2)if w then a2(w)else X()if not D then pcall(function()f:SetCore("SendNotification",{Title="Script Credit",Text="Sprint system by Noiic (Discord)",Duration=10})end)D=true end end;local a5;local a6;local a7;local a8;if v then a5=v:GetPropertyChangedSignal("ViewportSize"):Connect(X)end;if E then a6=E:GetPropertyChangedSignal("AbsoluteSize"):Connect(X)end;local T=u:WaitForChild("PlayerGui")if T then a7=T.ChildAdded:Connect(function(a9)if a9:IsA("ScreenGui")and a9.Name=="TouchGui"then task.wait(0.2)X()end end)a8=T.ChildRemoved:Connect(function(a9)if a9:IsA("ScreenGui")and a9.Name=="TouchGui"then X()end end)end;script.Destroying:Connect(function()if a0 then a0:Disconnect()end;if a1 then a1:Disconnect()end;if a5 then a5:Disconnect()end;if a6 then a6:Disconnect()end;if a7 then a7:Disconnect()end;if a8 then a8:Disconnect()end;if z then z:Cancel()end;if A then A:Cancel()end;if B then B:Cancel()end;if C then C:Cancel()end;if v and i then pcall(function()v.FieldOfView=i end)end;if H then pcall(function()H.Enabled=false;H.Size=0 end)end;if x and g then pcall(function()x.WalkSpeed=g end)end end)