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

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)
