Run it
Copy the script and paste it into your executor.
RunService = :()
TextChatService = :()
GXL = {
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .(),
[] = .()
}
GXL[][] = :()
GXL[][] =
GXL[][] = -
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.XY
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .ApplyStrokeMode.Border
GXL[][] = .(, , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] =
GXL[][] = .(, -, , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = .AutomaticSize.Y
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = .(, -, , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = Font.(, .FontWeight.Medium, .FontStyle.Normal)
GXL[][] = .FontSize.Size18
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .TextXAlignment.Left
GXL[][] = .TextYAlignment.Top
GXL[][] = .AutomaticSize.XY
GXL[][] =
GXL[][] = .(, , , )
(e)
e ==
()
GXL[].Text:(, ) ==
dance = {
[] = ,
[] = ,
[] = ,
[] =
}
dance[GXL[].Text:(, )]
char = :().LocalPlayer.Character
char char:()
anim = .()
anim.AnimationId = dance[GXL[].Text:(, )]
loaded = char:():(anim)
loaded:()
char:().Changed:((a) a == a == a == loaded:() )
GXL[].Text =
()
GXL[].Text ==
TextChatService.ChatVersion == .ChatVersion.LegacyChatService
Stuff = :():()
Stuff
(, )
Stuff2 = Stuff:()
Stuff2
(, )
Stuff2:(GXL[].Text, )
_, v , TextChatService.TextChannels:()
v:(:().LocalPlayer.Name) v.Name ~=
v:(GXL[].Text)
GXL[].Text =
GXL[].FocusLost:(focuslost)
GXL[][] = GXL[]
GXL[][] =
GXL[][] = Font.(, .FontWeight.Medium, .FontStyle.Normal)
GXL[][] = .FontSize.Size14
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .AutomaticSize.XY
GXL[][] =
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal)
GXL[][] =
GXL[][] = .(, )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = .(, , , )
GXL[].MouseButton1Click:(focuslost)
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .HorizontalAlignment.Center
GXL[][] = .VerticalAlignment.Center
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] =
GXL[][] = .(, , , )
GXL[][] =
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .ApplyStrokeMode.Border
GXL[][] = .(, , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = .ScrollBarInset.Always
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, -, , )
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .SortOrder.LayoutOrder
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, .huge)
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .ScaleType.Slice
GXL[][] = Rect.(, , , )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, .huge)
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.XY
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = .ScrollingDirection.Y
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .HorizontalAlignment.Center
GXL[][] = .SortOrder.LayoutOrder
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .SortOrder.LayoutOrder
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .AutomaticSize.Y
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, )
GXL[][] = .(, )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .ScaleType.Slice
GXL[][] = Rect.(, , , )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, .huge)
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] = .(, , , -)
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .FillDirection.Horizontal
GXL[][] = .SortOrder.LayoutOrder
GXL[][] = GXL[]
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] = .ScaleType.Slice
GXL[][] = Rect.(, , , )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .SortOrder.LayoutOrder
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, .huge)
GXL[][] = GXL[]
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] = .(, , , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .AutomaticSize.XY
GXL[][] =
GXL[][] = GXL[]
GXL[][] =
GXL[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal)
GXL[][] = .FontSize.Size18
GXL[][] =
GXL[][] =
GXL[][] = .(, , )
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] =
GXL[][] = .TextXAlignment.Left
GXL[][] = .TextYAlignment.Top
GXL[][] = .AutomaticSize.XY
GXL[][] =
GXL[][] = .(, , , )
(Message: TextChatMessage | )
Color =
MessageTime = Message.Timestamp:()
Clone = GXL[]:()
Clone.Parent = GXL[]
()
NewTime = DateTime.():()
FixedS, FixedM, FixedH = NewTime.Second - MessageTime.Second, NewTime.Minute - MessageTime.Minute, NewTime.Hour - MessageTime.Hour
FixedS <
FixedS = FixedS +
FixedM = FixedM -
FixedM <
FixedM = FixedM +
FixedH = FixedH -
FixedH <
FixedH = FixedH +
timeString =
FixedH >
timeString = timeString .. FixedH .. (FixedH == )
FixedM > FixedS >
timeString = timeString ..
FixedM >
timeString = timeString .. FixedM .. (FixedM == )
FixedS >
timeString = timeString ..
FixedS >
timeString = timeString .. FixedS .. (FixedS == )
FixedS == FixedM == FixedH ==
timeString =
(timeString == timeString timeString .. )
Clone.TextMessage[] = .(, Message.PrefixText, Color, Message.Text)
()
Clone.TextMessage[] = .(, Message.PrefixText, Color, Message.Text, ())
.()
RunService.Heartbeat:(Update)
TextChatService.ChatVersion == .ChatVersion.TextChatService
TextChatService.MessageReceived:((m)
.(CreateMessage, m)
)
Stuff = :():()
Stuff (, )
Stuff2 = Stuff:()
Stuff2 (, )
Stuff2.OnClientEvent:((msg)
n = msg.ExtraData.NameColor
.(CreateMessage, {
Timestamp = DateTime.(),
Text = msg.Message,
PrefixText = .(, n.R*,n.G*,n.B*,msg.FromSpeaker)
})
)
Adds the roblox TextChatService chat to games that don't have it! You can freely use this in your script (But you must credit me) For games that already have default chat, this is pretty much useless. Feel free to optimize or make changes to the code! This script is in BETA version, expect bugs.