Run it
Copy the script and paste it into your executor.
Players = :()
TweenService = :()
UserInputService = :()
ContentProvider = :()
player = Players.LocalPlayer
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.IgnoreGuiInset =
gui.DisplayOrder =
gui.Parent = player:()
rawIds = {
,
,
,
,
,
,
,
}
videoIds = {}
_, id (rawIds)
.(videoIds, .. (id))
transitionTime =
swipeThreshold =
autoplayOnLoad =
camera = .CurrentCamera
viewSize = camera camera.ViewportSize .(,)
tabHeight = .(, .(viewSize.Y * ))
(parent)
f = .()
f.Size = .(, )
f.Position = .(, )
f.AnchorPoint = .(, )
f.BackgroundTransparency =
f.Parent = parent
f
pages = {}
(name)
f = .()
f.Name = name
f.Size = .(, )
f.Position = .(, )
f.BackgroundTransparency =
f.Visible =
f.Parent = gui
pages[name] = f
f
feedPage = ()
followingPage = ()
searchPage = ()
feedPage.Visible =
tabs = .()
tabs.Size = .(, , , tabHeight)
tabs.Position = .(, , , -tabHeight)
tabs.BackgroundColor3 = .(,,)
tabs.BorderSizePixel =
tabs.Parent = gui
tabsLayout = .()
tabsLayout.Parent = tabs
tabsLayout.FillDirection = .FillDirection.Horizontal
tabsLayout.HorizontalAlignment = .HorizontalAlignment.Center
tabsLayout.VerticalAlignment = .VerticalAlignment.Center
tabsLayout.SortOrder = .SortOrder.LayoutOrder
tabsLayout.Padding = .(,)
(text, page)
btn = .()
btn.Size = .(/, -, , -)
btn.Text = text
btn.TextScaled =
btn.AutoButtonColor =
btn.BackgroundColor3 = .(,,)
btn.Parent = tabs
btn.MouseButton1Click:(()
_,p (pages) p.Visible =
page.Visible =
)
btn
(, feedPage)
(, followingPage)
(, searchPage)
container = .()
container.Size = .(, , , -tabHeight)
container.Position = .(, , , )
container.AnchorPoint = .(,)
container.BackgroundColor3 = .(,,)
container.Parent = feedPage
bg = .()
bg.Name =
bg.Size = .(, )
bg.Position = .(, )
bg.AnchorPoint = .(,)
bg.BackgroundColor3 = .(, , )
bg.BorderSizePixel =
bg.Parent = container
front = .()
front.Size = .(, )
front.Position = .(, )
front.BackgroundTransparency =
front.Visible =
front.Parent = bg
front.Volume =
front.Looped =
front.AnchorPoint = .(,)
back = .()
back.Size = .(, )
back.Position = .(, )
back.BackgroundTransparency =
back.Visible =
back.Parent = bg
back.Volume =
back.Looped =
back.AnchorPoint = .(,)
fallback = .()
fallback.Size = .(, )
fallback.Position = .(, )
fallback.BackgroundTransparency =
fallback.Visible =
fallback.Parent = bg
fallback.AnchorPoint = .(,)
closeBtn = .()
closeBtn.Name =
closeBtn.AnchorPoint = .(, )
closeBtn.Position = .(, -, , )
closeBtn.Size = .(, , , )
closeBtn.Text =
closeBtn.Font = .Font.GothamBold
closeBtn.TextScaled =
closeBtn.BackgroundTransparency =
closeBtn.TextColor3 = .(,,)
closeBtn.Parent = bg
closeBtn.ZIndex =
closeBtn.MouseButton1Click:(()
gui gui.Parent
gui:()
)
(label, y)
btn = .()
btn.Size = .(,,,)
btn.Position = .(, -, , y)
btn.AnchorPoint = .(, )
btn.Text = label
btn.TextScaled =
btn.BackgroundTransparency =
btn.Parent = bg
btn
likeBtn = (, )
favBtn = (, )
shareBtn = (, )
(msg)
lbl = .()
lbl.Size = .(,,,)
lbl.Position = .(,,,)
lbl.BackgroundTransparency =
lbl.BackgroundColor3 = .(,,)
lbl.TextColor3 = .(,,)
lbl.TextScaled =
lbl.Text = msg
lbl.Parent = gui
lbl.AnchorPoint = .(,)
(, ()
t = TweenService:(lbl, TweenInfo.(), {TextTransparency = , BackgroundTransparency = })
t:()
(, () lbl lbl.Parent lbl:() )
)
currentIndex =
isTransitioning =
()
ok, _ = (() v = .() v:() )
ok
hasVideoSupport = ()
(frame, vid)
hasVideoSupport
frame.Video = vid
frame.Visible =
frame.Visible =
fallback.Visible =
fallback.Image =
(frame)
hasVideoSupport
frame.IsLoaded
frame:()
frame.Loaded:(()
frame:()
)
(frame)
hasVideoSupport
frame:()
(()
ContentProvider:(videoIds)
)
()
#videoIds ==
label = .()
label.Size = .(, )
label.BackgroundTransparency =
label.TextScaled =
label.TextColor3 = .(,,)
label.Text =
label.Parent = bg
(front, videoIds[currentIndex])
front.Position = .(,)
front.Visible =
autoplayOnLoad
(front)
()
(nextIndex, dir)
isTransitioning
nextIndex < nextIndex > #videoIds
isTransitioning =
nextIndex == currentIndex
isTransitioning =
(back, videoIds[nextIndex])
back.Position = .(,, (dir == ) -, )
back.Visible =
(back)
tweenInfo = TweenInfo.(transitionTime, .EasingStyle.Quad, .EasingDirection.Out)
t1 = TweenService:(back, tweenInfo, {Position = .(,,,)})
t2 = TweenService:(front, tweenInfo, {Position = .(,, (dir == ) - , )})
t1:(); t2:()
(transitionTime + , ()
(front)
front.Video, back.Video = back.Video, front.Video
front.Playing, back.Playing = back.Playing, front.Playing
front.Position = .(,)
front.Visible =
back.Visible =
isTransitioning =
currentIndex = nextIndex
)
dragging =
startY =
lastY =
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
dragging =
startY = input.Position.Y
lastY = startY
)
UserInputService.InputChanged:((input)
dragging
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseMovement
lastY = input.Position.Y
)
UserInputService.InputEnded:((input, gameProcessed)
gameProcessed
dragging
dragging =
delta = lastY - startY
.(delta) >= swipeThreshold
delta >
= currentIndex +
<= #videoIds
(, )
()
prev = currentIndex -
prev >=
(prev, )
()
hasVideoSupport
front.IsLoaded
front.Playing
front:()
()
front:()
()
front:()
()
)
likeBtn.MouseButton1Click:(()
()
tw = TweenService:(likeBtn, TweenInfo.(), {Size = .(,,,)})
tw:()
(, ()
TweenService:(likeBtn, TweenInfo.(), {Size = .(,,,)}):()
)
)
favBtn.MouseButton1Click:(()
()
)
shareBtn.MouseButton1Click:(()
()
)
followLabel = .()
followLabel.Size = .(, )
followLabel.BackgroundTransparency =
followLabel.TextColor3 = .(,,)
followLabel.TextScaled =
followLabel.Text =
followLabel.Parent = followingPage
searchBox = .()
searchBox.Size = .(,,,)
searchBox.Position = .(,,,)
searchBox.PlaceholderText =
searchBox.TextScaled =
searchBox.Parent = searchPage
searchResults = .()
searchResults.Size = .(,,,)
searchResults.Position = .(,,,)
searchResults.BackgroundTransparency =
searchResults.TextScaled =
searchResults.TextColor3 = .(,,)
searchResults.Parent = searchPage
searchBox.FocusLost:((enterPressed)
q = (searchBox.Text)
q:()
found = {}
i,v (videoIds)
(v):(q)
.(found, v)
#found ==
searchResults.Text =
searchResults.Text = .(found, )
searchResults.Text =
)
(, hasVideoSupport)
(, #videoIds)
i,v (videoIds) (i, v)
It's literally a platform!

Universal