sp=script.Parent speedboost=2 speedforsmoke=10 function waitfor(y,q,g)local J=g or 300 local m=tick()+J while y:FindFirstChild(q)==nil and tick()<=m do wait()end return y:FindFirstChild(q)end local y=waitfor(script,"\084\111\111\108\084\097\103",2)if y~=nil then local q=y.Value local g=sp:FindFirstChild("\072\117\109\097\110\111\105\100")if g~=nil then g.WalkSpeed=16+16*speedboost local y=sp:FindFirstChild("\084\111\114\115\111")if y~=nil then smokepart=Instance.new("\080\097\114\116")smokepart.FormFactor="\067\117\115\116\111\109"smokepart.Size=Vector3.new(0,0,0)smokepart.TopSurface="\083\109\111\111\116\104"smokepart.BottomSurface="\083\109\111\111\116\104"smokepart.CanCollide=false smokepart.Transparency=1 local q=Instance.new("\087\101\108\100")q.Name="\083\109\111\107\101\080\097\114\116\087\101\108\100"q.Part0=y q.Part1=smokepart q.C0=CFrame.new(0,-3.5,0)*CFrame.Angles(math.pi/4,0,0)q.Parent=smokepart smokepart.Parent=sp smoke=Instance.new("\083\109\111\107\101")smoke.Enabled=y.Velocity.magnitude>speedforsmoke smoke.RiseVelocity=2 smoke.Opacity=.25 smoke.Size=.5 smoke.Parent=smokepart g.Running:connect(function(y)if smoke and smoke~=nil then smoke.Enabled=y>speedforsmoke end end)end end while q~=nil and(q.Parent==sp and g~=nil)do sp.ChildRemoved:wait()end local J=sp:FindFirstChild("\072\117\109\097\110\111\105\100")if J~=nil then J.WalkSpeed=16 end end if smokepart~=nil then smokepart:remove()end script:remove()



sp=script.Parent

speedboost=2		--200% speed bonus
speedforsmoke=10	--smoke apears when character running >= 10 studs/second.

function waitfor(a, b, c)
	local c = c or 5 * 60
	local d=tick()+c
	while a:FindFirstChild(b)==nil and tick()<=d do
		wait()
	end
	return a:FindFirstChild(b)
end

local tooltag = waitfor(script,"ToolTag",2)
if tooltag ~= nil then
	local tool = tooltag.Value
	local h = sp:FindFirstChild("Humanoid")
	if h ~= nil then
		h.WalkSpeed = 16+16*speedboost
		local t = sp:FindFirstChild("Torso")
		if t ~= nil then
			smokepart = Instance.new("Part")
			smokepart.FormFactor = "Custom"
			smokepart.Size =Vector3.new(0, 0, 0)
			smokepart.TopSurface = "Smooth"
			smokepart.BottomSurface = "Smooth"
			smokepart.CanCollide = false
			smokepart.Transparency = 1
			local weld = Instance.new("Weld")
			weld.Name = "SmokePartWeld"
			weld.Part0 = t
			weld.Part1 = smokepart
			weld.C0 = CFrame.new(0, -3.5, 0) * CFrame.Angles(math.pi / 4, 0, 0)
			weld.Parent = smokepart
			smokepart.Parent = sp
			smoke = Instance.new("Smoke")
			smoke.Enabled = t.Velocity.magnitude > speedforsmoke
			smoke.RiseVelocity = 2
			smoke.Opacity = 0.25
			smoke.Size = 0.5
			smoke.Parent = smokepart
			h.Running:connect(function(speed)
				if smoke and smoke ~= nil then
					smoke.Enabled = speed > speedforsmoke
				end
			end)
		end
	end
	while tool ~= nil and tool.Parent == sp and h ~= nil do
		sp.ChildRemoved:wait()
	end
	local h = sp:FindFirstChild("Humanoid")
	if h ~= nil then
		h.WalkSpeed = 16
	end
end

if smokepart ~= nil then
	smokepart:remove()
end
script:remove()


