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