local S=require(game.ReplicatedStorage:WaitForChild("\082\101\115\111\117\114\099\101\115"))while not S.Loaded do(game:GetService("\082\117\110\083\101\114\118\105\099\101")).Heartbeat:Wait()end local a=S.StarterPlayer local j=S.CollectionService local u=S.Directory.Hoverboards local P=nil function Create(a)local j=(S.PlayerModule.Get("\067\104\097\114\097\099\116\101\114",a)):FindFirstChild("\095\095\072\079\086\069\082\066\079\065\082\068")if j then j:Destroy()end local V=S.StatService.Get(a)if V then if not V.Hoverboard then return end else return end local C=u[V.Hoverboard]if not C then return end local p=S.PlayerModule.Get("\072\117\109\097\110\111\105\100")local U=S.PlayerModule.Get("\082\111\111\116\080\097\114\116")if p then if U then P=p.HipHeight U.CFrame=U.CFrame+Vector3.new(0,p.HipHeight-C.HipHeight,0)p.HipHeight=C.HipHeight p.AutoJumpEnabled=false end end end local V=S.LocalPlayer function Remove(a)local j=S.PlayerModule.Get("\072\117\109\097\110\111\105\100")local u=S.PlayerModule.Get("\082\111\111\116\080\097\114\116")if j then if u then if a==V then u.Velocity=Vector3.new()end if P then j.HipHeight=P P=nil end j.AutoJumpEnabled=true end end end function UpdatePlayer(a,j)local u=S.PlayerModule.Get("\067\104\097\114\097\099\116\101\114",a)if j then if not u:FindFirstChild("\095\095\072\079\086\069\082\066\079\065\082\068")then return Create(a)end end if not j then if u:FindFirstChild("\095\095\072\079\086\069\082\066\079\065\082\068")then Remove(a)end end end function Toggle()S.Variables.UsingHoverboard=not S.Variables.UsingHoverboard if not S.Variables.UsingHoverboard then Remove(V)else Create(V)end S.Network.Fire("\085\112\100\097\116\101 \072\111\118\101\114\098\111\097\114\100 \083\116\097\116\101",S.Variables.UsingHoverboard)end;(j:GetInstanceAddedSignal("\085\115\105\110\103\072\111\118\101\114\098\111\097\114\100")):Connect(function(S)UpdatePlayer(S,true)end);(j:GetInstanceRemovedSignal("\085\115\105\110\103\072\111\118\101\114\098\111\097\114\100")):Connect(function(S)UpdatePlayer(S,false)end)task.defer(function()while S.Variables.LoadingWorld do S.Heartbeat()end for S,a in ipairs(j:GetTagged("\085\115\105\110\103\072\111\118\101\114\098\111\097\114\100"))do if not S then break end;(coroutine.wrap(UpdatePlayer))(a,true)end end);(S.Signal.Fired("\083\116\097\116 \067\104\097\110\103\101\100")):Connect(function(S) end);(S.Signal.Fired("\067\104\097\110\103\101\100 \080\108\097\116\102\111\114\109")):Connect(function() end);(S.Signal.Fired("\087\111\114\108\100 \067\104\097\110\103\101\100")):Connect(function()if S.Variables.UsingHoverboard then Toggle()end end)


local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
local l__StarterPlayer__2 = v1.StarterPlayer;
local l__CollectionService__3 = v1.CollectionService;
local l__Hoverboards__1 = v1.Directory.Hoverboards;
local u2 = nil;
function Create(p1)
	local l____HOVERBOARD__4 = v1.PlayerModule.Get("Character", p1):FindFirstChild("__HOVERBOARD");
	if l____HOVERBOARD__4 then
		l____HOVERBOARD__4:Destroy();
	end;
	local v5 = v1.StatService.Get(p1);
	if v5 then
		if not v5.Hoverboard then
			return;
		end;
	else
		return;
	end;
	local v6 = l__Hoverboards__1[v5.Hoverboard];
	if not v6 then
		return;
	end;
	local v7 = v1.PlayerModule.Get("Humanoid");
	local v8 = v1.PlayerModule.Get("RootPart");
	if v7 then
		if v8 then
			u2 = v7.HipHeight;
			v8.CFrame = v8.CFrame + Vector3.new(0, v7.HipHeight - v6.HipHeight, 0);
			v7.HipHeight = v6.HipHeight;
			v7.AutoJumpEnabled = false;
		end;
	end;
end;
local l__LocalPlayer__3 = v1.LocalPlayer;
function Remove(p2)
	local v9 = v1.PlayerModule.Get("Humanoid");
	local v10 = v1.PlayerModule.Get("RootPart");
	if v9 then
		if v10 then
			if p2 == l__LocalPlayer__3 then
				v10.Velocity = Vector3.new();
			end;
			if u2 then
				v9.HipHeight = u2;
				u2 = nil;
			end;
			v9.AutoJumpEnabled = true;
		end;
	end;
end;
function UpdatePlayer(p3, p4)
	local v11 = v1.PlayerModule.Get("Character", p3);
	if p4 then
		if not v11:FindFirstChild("__HOVERBOARD") then
			return Create(p3);
		end;
	end;
	if not p4 then
		if v11:FindFirstChild("__HOVERBOARD") then
			Remove(p3);
		end;
	end;
end;
function Toggle()
	v1.Variables.UsingHoverboard = not v1.Variables.UsingHoverboard;
	if not v1.Variables.UsingHoverboard then
		Remove(l__LocalPlayer__3);
	else
		Create(l__LocalPlayer__3);
	end;
	v1.Network.Fire("Update Hoverboard State", v1.Variables.UsingHoverboard);
end;
l__CollectionService__3:GetInstanceAddedSignal("UsingHoverboard"):Connect(function(p5)
	UpdatePlayer(p5, true);
end);
l__CollectionService__3:GetInstanceRemovedSignal("UsingHoverboard"):Connect(function(p6)
	UpdatePlayer(p6, false);
end);
task.defer(function()
	while v1.Variables.LoadingWorld do
		v1.Heartbeat();	
	end;

		for v12, v13 in ipairs((l__CollectionService__3:GetTagged("UsingHoverboard"))) do
		if not v12 then
			break;
		end;
		coroutine.wrap(UpdatePlayer)(v13, true);	
	end;
end);
v1.Signal.Fired("Stat Changed"):Connect(function(p7)

end);
v1.Signal.Fired("Changed Platform"):Connect(function()

end);
v1.Signal.Fired("World Changed"):Connect(function()
	if v1.Variables.UsingHoverboard then
		Toggle();
	end;
end);
