Run it
Copy the script and paste it into your executor.
Players = :()
HttpService = :()
plr = Players.LocalPlayer
langs = {
RU={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
EN={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
DE={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
FR={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
CN={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
JP={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
KR={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
AR={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
ES={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
PL={flag=,name=,open=,close=,
t1=,t2=,t3=,
sel=,ph=,
srch=,nf=,fd=,mc=,
on=,off=,
ws=,wn=,ok=,
r={,,,,,}},
}
langOrder = {,,,,,,,,,}
curLang =
() langs[curLang]
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.Parent = plr:()
(p, r) c=.(,p) c.CornerRadius=.(,r )
toggleBtn = .()
toggleBtn.Size = .(,,,)
toggleBtn.Position = .(,,,)
toggleBtn.BackgroundColor3 = .(,,)
toggleBtn.Text = ().open
toggleBtn.TextColor3 = .(,,)
toggleBtn.TextScaled =
toggleBtn.Font = .Font.GothamBold
toggleBtn.BorderSizePixel =
toggleBtn.ZIndex =
toggleBtn.Parent = gui
(toggleBtn)
frame = .()
frame.Size = .(,,,)
frame.Position = .(,,,)
frame.BackgroundColor3 = .(,,)
frame.BorderSizePixel =
frame.Active =
frame.Draggable =
frame.Visible =
frame.Parent = gui
toggleBtn.MouseButton1Click:(()
frame.Visible = frame.Visible
toggleBtn.Text = frame.Visible ().close ().open
)
titleLbl = .()
titleLbl.Size = .(,-,,)
titleLbl.BackgroundColor3 = .(,,)
titleLbl.Text =
titleLbl.TextColor3 = .(,,)
titleLbl.TextScaled =
titleLbl.Font = .Font.GothamBold
titleLbl.BorderSizePixel =
titleLbl.Parent = frame
closeBtn = .()
closeBtn.Size = .(,,,)
closeBtn.Position = .(,-,,)
closeBtn.BackgroundColor3 = .(,,)
closeBtn.Text =
closeBtn.TextColor3 = .(,,)
closeBtn.TextScaled =
closeBtn.Font = .Font.GothamBold
closeBtn.BorderSizePixel =
closeBtn.Parent = frame
closeBtn.MouseButton1Click:(()
frame.Visible =
toggleBtn.Text = ().open
)
leftPanel = .()
leftPanel.Size = .(,,,-)
leftPanel.Position = .(,,,)
leftPanel.BackgroundColor3 = .(,,)
leftPanel.BorderSizePixel =
leftPanel.Parent = frame
(text, xPos)
t = .()
t.Size = .(,,,)
t.Position = .(xPos,,,)
t.BackgroundColor3 = .(,,)
t.Text = text
t.TextColor3 = .(,,)
t.TextScaled =
t.Font = .Font.GothamBold
t.BorderSizePixel =
t.Parent = leftPanel
t
tabOnlineBtn = (().t1, )
tabSearchBtn = (().t2, )
tabLangBtn = (().t3, )
tabOnlineBtn.BackgroundColor3 = .(,,)
tabOnlineBtn.TextColor3 = .(,,)
onlinePanel = .()
onlinePanel.Size = .(,,,-)
onlinePanel.Position = .(,,,)
onlinePanel.BackgroundTransparency =
onlinePanel.Parent = leftPanel
playerScroll = .()
playerScroll.Size = .(,,,)
playerScroll.BackgroundColor3 = .(,,)
playerScroll.BorderSizePixel =
playerScroll.ScrollBarThickness =
playerScroll.TopImage = playerScroll.BottomImage =
playerScroll.CanvasSize = .(,,,)
playerScroll.Parent = onlinePanel
searchPanel = .()
searchPanel.Size = .(,,,-)
searchPanel.Position = .(,,,)
searchPanel.BackgroundTransparency =
searchPanel.Visible =
searchPanel.Parent = leftPanel
searchBox = .()
searchBox.Size = .(,,,)
searchBox.Position = .(,,,)
searchBox.BackgroundColor3 = .(,,)
searchBox.PlaceholderText = ().ph
searchBox.Text =
searchBox.TextColor3 = .(,,)
searchBox.TextScaled =
searchBox.Font = .Font.Gotham
searchBox.BorderSizePixel =
searchBox.ClearTextOnFocus =
searchBox.Parent = searchPanel
(searchBox,)
searchingLbl = .()
searchingLbl.Size = .(,,,)
searchingLbl.Position = .(,,,)
searchingLbl.BackgroundTransparency =
searchingLbl.Text =
searchingLbl.TextColor3 = .(,,)
searchingLbl.TextScaled =
searchingLbl.Font = .Font.Gotham
searchingLbl.Parent = searchPanel
searchScroll = .()
searchScroll.Size = .(,,,-)
searchScroll.Position = .(,,,)
searchScroll.BackgroundColor3 = .(,,)
searchScroll.BorderSizePixel =
searchScroll.ScrollBarThickness =
searchScroll.TopImage = searchScroll.BottomImage =
searchScroll.CanvasSize = .(,,,)
searchScroll.Parent = searchPanel
langPanel = .()
langPanel.Size = .(,,,-)
langPanel.Position = .(,,,)
langPanel.BackgroundColor3 = .(,,)
langPanel.BorderSizePixel =
langPanel.Visible =
langPanel.Parent = leftPanel
langScroll = .()
langScroll.Size = .(,,,)
langScroll.BackgroundTransparency =
langScroll.BorderSizePixel =
langScroll.ScrollBarThickness =
langScroll.TopImage = langScroll.BottomImage =
langScroll.CanvasSize = .(,,,)
langScroll.Parent = langPanel
langBtns = {}
i, code (langOrder)
ldata = langs[code]
row = .((i-)/)
col = (i-) %
lb = .()
lb.Size = .(,,,)
lb.Position = .(col*+,,,row*+)
lb.BackgroundColor3 = (code==curLang) .(,,) .(,,)
lb.Text = ldata.flag....ldata.name
lb.TextColor3 = .(,,)
lb.TextScaled =
lb.Font = .Font.GothamBold
lb.BorderSizePixel =
lb.Parent = langScroll
(lb,)
langBtns[code] = lb
langScroll.CanvasSize = .(,,, .(#langOrder/)*+)
rightPanel = .()
rightPanel.Size = .(,,,-)
rightPanel.Position = .(,,,)
rightPanel.BackgroundColor3 = .(,,)
rightPanel.BorderSizePixel =
rightPanel.Parent = frame
selectedLbl = .()
selectedLbl.Size = .(,,,)
selectedLbl.Position = .(,,,)
selectedLbl.BackgroundColor3 = .(,,)
selectedLbl.Text = ().sel
selectedLbl.TextColor3 = .(,,)
selectedLbl.TextScaled =
selectedLbl.Font = .Font.GothamBold
selectedLbl.BorderSizePixel =
selectedLbl.Parent = rightPanel
(selectedLbl,)
statusLbl = .()
statusLbl.Size = .(,,,)
statusLbl.Position = .(,,,)
statusLbl.BackgroundTransparency =
statusLbl.Text =
statusLbl.TextColor3 = .(,,)
statusLbl.TextScaled =
statusLbl.Font = .Font.Gotham
statusLbl.Parent = rightPanel
selectedPlayer =
reasonBtns = {}
(text, success)
statusLbl.Text = text
statusLbl.TextColor3 = success .(,,) .(,,)
.(, () statusLbl.Text == text statusLbl.Text = )
yPos =
i = ,
btn = .()
btn.Size = .(,,,)
btn.Position = .(,,yPos,)
btn.BackgroundColor3 = .(,,)
btn.Text = ().r[i]
btn.TextColor3 = .(,,)
btn.TextScaled =
btn.Font = .Font.Gotham
btn.BorderSizePixel =
btn.Parent = rightPanel
(btn,)
reasonBtns[i] = btn
btn.MouseButton1Click:(()
selectedPlayer
(().ws, )
target = Players:(selectedPlayer)
target
(().wn, )
(() Players:(target, , btn.Text) )
(() Players:(target, , btn.Text) )
btn.BackgroundColor3 = .(,,)
(().ok, )
.(, () btn.BackgroundColor3 = .(,,) )
)
yPos = yPos +
(name, uid, btn, scroll)
selectedPlayer = name
selectedLbl.Text = ..name
selectedLbl.TextColor3 = .(,,)
_, c (scroll:())
c:() c.BackgroundColor3 = .(,,)
btn.BackgroundColor3 = .(,,)
(scroll, name, userId, index, isOnline, onSelectFn)
pBtn = .()
pBtn.Size = .(,,,)
pBtn.Position = .(,,,index*)
pBtn.BackgroundColor3 = .(,,)
pBtn.BorderSizePixel =
pBtn.Text =
pBtn.Parent = scroll
avatar = .()
avatar.Size = .(,,,)
avatar.Position = .(,,,)
avatar.BackgroundColor3 = .(,,)
avatar.BorderSizePixel =
avatar.Image =
avatar.Parent = pBtn
(avatar,)
.(()
ok,img = (()
Players:(userId, .ThumbnailType.HeadShot, .ThumbnailSize.Size150x150)
)
ok avatar.Image = img
)
nameLbl = .()
nameLbl.Size = .(,,,)
nameLbl.Position = .(,,,)
nameLbl.BackgroundTransparency =
nameLbl.Text = name
nameLbl.TextColor3 = .(,,)
nameLbl.TextScaled =
nameLbl.Font = .Font.Gotham
nameLbl.TextXAlignment = .TextXAlignment.Left
nameLbl.Parent = pBtn
badge = .()
badge.Size = .(,,,)
badge.Position = .(,,,)
badge.BackgroundTransparency =
badge.Text = isOnline ().on ().off
badge.TextColor3 = isOnline .(,,) .(,,)
badge.TextScaled =
badge.Font = .Font.Gotham
badge.TextXAlignment = .TextXAlignment.Left
badge.Parent = pBtn
pBtn.MouseButton1Click:(()
(name, userId, pBtn, scroll)
)
pBtn
()
_, c (playerScroll:()) c:()
list = Players:()
i, p (list)
(playerScroll, p.Name, p.UserId, i-, , onSelect)
playerScroll.CanvasSize = .(,,,#list*)
Players.PlayerAdded:(updateOnlineList)
Players.PlayerRemoving:(() .() () )
()
searchDebounce =
(query)
_, c (searchScroll:()) c:()
searchScroll.CanvasSize = .(,,,)
searchingLbl.Text = ().srch
.(()
results = {}
_, p (Players:())
p.Name:():(query:(),,)
.(results,{name=p.Name,userId=p.UserId,online=})
ok,response = (()
({
Url=..query..,
Method=,
Headers={[]=}
})
)
ok response response.Body
(()
data = HttpService:(response.Body)
data data.data
_, u (data.data)
dup =
_, r (results) r.userId==u.id dup=
dup
.(results,{name=u.name,userId=u.id,online=})
)
searchingLbl.Text = #results> (().fd..#results) ().nf
i, r (results)
(searchScroll,r.name,r.userId,i-,r.online,onSelect)
searchScroll.CanvasSize = .(,,,#results*)
)
searchBox:():(()
text = searchBox.Text
searchDebounce .(searchDebounce)
_, c (searchScroll:()) c:()
searchScroll.CanvasSize = .(,,,)
searchingLbl.Text =
#text <
searchingLbl.Text = #text> ().mc
searchDebounce = .(, () (text) )
)
()
l = ()
toggleBtn.Text = frame.Visible l.close l.open
tabOnlineBtn.Text = l.t1
tabSearchBtn.Text = l.t2
tabLangBtn.Text = l.t3
searchBox.PlaceholderText = l.ph
selectedPlayer
selectedLbl.Text = ..selectedPlayer
selectedLbl.Text = l.sel
i, btn (reasonBtns)
btn.Text = l.r[i] btn.Text
code, lb (langBtns)
lb.BackgroundColor3 = (code==curLang) .(,,) .(,,)
()
_, code (langOrder)
langBtns[code].MouseButton1Click:(()
curLang = code
()
)
(which)
onlinePanel.Visible = which==
searchPanel.Visible = which==
langPanel.Visible = which==
tabOnlineBtn.BackgroundColor3 = which== .(,,) .(,,)
tabSearchBtn.BackgroundColor3 = which== .(,,) .(,,)
tabLangBtn.BackgroundColor3 = which== .(,,) .(,,)
tabOnlineBtn.TextColor3 = which== .(,,) .(,,)
tabSearchBtn.TextColor3 = which== .(,,) .(,,)
tabLangBtn.TextColor3 = which== .(,,) .(,,)
tabOnlineBtn.MouseButton1Click:(() () )
tabSearchBtn.MouseButton1Click:(() () )
tabLangBtn.MouseButton1Click:(() () )this script adds a menu where you can change the language, send a report to any player, and I also tried, sorry if there are bugs(

Universal