ArtificialHB=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116",script)ArtificialHB.Name="\065\114\116\105\102\105\099\105\097\108\072\066"script:WaitForChild("\065\114\116\105\102\105\099\105\097\108\072\066")frame=.016666666666667 tf=0 allowframeloss=false tossremainder=false lastframe=tick()script.ArtificialHB:Fire();(game:GetService("\082\117\110\083\101\114\118\105\099\101")).Heartbeat:connect(function(U,H)tf=tf+U if tf>=frame then if allowframeloss then script.ArtificialHB:Fire()lastframe=tick()else for U=1,math.floor(tf/frame),1 do script.ArtificialHB:Fire()end lastframe=tick()end if tossremainder then tf=0 else tf=tf-frame*math.floor(tf/frame)end end end)function PositiveAngle(U)if U>=0 then U=0 end return U end function NegativeAngle(U)if U<=0 then U=0 end return U end function Swait(U)if U==0 or U==nil then ArtificialHB.Event:wait()else for U=1,U,1 do ArtificialHB.Event:wait()end end end


ArtificialHB = Instance.new("BindableEvent", script)
ArtificialHB.Name = "ArtificialHB"

script:WaitForChild("ArtificialHB")

frame = 1/60
tf = 0
allowframeloss = false
tossremainder = false
lastframe = tick()
script.ArtificialHB:Fire()

game:GetService("RunService").Heartbeat:connect(function(s, p)
	tf = tf + s
	if tf >= frame then
		if allowframeloss then
			script.ArtificialHB:Fire()
			lastframe = tick()
		else
			for i = 1, math.floor(tf / frame) do
				script.ArtificialHB:Fire()
			end
		lastframe = tick()
		end
		if tossremainder then
			tf = 0
		else
			tf = tf - frame * math.floor(tf / frame)
		end
	end
end)

function PositiveAngle(NUMBER)
	if NUMBER >= 0 then
		NUMBER = 0
	end
	return NUMBER
end

function NegativeAngle(NUMBER)
	if NUMBER <= 0 then
		NUMBER = 0
	end
	return NUMBER
end

function Swait(NUMBER)
	if NUMBER == 0 or NUMBER == nil then
		ArtificialHB.Event:wait()
	else
		for i = 1, NUMBER do
			ArtificialHB.Event:wait()
		end
	end
end
