Run it
Copy the script and paste it into your executor.
HttpService = :()
Players = :()
UserInputService = :()
TweenService = :()
RunService = :()
CoreGui = :()
LocalPlayer = Players.LocalPlayer
= .request
BASE_URL =
SoundIds = {
Msg = ,
Open = ,
Click =
}
StickerIds = {
,
,
,
,
,
,
,
,
}
Colors = {
Background = .(, , ),
Accent = .(, , ),
Text = .(, , ),
GradientStart = .(, , ),
GradientEnd = .(, , ),
InputBackground = .(, , ),
AvatarBackground = .(, , ),
CloseButton = .(, , ),
IconColor = .(, , ),
NotificationRed = .(, , ),
FrameBorder = .(, , )
}
existingGui = CoreGui:()
existingGui
existingGui:()
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.Parent = CoreGui
MainShadow = .()
MainShadow.Name =
MainShadow.Parent = ScreenGui
MainShadow.Size = .(, , , )
MainShadow.Position = .(, , , )
MainShadow.AnchorPoint = .(, )
MainShadow.BackgroundTransparency =
MainShadow.Image =
MainShadow.ImageTransparency =
MainShadow.ScaleType = .ScaleType.Slice
MainShadow.SliceCenter = Rect.(, , , )
MainFrame = .()
MainFrame.Name =
MainFrame.Parent = MainShadow
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = Colors.Background
MainGradient = .()
MainGradient.Parent = MainFrame
MainGradient.Rotation =
MainGradient.Color = ColorSequence.({
ColorSequenceKeypoint.(, Colors.GradientStart),
ColorSequenceKeypoint.(, Colors.GradientEnd)
})
MainCorner = .()
MainCorner.Parent = MainFrame
MainCorner.CornerRadius = .(, )
MinimizeButton = .()
MinimizeButton.Name =
MinimizeButton.Parent = ScreenGui
MinimizeButton.Size = .(, , , )
MinimizeButton.Position = .(, -, , -)
MinimizeButton.BackgroundColor3 = Colors.Background
MinimizeButton.Image =
MinimizeButton.Visible =
MinimizeCorner = .()
MinimizeCorner.Parent = MinimizeButton
MinimizeCorner.CornerRadius = .(, )
MinimizeStroke = .()
MinimizeStroke.Parent = MinimizeButton
MinimizeStroke.Color = Colors.Accent
MinimizeStroke.Thickness =
NotificationBadge = .()
NotificationBadge.Name =
NotificationBadge.Parent = MinimizeButton
NotificationBadge.Size = .(, , , )
NotificationBadge.Position = .(, -, , -)
NotificationBadge.BackgroundColor3 = Colors.NotificationRed
NotificationBadge.Visible =
NotificationCorner = .()
NotificationCorner.Parent = NotificationBadge
NotificationCorner.CornerRadius = .(, )
NotificationLabel = .()
NotificationLabel.Name =
NotificationLabel.Parent = NotificationBadge
NotificationLabel.Size = .(, , , )
NotificationLabel.BackgroundTransparency =
NotificationLabel.TextColor3 = .(, , )
NotificationLabel.Text =
NotificationLabel.Font = .Font.GothamBold
NotificationLabel.TextSize =
TitleBar = .()
TitleBar.Name =
TitleBar.Parent = MainFrame
TitleBar.Size = .(, , , )
TitleBar.BackgroundTransparency =
TitleLabel = .()
TitleLabel.Name =
TitleLabel.Parent = TitleBar
TitleLabel.Text =
TitleLabel.RichText =
TitleLabel.Size = .(, , , )
TitleLabel.Position = .(, , , )
TitleLabel.BackgroundTransparency =
TitleLabel.TextColor3 = Colors.Text
TitleLabel.Font = .Font.GothamBlack
TitleLabel.TextSize =
TitleLabel.TextXAlignment = .TextXAlignment.Left
CloseButton = .()
CloseButton.Name =
CloseButton.Parent = TitleBar
CloseButton.Image =
CloseButton.Size = .(, , , )
CloseButton.Position = .(, -, , -)
CloseButton.BackgroundTransparency =
CloseButton.ImageColor3 = Colors.CloseButton
PlayersButton = .()
PlayersButton.Name =
PlayersButton.Parent = TitleBar
PlayersButton.Visible =
PlayersButton.Image =
PlayersButton.Size = .(, , , )
PlayersButton.Position = .(, -, , -)
PlayersButton.BackgroundTransparency =
PlayersButton.ImageColor3 = Colors.IconColor
ChatContainer = .()
ChatContainer.Name =
ChatContainer.Parent = MainFrame
ChatContainer.Size = .(, -, , -)
ChatContainer.Position = .(, , , )
ChatContainer.BackgroundTransparency =
ChatScrollingFrame = .()
ChatScrollingFrame.Name =
ChatScrollingFrame.Parent = ChatContainer
ChatScrollingFrame.Size = .(, , , )
ChatScrollingFrame.BackgroundTransparency =
ChatScrollingFrame.ScrollBarThickness =
ChatScrollingFrame.CanvasSize = .(, , , )
ChatListLayout = .()
ChatListLayout.Parent = ChatScrollingFrame
ChatListLayout.Padding = .(, )
ChatListLayout.SortOrder = .SortOrder.LayoutOrder
InputContainer = .()
InputContainer.Name =
InputContainer.Parent = MainFrame
InputContainer.Size = .(, -, , )
InputContainer.Position = .(, , , -)
InputContainer.BackgroundColor3 = Colors.InputBackground
InputCorner = .()
InputCorner.Parent = InputContainer
InputCorner.CornerRadius = .(, )
StickerButton = .()
StickerButton.Name =
StickerButton.Parent = InputContainer
StickerButton.Size = .(, , , )
StickerButton.Position = .(, , , -)
StickerButton.BackgroundTransparency =
StickerButton.Image =
StickerButton.ImageColor3 = Colors.IconColor
MessageInput = .()
MessageInput.Name =
MessageInput.Parent = InputContainer
MessageInput.Size = .(, -, , )
MessageInput.Position = .(, , , )
MessageInput.BackgroundTransparency =
MessageInput.TextColor3 = Colors.Text
MessageInput.PlaceholderText =
MessageInput.Font = .Font.GothamBold
MessageInput.TextSize =
MessageInput.TextXAlignment = .TextXAlignment.Left
SendButton = .()
SendButton.Name =
SendButton.Parent = InputContainer
SendButton.Image =
SendButton.Size = .(, , , )
SendButton.Position = .(, -, , -)
SendButton.BackgroundTransparency =
SendButton.ImageColor3 = Colors.Accent
StickerPanel = .()
StickerPanel.Name =
StickerPanel.Parent = MainShadow
StickerPanel.Size = .(, , , )
StickerPanel.Position = .(, -, , )
StickerPanel.BackgroundColor3 = Colors.Background
StickerPanel.Visible =
StickerPanel.ClipsDescendants =
StickerPanelCorner = .()
StickerPanelCorner.Parent = StickerPanel
StickerPanelCorner.CornerRadius = .(, )
StickerPanelStroke = .()
StickerPanelStroke.Parent = StickerPanel
StickerPanelStroke.Color = Colors.FrameBorder
StickerPanelGradient = .()
StickerPanelGradient.Parent = StickerPanel
StickerPanelGradient.Rotation =
StickerPanelGradient.Color = ColorSequence.({
ColorSequenceKeypoint.(, Colors.GradientStart),
ColorSequenceKeypoint.(, Colors.GradientEnd)
})
StickerScrollingFrame = .()
StickerScrollingFrame.Name =
StickerScrollingFrame.Parent = StickerPanel
StickerScrollingFrame.Size = .(, -, , -)
StickerScrollingFrame.Position = .(, , , )
StickerScrollingFrame.BackgroundTransparency =
StickerScrollingFrame.ScrollBarThickness =
StickerGridLayout = .()
StickerGridLayout.Parent = StickerScrollingFrame
StickerGridLayout.CellSize = .(, , , )
StickerGridLayout.CellPadding = .(, , , )
ActivePlayersPanel = .()
ActivePlayersPanel.Name =
ActivePlayersPanel.Parent = MainShadow
ActivePlayersPanel.Size = .(, , , )
ActivePlayersPanel.Position = .(, , , -)
ActivePlayersPanel.BackgroundColor3 = Colors.Background
ActivePlayersPanel.ClipsDescendants =
ActivePlayersPanelCorner = .()
ActivePlayersPanelCorner.Parent = ActivePlayersPanel
ActivePlayersPanelCorner.CornerRadius = .(, )
ActivePlayersPanelGradient = .()
ActivePlayersPanelGradient.Parent = ActivePlayersPanel
ActivePlayersPanelGradient.Rotation =
ActivePlayersPanelGradient.Color = ColorSequence.({
ColorSequenceKeypoint.(, Colors.GradientStart),
ColorSequenceKeypoint.(, Colors.GradientEnd)
})
ActivePlayersScrollingFrame = .()
ActivePlayersScrollingFrame.Name =
ActivePlayersScrollingFrame.Parent = ActivePlayersPanel
ActivePlayersScrollingFrame.Size = .(, , , )
ActivePlayersScrollingFrame.BackgroundTransparency =
ActivePlayersScrollingFrame.ScrollBarThickness =
ActivePlayersListLayout = .()
ActivePlayersListLayout.Parent = ActivePlayersScrollingFrame
ActivePlayersListLayout.Padding = .(, )
ActivePlayersListLayout.HorizontalAlignment = .HorizontalAlignment.Center
ActivePlayersPadding = .()
ActivePlayersPadding.Parent = ActivePlayersScrollingFrame
ActivePlayersPadding.PaddingTop = .(, )
(soundId)
sound = .()
sound.Parent =
sound.SoundId = soundId
sound.Volume =
sound.PlayOnRemove =
sound:()
(message)
(()
(()
({
Url = BASE_URL .. ,
Method = ,
Headers = {
[] =
},
Body = HttpService:({
message = message,
player = LocalPlayer.Name
})
})
)
)
(stickerAssetId)
(SoundIds.Click)
( .. stickerAssetId)
StickerPanel.Visible =
i, stickerId (StickerIds)
stickerButton = .()
stickerButton.Name = .. i
stickerButton.Parent = StickerScrollingFrame
stickerButton.Image = stickerId
stickerButton.BackgroundTransparency =
stickerButton.BackgroundColor3 = Colors.AvatarBackground
stickerCorner = .()
stickerCorner.Parent = stickerButton
stickerCorner.CornerRadius = .(, )
stickerButton.MouseButton1Click:(()
(stickerId)
)
StickerGridLayout:():(()
StickerScrollingFrame.CanvasSize = .(, , , StickerGridLayout.AbsoluteContentSize.Y + )
)
StickerButton.MouseButton1Click:(()
StickerPanel.Visible = StickerPanel.Visible
(SoundIds.Click)
)
CloseButton.MouseButton1Click:(()
(SoundIds.Open)
MainShadow.Visible =
MinimizeButton.Visible =
)
MinimizeButton.MouseButton1Click:(()
(SoundIds.Open)
MainShadow.Visible =
MinimizeButton.Visible =
NotificationBadge.Visible =
NotificationLabel.Text =
)
PlayersButton.MouseButton1Click:(()
targetSize = .(, , , )
tween = TweenService:(ActivePlayersPanel, TweenInfo.(, .EasingStyle.Quart), {
Size = targetSize
})
tween:()
)
()
message = MessageInput.Text
message ==
(SoundIds.Click)
StickerPanel.Visible =
(message)
MessageInput.Text =
SendButton.MouseButton1Click:(handleSendMessage)
MessageInput.FocusLost:((enterPressed)
enterPressed
()
)
(userId)
.. userId ..
(timestamp)
date = .(, timestamp / )
.(, date.hour, date.min)
(role)
role ==
,
role ==
,
,
(messageData, layoutOrder)
playerName = messageData.player
message = messageData.msg
timestamp = messageData.timestamp
messageType = messageData.type
role = messageData.role
isSystem = playerName ==
isAnnouncement = playerName ==
isSticker = message .(message, )
frameHeight =
isSticker
frameHeight =
message
textLength = #message
estimatedLines = .(textLength / )
frameHeight = .(, * estimatedLines + )
messageFrame = .()
messageFrame.Name =
messageFrame.Parent = ChatScrollingFrame
messageFrame.Size = .(, , , frameHeight)
messageFrame.BackgroundTransparency =
messageFrame.LayoutOrder = layoutOrder
avatarImage = .()
avatarImage.Name =
avatarImage.Parent = messageFrame
avatarImage.Size = .(, , , )
avatarImage.Position = .(, , , )
avatarImage.BackgroundColor3 = Colors.AvatarBackground
avatarImage.Image =
avatarCorner = .()
avatarCorner.Parent = avatarImage
avatarCorner.CornerRadius = .(, )
isSystem isAnnouncement
avatarImage.Visible =
.(()
(()
userId = Players:(playerName)
avatarImage.Image = (userId)
)
)
contentFrame = .()
contentFrame.Name =
contentFrame.Parent = messageFrame
contentFrame.Size = .(, -, , )
contentFrame.Position = .(, , , )
contentFrame.BackgroundTransparency =
isSystem isAnnouncement
contentFrame.Position = .(, , , )
isSticker
stickerAssetId = .(message, , )
nameLabel = .()
nameLabel.Parent = contentFrame
nameLabel.Text = .(,
(timestamp), playerName)
nameLabel.Size = .(, , , )
nameLabel.BackgroundTransparency =
nameLabel.RichText =
nameLabel.TextXAlignment = .TextXAlignment.Left
stickerImage = .()
stickerImage.Parent = contentFrame
stickerImage.Size = .(, , , )
stickerImage.Position = .(, , , )
stickerImage.BackgroundTransparency =
stickerImage.Image = stickerAssetId
stickerImage.ScaleType = .ScaleType.Fit
textLabel = .()
textLabel.Name =
textLabel.Parent = contentFrame
textLabel.Size = .(, , , )
textLabel.BackgroundTransparency =
textLabel.RichText =
textLabel.Font = .Font.Gotham
textLabel.TextSize =
textLabel.TextWrapped =
textLabel.TextXAlignment = .TextXAlignment.Left
textLabel.TextYAlignment = .TextYAlignment.Top
messageType ==
textLabel.Text = .(, message)
messageType ==
textLabel.Text = .(, message)
prefix, nameColor = (role)
textLabel.Text = .(
,
(timestamp),
nameColor,
prefix,
playerName,
message
)
replyButton = .()
replyButton.Name =
replyButton.Parent = messageFrame
replyButton.Size = .(, , , )
replyButton.BackgroundTransparency =
replyButton.Text =
replyButton.MouseButton1Click:(()
MessageInput.Text = .. playerName ..
MessageInput:()
)
messageFrame
lastMessageCount =
unreadCount =
()
(()
success, response = (()
({
Url = BASE_URL .. .. (),
Method =
})
)
success response response.StatusCode ==
messages = HttpService:(response.Body)
_, child (ChatScrollingFrame:())
child:()
child:()
i, messageData (messages)
(messageData, i)
ChatListLayout:()
ChatScrollingFrame.CanvasSize = .(, , , ChatListLayout.AbsoluteContentSize.Y + )
newMessageCount = #messages
newMessageCount > lastMessageCount
newMessages = newMessageCount - lastMessageCount
lastMessageCount >
unreadCount = unreadCount + newMessages
MainShadow.Visible
NotificationBadge.Visible =
NotificationLabel.Text = (unreadCount)
(SoundIds.Msg)
.(, ()
ChatScrollingFrame.CanvasPosition = .(, ChatListLayout.AbsoluteContentSize.Y + )
)
lastMessageCount = newMessageCount
ChatContainer.Visible =
)
()
(()
success, response = (()
({
Url = BASE_URL .. .. LocalPlayer.Name .. .. (()),
Method =
})
)
success response response.StatusCode ==
roleData = HttpService:(response.Body)
roleData.role == roleData.role ==
PlayersButton.Visible =
)
RunService.RenderStepped:(()
time = () *
)
(()
()
()
()
()
)
(()
()
()
()
)
dragWindow =
dragInput =
dragStart =
startPos =
(input, frame)
delta = input.Position - dragStart
frame.Position = .(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
TitleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragWindow = MainShadow
dragStart = input.Position
startPos = MainShadow.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragWindow =
)
)
TitleBar.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
MinimizeButton.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragWindow = MinimizeButton
dragStart = input.Position
startPos = MinimizeButton.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragWindow =
)
)
MinimizeButton.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:((input)
input == dragInput dragWindow
(input, dragWindow)
)auto dodge open source
Stay safe
Never paste your .ROBLOSECURITY cookie anywhere, and use an alt account with scripts.