Run it
Copy the script and paste it into your executor.
Fluent = (:())()
name = :():(.PlaceId).Name
Window = Fluent:({
Title = ,
SubTitle = name,
TabWidth = ,
Size = .(, ),
Acrylic = ,
Theme = ,
MinimizeKey = .KeyCode.LeftControl
})
Tabs = {
Main = Window:({ Title = , Icon = }),
}
MAX_REMOTES =
ADD_REMOTE_DELAY =
isUIActive =
remoteList = {}
ignoreList = {}
debounceList = {}
Output = setclipboard
()
_, remote (remoteList)
remote.Button remote.Button:()
remote.DoNotShowButton remote.DoNotShowButton:()
remoteList = {}
Fluent:({
Title = ,
Content = ,
Duration =
})
Tabs.Main:()
Tabs.Main:({
Title = ,
Description = ,
Callback = ()
isUIActive =
Fluent:({
Title = ,
Content = ,
Duration =
})
})
Tabs.Main:({
Title = ,
Description = ,
Callback = ()
isUIActive =
Fluent:({
Title = ,
Content = ,
Duration =
})
})
Tabs.Main:(, {
Title = ,
Min = ,
Max = ,
Default = MAX_REMOTES,
Rounding = ,
Callback = (value)
MAX_REMOTES = value
Fluent:({
Title = ,
Content = .. (MAX_REMOTES),
Duration =
})
})
Tabs.Main:(, {
Title = ,
Min = ,
Max = ,
Default = ADD_REMOTE_DELAY,
Rounding = ,
Callback = (value)
ADD_REMOTE_DELAY = value
Fluent:({
Title = ,
Content = .. (ADD_REMOTE_DELAY) .. ,
Duration =
})
})
Tabs.Main:({
Title = ,
Description = ,
Callback = ClearAllRemotes
})
Tabs.Main:()
(remoteType, fullData)
isUIActive ignoreList[remoteType]
#remoteList >= MAX_REMOTES
removedRemote = .(remoteList, )
removedRemote.Button
removedRemote.Button:()
removedRemote.DoNotShowButton
removedRemote.DoNotShowButton:()
remoteData = {
Type = remoteType,
Data = fullData
}
button = Tabs.Main:({
Title = remoteData.Type,
Description = remoteData.Data,
Callback = ()
(remoteData.Data)
Fluent:({
Title = ,
Content = ,
Duration =
})
})
doNotShowAgain = Tabs.Main:({
Title = ,
Callback = ()
ignoreList[remoteData.Type] =
button button:()
doNotShowAgain doNotShowAgain:()
})
remoteData.Button = button
remoteData.DoNotShowButton = doNotShowAgain
.(remoteList, remoteData)
(instance)
path = {}
instance instance.Parent
.(path, , instance.Name)
instance = instance.Parent
.(path, )
(Event)
Event:() Event.OnClientEvent
Event.OnClientEvent:((...)
debounceList[Event] (() - debounceList[Event] < ADD_REMOTE_DELAY)
debounceList[Event] = ()
isUIActive
FullData = (Event)
(Event.ClassName, FullData)
)
(Func)
Func:() Func.OnClientInvoke
Func.OnClientInvoke = (...)
debounceList[Func] (() - debounceList[Func] < ADD_REMOTE_DELAY)
debounceList[Func] = ()
isUIActive
FullData = (Func)
(Func.ClassName, FullData)
()
events = {}
_, v (:())
v:()
.(events, v)
events
()
functions = {}
_, v (:())
v:()
.(functions, v)
functions
_, event (())
(event)
_, func (())
(func)
Window.OnClose = ()
isUIActive =
()
()
()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: github.com, www.roblox.com.
Maybe someone can make it better, don't write that this code is too bad.

Universal