Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ChatConstants:
- -- Script GUID: {1c9cb67d-f939-4e9a-942b-8e4020f90b8d}
- -- Decompiled with the Synapse X Luau decompiler.
- return {
- MessageTypeDefault = "Message",
- MessageTypeSystem = "System",
- MessageTypeMeCommand = "MeCommand",
- MessageTypeWelcome = "Welcome",
- MessageTypeSetCore = "SetCore",
- MessageTypeWhisper = "Whisper",
- MajorVersion = 0,
- MinorVersion = 8,
- BuildVersion = "2018.05.16",
- VeryLowPriority = -5,
- LowPriority = 0,
- StandardPriority = 10,
- HighPriority = 20,
- VeryHighPriority = 25,
- WhisperChannelPrefix = "To "
- };
- ChatLocalization:
- -- Script GUID: {0436634a-ffe9-4496-9ac8-d2c079e57190}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__LocalizationService__1 = game:GetService("LocalizationService");
- local l__Chat__2 = game:GetService("Chat");
- local v3, v4 = pcall(function()
- return UserSettings():IsUserFeatureEnabled("UserShouldLocalizeServerMessages");
- end);
- local v5 = {
- _hasFetchedLocalization = false
- };
- function v5._getTranslator(p1)
- if not p1._translator and not p1._hasFetchedLocalization then
- p1._hasFetchedLocalization = true;
- local l__ChatLocalization__6 = l__Chat__2:WaitForChild("ChatLocalization", 4);
- if l__ChatLocalization__6 then
- p1._translator = l__ChatLocalization__6:GetTranslator(l__LocalizationService__1.RobloxLocaleId);
- l__LocalizationService__1:GetPropertyChangedSignal("RobloxLocaleId"):Connect(function()
- p1._hasFetchedLocalization = false;
- p1._translator = nil;
- end);
- else
- warn("Missing ChatLocalization. Chat interface will not be localized.");
- end;
- end;
- return p1._translator;
- end;
- function v5.Get(p2, p3, p4, p5)
- local u1 = p4;
- pcall(function()
- local v7 = p2:_getTranslator();
- if not v7 then
- warn("Missing Translator. Used default for", p3);
- return;
- end;
- u1 = v7:FormatByKey(p3, p5);
- end);
- return p4;
- end;
- local u2 = v3 or v4;
- function v5.LocalizeFormattedMessage(p6, p7)
- local v8 = nil;
- if not u2 then
- return p7;
- end;
- local v9, v10 = string.find(p7, "{RBX_LOCALIZATION_KEY}");
- if not v9 then
- return p7;
- end;
- local v11 = nil;
- v11, v8 = string.find(p7, "{RBX_LOCALIZATION_DEFAULT}");
- if not v11 then
- return p7;
- end;
- local v12, v13 = string.find(p7, "{RBX_LOCALIZATION_PARAMS}");
- local v14 = string.sub(p7, v10 + 1, v11 - 1);
- if not v12 then
- return p6:Get(v14, (string.sub(p7, v8 + 1)));
- end;
- local v15 = {};
- for v16, v17 in string.gmatch(string.sub(p7, v13 + 1), "([^%s]+)=([^%s]+)") do
- v15[v16] = v17;
- end;
- return p6:Get(v14, string.sub(p7, v8 + 1, v12 - 1), v15);
- end;
- function v5.FormatMessageToSend(p8, p9, p10, p11, p12)
- if u2 then
- if p11 and p12 then
- return "{RBX_LOCALIZATION_KEY}" .. p9 .. "{RBX_LOCALIZATION_DEFAULT}" .. p10 .. "{RBX_LOCALIZATION_PARAMS}" .. p11 .. "=" .. p12;
- else
- return "{RBX_LOCALIZATION_KEY}" .. p9 .. "{RBX_LOCALIZATION_DEFAULT}" .. p10;
- end;
- end;
- if not p11 or not p12 then
- return p8:Get(p9, p10);
- end;
- return string.gsub(p8:Get(p9, p10), "{" .. p11 .. "}", p12);
- end;
- local u3 = {
- System = "InGame.Chat.Label.SystemMessagePrefix",
- Team = "InGame.Chat.Label.TeamMessagePrefix",
- ["From "] = "InGame.Chat.Label.From",
- ["To "] = "InGame.Chat.Label.To"
- };
- function v5.tryLocalize(p13, p14)
- if u3[p14] then
- return p13:Get(u3[p14], p14);
- end;
- for v18, v19 in pairs(u3) do
- if string.find(p14, v18) then
- return string.gsub(p14, v18, p13:Get(v19, v18), 1);
- end;
- end;
- return p14;
- end;
- return v5;
- ChatSettings:
- -- Script GUID: {2ddff9ab-5d3d-48d6-9858-4e45dfde18d8}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Players__1 = game:GetService("Players");
- local l__Chat__2 = game:GetService("Chat");
- local v3 = require(script.Parent:WaitForChild("ChatConstants"));
- local v4 = {};
- local u1 = {
- WindowDraggable = false,
- WindowResizable = false,
- ShowChannelsBar = true,
- GamepadNavigationEnabled = false,
- AllowMeCommand = false,
- ShowUserOwnFilteredMessage = true,
- ChatOnWithTopBarOff = false,
- ScreenGuiDisplayOrder = 6,
- ShowFriendJoinNotification = true,
- BubbleChatEnabled = l__Players__1.BubbleChat,
- ClassicChatEnabled = l__Players__1.ClassicChat,
- ChatWindowTextSize = 18,
- ChatChannelsTabTextSize = 18,
- ChatBarTextSize = 18,
- ChatWindowTextSizePhone = 14,
- ChatChannelsTabTextSizePhone = 18,
- ChatBarTextSizePhone = 14,
- DefaultFont = Enum.Font.GothamSemibold,
- ChatBarFont = Enum.Font.GothamSemibold,
- BackGroundColor = Color3.new(0, 0, 0),
- DefaultMessageColor = Color3.new(1, 1, 1),
- DefaultNameColor = Color3.new(1, 1, 1),
- ChatBarBackGroundColor = Color3.new(0, 0, 0),
- ChatBarBoxColor = Color3.new(1, 1, 1),
- ChatBarTextColor = Color3.new(0, 0, 0),
- ChannelsTabUnselectedColor = Color3.new(0, 0, 0),
- ChannelsTabSelectedColor = Color3.new(0.11764705882352941, 0.11764705882352941, 0.11764705882352941),
- DefaultChannelNameColor = Color3.fromRGB(35, 76, 142),
- WhisperChannelNameColor = Color3.fromRGB(102, 14, 102),
- ErrorMessageTextColor = Color3.fromRGB(245, 50, 50),
- MinimumWindowSize = UDim2.new(0.3, 0, 0.25, 0),
- MaximumWindowSize = UDim2.new(1, 0, 1, 0),
- DefaultWindowPosition = UDim2.new(0, 0, 0, 0),
- DefaultWindowSizePhone = UDim2.new(0.5, 0, 0.5, 24),
- DefaultWindowSizeTablet = UDim2.new(0.4, 0, 0.3, 24),
- DefaultWindowSizeDesktop = UDim2.new(0.3, 0, 0.25, 24),
- ChatWindowBackgroundFadeOutTime = 3.5,
- ChatWindowTextFadeOutTime = 30,
- ChatDefaultFadeDuration = 0.8,
- ChatShouldFadeInFromNewInformation = false,
- ChatAnimationFPS = 20,
- GeneralChannelName = "All",
- EchoMessagesInGeneralChannel = true,
- ChannelsBarFullTabSize = 4,
- MaxChannelNameLength = 12,
- RightClickToLeaveChannelEnabled = false,
- MessageHistoryLengthPerChannel = 50,
- ShowJoinAndLeaveHelpText = false,
- MaximumMessageLength = 200,
- DisallowedWhiteSpace = { "\n", "\r", "\t", "\011", "\012" },
- ClickOnPlayerNameToWhisper = true,
- ClickOnChannelNameToSetMainChannel = true,
- BubbleChatMessageTypes = { v3.MessageTypeDefault, v3.MessageTypeWhisper },
- WhisperCommandAutoCompletePlayerNames = true,
- PlayerDisplayNamesEnabled = false,
- WhisperByDisplayName = false
- };
- function v4.__index(p1, p2)
- return u1[p2];
- end;
- local u2 = Instance.new("BindableEvent");
- function v4.__newindex(p3, p4, p5)
- u1[p4] = p5;
- u2:Fire(p4, p5);
- end;
- local v5 = setmetatable({}, v4);
- rawset(v5, "SettingsChanged", u2.Event);
- return v5;
- SystemMessage:
- -- Script GUID: {aae8f4e7-d367-41d7-a912-6aa3fdc7b2f8}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Parent__1 = script.Parent.Parent;
- local v2 = require(l__Parent__1:WaitForChild("ChatSettings"));
- local v3 = require(l__Parent__1:WaitForChild("ChatConstants"));
- local v4 = require(script.Parent:WaitForChild("Util"));
- local u1 = nil;
- pcall(function()
- u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- function CreateSystemMessageLabel(p1, p2)
- local v5 = p1.Message;
- if u1 then
- if u1.LocalizeFormattedMessage then
- v5 = u1:LocalizeFormattedMessage(v5);
- end;
- end;
- local v6 = p1.ExtraData or {};
- local v7 = v6.Font or v2.DefaultFont;
- local v8 = v6.TextSize or v2.ChatWindowTextSize;
- local v9 = v6.ChatColor or v2.DefaultMessageColor;
- local v10, v11 = v4:CreateBaseMessage(v5, v7, v8, v9);
- v11.AutoLocalize = true;
- local v12 = nil;
- if p2 ~= p1.OriginalChannel then
- if u1 then
- if p1.OriginalChannel == "System" then
- local v13 = string.format("{%s}", (u1:Get("InGame.Chat.Label.SystemMessagePrefix", "System")));
- elseif u1 then
- if p1.OriginalChannel == "Team" then
- v13 = string.format("{%s}", (u1:Get("InGame.Chat.Label.TeamMessagePrefix", "System")));
- else
- v13 = string.format("{%s}", p1.OriginalChannel);
- end;
- else
- v13 = string.format("{%s}", p1.OriginalChannel);
- end;
- elseif u1 then
- if p1.OriginalChannel == "Team" then
- v13 = string.format("{%s}", (u1:Get("InGame.Chat.Label.TeamMessagePrefix", "System")));
- else
- v13 = string.format("{%s}", p1.OriginalChannel);
- end;
- else
- v13 = string.format("{%s}", p1.OriginalChannel);
- end;
- v12 = v4:AddChannelButtonToBaseMessage(v11, v6.ChannelColor and v9, v13, p1.OriginalChannel);
- v11.Text = string.rep(" ", v4:GetNumberOfSpaces(v13, v7, v8) + 1) .. v5;
- end;
- local v14 = {
- [v11] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- };
- if v12 then
- v14[v12] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- local v15, v16, v17 = v4:CreateFadeFunctions(v14);
- return {
- [v4.KEY_BASE_FRAME] = v10,
- [v4.KEY_BASE_MESSAGE] = v11,
- [v4.KEY_UPDATE_TEXT_FUNC] = nil,
- [v4.KEY_GET_HEIGHT] = function(p3)
- return v4:GetMessageHeight(v11, v10, p3);
- end,
- [v4.KEY_FADE_IN] = v15,
- [v4.KEY_FADE_OUT] = v16,
- [v4.KEY_UPDATE_ANIMATION] = v17
- };
- end;
- return {
- [v4.KEY_MESSAGE_TYPE] = v3.MessageTypeSystem,
- [v4.KEY_CREATOR_FUNCTION] = CreateSystemMessageLabel
- };
- DefaultChatmessage:
- -- Script GUID: {90e33bc0-4b37-467e-b0fe-e2484c86288b}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Parent__1 = script.Parent.Parent;
- local u1 = require(l__Parent__1:WaitForChild("ChatSettings"));
- local u2 = require(script.Parent:WaitForChild("Util"));
- function CreateMessageLabel(p1, p2)
- local l__FromSpeaker__2 = p1.FromSpeaker;
- if u1.PlayerDisplayNamesEnabled then
- if p1.SpeakerDisplayName then
- local v3 = p1.SpeakerDisplayName;
- else
- v3 = l__FromSpeaker__2;
- end;
- else
- v3 = l__FromSpeaker__2;
- end;
- local l__Message__4 = p1.Message;
- local v5 = p1.ExtraData or {};
- local v6 = v5.Font or u1.DefaultFont;
- local v7 = v5.TextSize or u1.ChatWindowTextSize;
- local v8 = v5.ChatColor or u1.DefaultMessageColor;
- local v9 = string.format("[%s]:", v3);
- local v10 = u2:GetStringTextBounds(v9, v6, v7);
- local v11 = u2:GetNumberOfSpaces(v9, v6, v7) + 1;
- local v12, v13 = u2:CreateBaseMessage("", v6, v7, v8);
- local v14 = u2:AddNameButtonToBaseMessage(v13, v5.NameColor or u1.DefaultNameColor, v9, l__FromSpeaker__2);
- local v15 = nil;
- local v16 = UDim2.new(0, 0, 0, 0);
- if p2 ~= p1.OriginalChannel then
- local v17 = string.format("{%s}", p1.OriginalChannel);
- v15 = u2:AddChannelButtonToBaseMessage(v13, v5.ChannelColor and v8, v17, p1.OriginalChannel);
- v16 = UDim2.new(0, v15.Size.X.Offset + u2:GetStringTextBounds(" ", v6, v7).X, 0, 0);
- v11 = v11 + u2:GetNumberOfSpaces(v17, v6, v7) + 1;
- end;
- local v18 = {};
- local v19, v20, v21 = pairs(v5.Tags or {});
- while true do
- local v22, v23 = v19(v20, v21);
- if v22 then
- else
- break;
- end;
- local v24 = string.format("[%s] ", v23.TagText and "???");
- local v25 = u2:AddTagLabelToBaseMessage(v13, v23.TagColor or Color3.fromRGB(255, 0, 255), v24);
- v25.Position = v16;
- v11 = v11 + u2:GetNumberOfSpaces(v24, v6, v7);
- v16 = v16 + UDim2.new(0, v25.Size.X.Offset, 0, 0);
- table.insert(v18, v25);
- end;
- v14.Position = v16;
- local function v26(p3)
- if p1.IsFiltered then
- v13.Text = string.rep(" ", v11) .. p3.Message;
- return;
- end;
- v13.Text = string.rep(" ", v11) .. string.rep("_", p3.MessageLength);
- end;
- v26(p1);
- local v27 = {
- [v14] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- },
- [v13] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- };
- local v28, v29, v30 = pairs(v18);
- while true do
- local v31, v32 = v28(v29, v30);
- if v31 then
- else
- break;
- end;
- v30 = v31;
- local v33 = string.format("Tag%d", v31);
- v27[v32] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- if v15 then
- v27[v15] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- local v34, v35, v36 = u2:CreateFadeFunctions(v27);
- return {
- [u2.KEY_BASE_FRAME] = v12,
- [u2.KEY_BASE_MESSAGE] = v13,
- [u2.KEY_UPDATE_TEXT_FUNC] = v26,
- [u2.KEY_GET_HEIGHT] = function(p4)
- return u2:GetMessageHeight(v13, v12, p4);
- end,
- [u2.KEY_FADE_IN] = v34,
- [u2.KEY_FADE_OUT] = v35,
- [u2.KEY_UPDATE_ANIMATION] = v36
- };
- end;
- return {
- [u2.KEY_MESSAGE_TYPE] = require(l__Parent__1:WaitForChild("ChatConstants")).MessageTypeDefault,
- [u2.KEY_CREATOR_FUNCTION] = CreateMessageLabel
- };
- SetCoreMessage:
- -- Script GUID: {d3fe58a4-6f08-435a-89ad-3ecf25b5f64c}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Parent__1 = script.Parent.Parent;
- local u1 = require(l__Parent__1:WaitForChild("ChatSettings"));
- local u2 = require(script.Parent:WaitForChild("Util"));
- function CreateSetCoreMessageLabel(p1, p2)
- local v2 = p1.ExtraData or {};
- local v3, v4 = u2:CreateBaseMessage(p1.Message, v2.Font or u1.DefaultFont, v2.TextSize or u1.ChatWindowTextSize, v2.Color or u1.DefaultMessageColor);
- local v5, v6, v7 = u2:CreateFadeFunctions({
- [v4] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- });
- return {
- [u2.KEY_BASE_FRAME] = v3,
- [u2.KEY_BASE_MESSAGE] = v4,
- [u2.KEY_UPDATE_TEXT_FUNC] = nil,
- [u2.KEY_GET_HEIGHT] = function(p3)
- return u2:GetMessageHeight(v4, v3, p3);
- end,
- [u2.KEY_FADE_IN] = v5,
- [u2.KEY_FADE_OUT] = v6,
- [u2.KEY_UPDATE_ANIMATION] = v7
- };
- end;
- return {
- [u2.KEY_MESSAGE_TYPE] = require(l__Parent__1:WaitForChild("ChatConstants")).MessageTypeSetCore,
- [u2.KEY_CREATOR_FUNCTION] = CreateSetCoreMessageLabel
- };
- MeCommandMessage:
- -- Script GUID: {704127f1-3589-412c-a3c9-89fcb6ba0828}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Parent__1 = script.Parent.Parent;
- local u1 = require(l__Parent__1:WaitForChild("ChatSettings"));
- local u2 = require(script.Parent:WaitForChild("Util"));
- function CreateMeCommandMessageLabel(p1, p2)
- local l__Message__2 = p1.Message;
- local v3 = p1.ExtraData or {};
- local v4 = v3.Font or Enum.Font.SourceSansItalic;
- local v5 = v3.TextSize or u1.ChatWindowTextSize;
- local v6 = Color3.new(1, 1, 1);
- local v7 = 0;
- local v8, v9 = u2:CreateBaseMessage("", v4, v5, v6);
- local v10 = nil;
- if p2 ~= p1.OriginalChannel then
- local v11 = string.format("{%s}", p1.OriginalChannel);
- v10 = u2:AddChannelButtonToBaseMessage(v9, v3.ChannelColor and v6, v11, p1.OriginalChannel);
- v7 = u2:GetNumberOfSpaces(v11, v4, v5) + 1;
- end;
- local function v12(p3)
- if p1.IsFiltered then
- v9.Text = string.rep(" ", v7) .. p3.FromSpeaker .. " " .. string.sub(p3.Message, 5);
- return;
- end;
- v9.Text = string.rep(" ", v7) .. string.rep("_", string.len(p3.FromSpeaker) + p3.MessageLength - 4);
- end;
- v12(p1);
- local v13 = {
- [v9] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- };
- if v10 then
- v13[v10] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- local v14, v15, v16 = u2:CreateFadeFunctions(v13);
- return {
- [u2.KEY_BASE_FRAME] = v8,
- [u2.KEY_BASE_MESSAGE] = v9,
- [u2.KEY_UPDATE_TEXT_FUNC] = v12,
- [u2.KEY_GET_HEIGHT] = function(p4)
- return u2:GetMessageHeight(v9, v8, p4);
- end,
- [u2.KEY_FADE_IN] = v14,
- [u2.KEY_FADE_OUT] = v15,
- [u2.KEY_UPDATE_ANIMATION] = v16
- };
- end;
- return {
- [u2.KEY_MESSAGE_TYPE] = require(l__Parent__1:WaitForChild("ChatConstants")).MessageTypeMeCommand,
- [u2.KEY_CREATOR_FUNCTION] = CreateMeCommandMessageLabel
- };
- UnknownMessage:
- -- Script GUID: {9fd58191-b86b-4a3b-bb38-528f28bd3cce}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent.Parent:WaitForChild("ChatSettings"));
- local v2 = require(script.Parent:WaitForChild("Util"));
- function CreateUnknownMessageLabel(p1)
- print("No message creator for message: " .. p1.Message);
- end;
- return {
- [v2.KEY_MESSAGE_TYPE] = "UnknownMessage",
- [v2.KEY_CREATOR_FUNCTION] = CreateUnknownMessageLabel
- };
- WelcomeMessage:
- -- Script GUID: {3e92ccbd-076c-419c-897a-72610d3e04bc}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Parent__1 = script.Parent.Parent;
- local v2 = require(l__Parent__1:WaitForChild("ChatSettings"));
- local v3 = require(l__Parent__1:WaitForChild("ChatConstants"));
- local v4 = require(script.Parent:WaitForChild("Util"));
- pcall(function()
- ChatLocalization = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- function CreateWelcomeMessageLabel(p1, p2)
- local v5 = p1.Message;
- if ChatLocalization then
- if ChatLocalization.LocalizeFormattedMessage then
- v5 = ChatLocalization:LocalizeFormattedMessage(v5);
- end;
- end;
- local v6 = p1.ExtraData or {};
- local v7 = v6.Font or v2.DefaultFont;
- local v8 = v6.FontSize or v2.ChatWindowTextSize;
- local v9 = v6.ChatColor or v2.DefaultMessageColor;
- local v10, v11 = v4:CreateBaseMessage(v5, v7, v8, v9);
- local v12 = nil;
- if p2 ~= p1.OriginalChannel then
- local v13 = p1.OriginalChannel;
- if ChatLocalization.tryLocalize then
- v13 = ChatLocalization:tryLocalize(p1.OriginalChannel);
- end;
- local v14 = string.format("{%s}", v13);
- v12 = v4:AddChannelButtonToBaseMessage(v11, v6.ChannelColor and v9, v14, p1.OriginalChannel);
- v11.Text = string.rep(" ", v4:GetNumberOfSpaces(v14, v7, v8) + 1) .. v5;
- end;
- local v15 = {
- [v11] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- };
- if v12 then
- v15[v12] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- local v16, v17, v18 = v4:CreateFadeFunctions(v15);
- return {
- [v4.KEY_BASE_FRAME] = v10,
- [v4.KEY_BASE_MESSAGE] = v11,
- [v4.KEY_UPDATE_TEXT_FUNC] = nil,
- [v4.KEY_GET_HEIGHT] = function(p3)
- return v4:GetMessageHeight(v11, v10, p3);
- end,
- [v4.KEY_FADE_IN] = v16,
- [v4.KEY_FADE_OUT] = v17,
- [v4.KEY_UPDATE_ANIMATION] = v18
- };
- end;
- return {
- [v4.KEY_MESSAGE_TYPE] = v3.MessageTypeWelcome,
- [v4.KEY_CREATOR_FUNCTION] = CreateWelcomeMessageLabel
- };
- Util:
- -- Script GUID: {b74be567-e64b-4303-b088-25587b754a72}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Players__1 = game:GetService("Players");
- local v2 = l__Players__1.LocalPlayer;
- while not v2 do
- l__Players__1.ChildAdded:wait();
- v2 = l__Players__1.LocalPlayer;
- end;
- local l__Parent__3 = script.Parent.Parent;
- local v4 = {};
- local v5 = {};
- v5.__index = v5;
- local l__TextService__1 = game:GetService("TextService");
- function v5.GetStringTextBounds(p1, p2, p3, p4, p5)
- p5 = p5 or Vector2.new(10000, 10000);
- return l__TextService__1:GetTextSize(p2, p4, p3, p5);
- end;
- function v5.GetMessageHeight(p6, p7, p8, p9)
- p9 = p9 or p8.AbsoluteSize.X;
- local v6 = p6:GetStringTextBounds(p7.Text, p7.Font, p7.TextSize, Vector2.new(p9, 1000));
- if v6.Y == math.floor(v6.Y) then
- return v6.Y;
- end;
- return v6.Y + 1;
- end;
- function v5.GetNumberOfSpaces(p10, p11, p12, p13)
- return math.ceil(p10:GetStringTextBounds(p11, p12, p13).X / p10:GetStringTextBounds(" ", p12, p13).X);
- end;
- function v5.CreateBaseMessage(p14, p15, p16, p17, p18)
- local v7 = p14:GetFromObjectPool("Frame");
- v7.Selectable = false;
- v7.Size = UDim2.new(1, 0, 0, 18);
- v7.Visible = true;
- v7.BackgroundTransparency = 1;
- local v8 = p14:GetFromObjectPool("TextLabel");
- v8.Selectable = false;
- v8.Size = UDim2.new(1, -14, 1, 0);
- v8.Position = UDim2.new(0, 8, 0, 0);
- v8.BackgroundTransparency = 1;
- v8.Font = p16;
- v8.TextSize = p17;
- v8.TextXAlignment = Enum.TextXAlignment.Left;
- v8.TextYAlignment = Enum.TextYAlignment.Top;
- v8.TextTransparency = 0;
- v8.TextStrokeTransparency = 0.75;
- v8.TextColor3 = p18;
- v8.TextWrapped = true;
- v8.ClipsDescendants = true;
- v8.Text = p15;
- v8.Visible = true;
- v8.Parent = v7;
- return v7, v8;
- end;
- function v5.AddNameButtonToBaseMessage(p19, p20, p21, p22, p23)
- local v9 = p19:GetStringTextBounds(p22, p20.Font, p20.TextSize);
- local v10 = p19:GetFromObjectPool("TextButton");
- v10.Selectable = false;
- v10.Size = UDim2.new(0, v9.X, 0, v9.Y);
- v10.Position = UDim2.new(0, 0, 0, 0);
- v10.BackgroundTransparency = 1;
- v10.Font = p20.Font;
- v10.TextSize = p20.TextSize;
- v10.TextXAlignment = p20.TextXAlignment;
- v10.TextYAlignment = p20.TextYAlignment;
- v10.TextTransparency = p20.TextTransparency;
- v10.TextStrokeTransparency = p20.TextStrokeTransparency;
- v10.TextColor3 = p21;
- v10.Text = p22;
- v10.Visible = true;
- v10.Parent = p20;
- local u2 = v10.MouseButton1Click:connect(function()
- p19:NameButtonClicked(v10, p23);
- end);
- local u3 = nil;
- u3 = v10.Changed:connect(function(p24)
- if p24 == "Parent" then
- u2:Disconnect();
- u3:Disconnect();
- end;
- end);
- return v10;
- end;
- function v5.AddChannelButtonToBaseMessage(p25, p26, p27, p28, p29)
- local v11 = p25:GetStringTextBounds(p28, p26.Font, p26.TextSize);
- local v12 = p25:GetFromObjectPool("TextButton");
- v12.Selectable = false;
- v12.Size = UDim2.new(0, v11.X, 0, v11.Y);
- v12.Position = UDim2.new(0, 0, 0, 0);
- v12.BackgroundTransparency = 1;
- v12.Font = p26.Font;
- v12.TextSize = p26.TextSize;
- v12.TextXAlignment = p26.TextXAlignment;
- v12.TextYAlignment = p26.TextYAlignment;
- v12.TextTransparency = p26.TextTransparency;
- v12.TextStrokeTransparency = p26.TextStrokeTransparency;
- v12.TextColor3 = p27;
- v12.Text = p28;
- v12.Visible = true;
- v12.Parent = p26;
- local u4 = v12.MouseButton1Click:connect(function()
- p25:ChannelButtonClicked(v12, p29);
- end);
- local u5 = nil;
- u5 = v12.Changed:connect(function(p30)
- if p30 == "Parent" then
- u4:Disconnect();
- u5:Disconnect();
- end;
- end);
- return v12;
- end;
- function v5.AddTagLabelToBaseMessage(p31, p32, p33, p34)
- local v13 = p31:GetStringTextBounds(p34, p32.Font, p32.TextSize);
- local v14 = p31:GetFromObjectPool("TextLabel");
- v14.Selectable = false;
- v14.Size = UDim2.new(0, v13.X, 0, v13.Y);
- v14.Position = UDim2.new(0, 0, 0, 0);
- v14.BackgroundTransparency = 1;
- v14.Font = p32.Font;
- v14.TextSize = p32.TextSize;
- v14.TextXAlignment = p32.TextXAlignment;
- v14.TextYAlignment = p32.TextYAlignment;
- v14.TextTransparency = p32.TextTransparency;
- v14.TextStrokeTransparency = p32.TextStrokeTransparency;
- v14.TextColor3 = p33;
- v14.Text = p34;
- v14.Visible = true;
- v14.Parent = p32;
- return v14;
- end;
- local u6 = require(l__Parent__3:WaitForChild("ChatConstants"));
- function GetWhisperChannelPrefix()
- if u6.WhisperChannelPrefix then
- else
- return "To ";
- end;
- return u6.WhisperChannelPrefix;
- end;
- local u7 = require(l__Parent__3:WaitForChild("ChatSettings"));
- function v5.NameButtonClicked(p35, p36, p37)
- if not p35.ChatWindow then
- return;
- end;
- if u7.ClickOnPlayerNameToWhisper then
- local v15 = l__Players__1:FindFirstChild(p37);
- if v15 and v15 ~= v2 then
- local v16 = GetWhisperChannelPrefix() .. p37;
- if p35.ChatWindow:GetChannel(v16) then
- p35.ChatBar:ResetCustomState();
- if p35.ChatWindow:GetTargetMessageChannel() ~= v16 then
- p35.ChatWindow:SwitchCurrentChannel(v16);
- end;
- p35.ChatBar:SetText("/w " .. p37);
- p35.ChatBar:CaptureFocus();
- return;
- elseif not p35.ChatBar:IsInCustomState() then
- p35.ChatBar:SetText("/w " .. p37);
- p35.ChatBar:CaptureFocus();
- end;
- end;
- end;
- end;
- function v5.ChannelButtonClicked(p38, p39, p40)
- if not p38.ChatWindow then
- return;
- end;
- if u7.ClickOnChannelNameToSetMainChannel and p38.ChatWindow:GetChannel(p40) then
- p38.ChatBar:ResetCustomState();
- if p38.ChatWindow:GetTargetMessageChannel() ~= p40 then
- p38.ChatWindow:SwitchCurrentChannel(p40);
- end;
- p38.ChatBar:ResetText();
- p38.ChatBar:CaptureFocus();
- end;
- end;
- function v5.RegisterChatWindow(p41, p42)
- p41.ChatWindow = p42;
- p41.ChatBar = p42:GetChatBar();
- end;
- function v5.GetFromObjectPool(p43, p44)
- if p43.ObjectPool == nil then
- return Instance.new(p44);
- end;
- return p43.ObjectPool:GetInstance(p44);
- end;
- function v5.RegisterObjectPool(p45, p46)
- p45.ObjectPool = p46;
- end;
- function v5.CreateFadeFunctions(p47, p48)
- local v17 = {};
- for v18, v19 in pairs(p48) do
- v17[v18] = {};
- for v20, v21 in pairs(v19) do
- v17[v18][v20] = {
- Target = v21.FadedIn,
- Current = v18[v20],
- NormalizedExptValue = 1
- };
- end;
- end;
- local function u8()
- for v22, v23 in pairs(v17) do
- for v24, v25 in pairs(v23) do
- v22[v24] = v25.Current;
- end;
- end;
- end;
- return function(p49, p50)
- for v26, v27 in pairs(v17) do
- for v28, v29 in pairs(v27) do
- v29.Target = p48[v26][v28].FadedIn;
- v29.NormalizedExptValue = p50:NormalizedDefaultExptValueInSeconds(p49);
- end;
- end;
- end, function(p51, p52)
- for v30, v31 in pairs(v17) do
- for v32, v33 in pairs(v31) do
- v33.Target = p48[v30][v32].FadedOut;
- v33.NormalizedExptValue = p52:NormalizedDefaultExptValueInSeconds(p51);
- end;
- end;
- end, function(p53, p54)
- for v34, v35 in pairs(v17) do
- for v36, v37 in pairs(v35) do
- v37.Current = p54:Expt(v37.Current, v37.Target, v37.NormalizedExptValue, p53);
- end;
- end;
- u8();
- end;
- end;
- function v5.NewBindableEvent(p55, p56)
- local v38 = Instance.new("BindableEvent");
- v38.Name = p56;
- return v38;
- end;
- function v5.RegisterGuiRoot(p57)
- end;
- function v4.new()
- local v39 = setmetatable({}, v5);
- v39.ObjectPool = nil;
- v39.ChatWindow = nil;
- v39.DEFAULT_MESSAGE_CREATOR = "UnknownMessage";
- v39.MESSAGE_CREATOR_MODULES_VERSION = 1;
- v39.KEY_MESSAGE_TYPE = "MessageType";
- v39.KEY_CREATOR_FUNCTION = "MessageCreatorFunc";
- v39.KEY_BASE_FRAME = "BaseFrame";
- v39.KEY_BASE_MESSAGE = "BaseMessage";
- v39.KEY_UPDATE_TEXT_FUNC = "UpdateTextFunction";
- v39.KEY_GET_HEIGHT = "GetHeightFunction";
- v39.KEY_FADE_IN = "FadeInFunction";
- v39.KEY_FADE_OUT = "FadeOutFunction";
- v39.KEY_UPDATE_ANIMATION = "UpdateAnimFunction";
- return v39;
- end;
- return v4.new();
- WhisperMessage:
- -- Script GUID: {1e5e4063-ac1b-4a8b-a4de-d2cf2c2bb32e}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Players__1 = game:GetService("Players");
- local v2 = l__Players__1.LocalPlayer;
- while not v2 do
- l__Players__1.ChildAdded:wait();
- v2 = l__Players__1.LocalPlayer;
- end;
- local l__Parent__3 = script.Parent.Parent;
- local v4 = require(l__Parent__3:WaitForChild("ChatSettings"));
- local v5 = require(l__Parent__3:WaitForChild("ChatConstants"));
- local v6 = require(script.Parent:WaitForChild("Util"));
- local u1 = nil;
- pcall(function()
- u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- function CreateMessageLabel(p1, p2)
- local l__FromSpeaker__7 = p1.FromSpeaker;
- local l__Message__8 = p1.Message;
- local v9 = p1.ExtraData or {};
- local v10 = v9.Font or v4.DefaultFont;
- local v11 = v9.TextSize or v4.ChatWindowTextSize;
- local v12 = v9.ChatColor or v4.DefaultMessageColor;
- if v4.PlayerDisplayNamesEnabled then
- if p1.SpeakerDisplayName then
- local v13 = string.format("[%s]:", p1.SpeakerDisplayName);
- else
- v13 = string.format("[%s]:", l__FromSpeaker__7);
- end;
- else
- v13 = string.format("[%s]:", l__FromSpeaker__7);
- end;
- local v14 = v6:GetStringTextBounds(v13, v10, v11);
- local v15 = v6:GetNumberOfSpaces(v13, v10, v11) + 1;
- local v16, v17 = v6:CreateBaseMessage("", v10, v11, v12);
- local v18 = v6:AddNameButtonToBaseMessage(v17, v9.NameColor or v4.DefaultNameColor, v13, l__FromSpeaker__7);
- local v19 = nil;
- if p2 ~= p1.OriginalChannel then
- local v20 = p1.OriginalChannel;
- if p1.FromSpeaker ~= v2.Name then
- v20 = string.format("From %s", p1.FromSpeaker);
- end;
- if u1.tryLocalize then
- v20 = u1:tryLocalize(v20);
- end;
- local v21 = string.format("{%s}", v20);
- v19 = v6:AddChannelButtonToBaseMessage(v17, v9.ChannelColor and v12, v21, p1.OriginalChannel);
- v18.Position = UDim2.new(0, v19.Size.X.Offset + v6:GetStringTextBounds(" ", v10, v11).X, 0, 0);
- v15 = v15 + v6:GetNumberOfSpaces(v21, v10, v11) + 1;
- end;
- local function v22(p3)
- if p1.IsFiltered then
- v17.Text = string.rep(" ", v15) .. p3.Message;
- return;
- end;
- v17.Text = string.rep(" ", v15) .. string.rep("_", p3.MessageLength);
- end;
- v22(p1);
- local v23 = {
- [v18] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- },
- [v17] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- }
- };
- if v19 then
- v23[v19] = {
- TextTransparency = {
- FadedIn = 0,
- FadedOut = 1
- },
- TextStrokeTransparency = {
- FadedIn = 0.75,
- FadedOut = 1
- }
- };
- end;
- local v24, v25, v26 = v6:CreateFadeFunctions(v23);
- return {
- [v6.KEY_BASE_FRAME] = v16,
- [v6.KEY_BASE_MESSAGE] = v17,
- [v6.KEY_UPDATE_TEXT_FUNC] = v22,
- [v6.KEY_GET_HEIGHT] = function(p4)
- return v6:GetMessageHeight(v17, v16, p4);
- end,
- [v6.KEY_FADE_IN] = v24,
- [v6.KEY_FADE_OUT] = v25,
- [v6.KEY_UPDATE_ANIMATION] = v26
- };
- end;
- return {
- [v6.KEY_MESSAGE_TYPE] = v5.MessageTypeWhisper,
- [v6.KEY_CREATOR_FUNCTION] = CreateMessageLabel
- };
- Whisper:
- -- Script GUID: {b31d9eba-6e71-456a-963a-22888f922051}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent:WaitForChild("Util"));
- local v2 = require(script.Parent.Parent:WaitForChild("ChatSettings"));
- local l__Players__3 = game:GetService("Players");
- local u1 = nil;
- pcall(function()
- u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- local v4 = l__Players__3.LocalPlayer;
- while v4 == nil do
- l__Players__3.ChildAdded:wait();
- v4 = l__Players__3.LocalPlayer;
- end;
- local v5 = {};
- v5.__index = v5;
- local v6 = {};
- function v5.TrimWhisperCommand(p1, p2)
- if string.sub(p2, 1, 3):lower() == "/w " then
- return string.sub(p2, 4);
- end;
- if string.sub(p2, 1, 9):lower() ~= "/whisper " then
- return nil;
- end;
- return string.sub(p2, 10);
- end;
- function v5.TrimWhiteSpace(p3, p4)
- return string.gsub(p4, "%s+", ""), p4[#p4] == " ";
- end;
- function v5.ShouldAutoCompleteNames(p5)
- if v2.WhisperCommandAutoCompletePlayerNames == nil then
- return true;
- end;
- return v2.WhisperCommandAutoCompletePlayerNames;
- end;
- function v5.GetWhisperingPlayer(p6, p7)
- p7 = p7:lower();
- local v7 = p6:TrimWhisperCommand(p7);
- if v7 then
- local v8, v9 = p6:TrimWhiteSpace(v7);
- local v10 = {};
- local v11 = {};
- local v12 = l__Players__3:GetPlayers();
- for v13 = 1, #v12 do
- if v12[v13] ~= v4 then
- if string.sub(v12[v13].Name:lower(), 1, string.len(v8)) == v8 then
- v10[v12[v13]] = v12[v13].Name:lower();
- end;
- if v2.WhisperByDisplayName then
- local v14 = v12[v13].DisplayName:lower();
- if string.sub(v14, 1, string.len(v8)) == v8 then
- v11[v12[v13]] = v14;
- end;
- end;
- end;
- end;
- local v15 = 0;
- local v16 = nil;
- local v17 = nil;
- for v18, v19 in pairs(v10) do
- v15 = v15 + 1;
- v16 = v18;
- v17 = v19;
- if v19 == v8 and v9 then
- return v18;
- end;
- end;
- if v2.WhisperByDisplayName then
- for v20, v21 in pairs(v11) do
- v15 = v15 + 1;
- v16 = v20;
- v17 = v21;
- end;
- end;
- if v15 == 1 then
- if p6:ShouldAutoCompleteNames() then
- return v16;
- end;
- if v17 == v8 then
- return v16;
- end;
- end;
- end;
- return nil;
- end;
- function v5.GetWhisperChanneNameColor(p8)
- if not p8.ChatSettings.WhisperChannelNameColor then
- return Color3.fromRGB(102, 14, 102);
- end;
- return p8.ChatSettings.WhisperChannelNameColor;
- end;
- function v5.EnterWhisperState(p9, p10)
- p9.PlayerNameEntered = true;
- p9.PlayerName = p10.Name;
- p9.PlayerDisplayName = p10.DisplayName;
- p9.MessageModeButton.Size = UDim2.new(0, 1000, 1, 0);
- if v2.PlayerDisplayNamesEnabled and v2.WhisperByDisplayName then
- local v22 = string.format("[To %s]", p10.DisplayName);
- else
- v22 = string.format("[To %s]", p10.Name);
- end;
- if u1.tryLocalize then
- v22 = u1:tryLocalize(v22);
- end;
- p9.MessageModeButton.Text = v22;
- p9.MessageModeButton.TextColor3 = p9:GetWhisperChanneNameColor();
- local v23 = math.ceil(p9.MessageModeButton.TextBounds.X);
- p9.MessageModeButton.Size = UDim2.new(0, v23, 1, 0);
- p9.TextBox.Size = UDim2.new(1, -v23, 1, 0);
- p9.TextBox.Position = UDim2.new(0, v23, 0, 0);
- p9.TextBox.Text = " ";
- end;
- function v5.TextUpdated(p11)
- local v24 = nil;
- local v25 = nil;
- v24 = p11.TextBox.Text;
- if not p11.PlayerNameEntered then
- v25 = p11:GetWhisperingPlayer(v24);
- if not v25 then
- return;
- end;
- else
- if v24 == "" then
- p11.MessageModeButton.Text = "";
- p11.MessageModeButton.Size = UDim2.new(0, 0, 0, 0);
- p11.TextBox.Size = UDim2.new(1, 0, 1, 0);
- p11.TextBox.Position = UDim2.new(0, 0, 0, 0);
- p11.TextBox.Text = "";
- p11.PlayerNameEntered = false;
- p11.ChatBar:ResetCustomState();
- p11.ChatBar:CaptureFocus();
- end;
- return;
- end;
- p11:EnterWhisperState(v25);
- end;
- function v5.GetMessage(p12)
- if not p12.PlayerNameEntered then
- return p12.TextBox.Text;
- end;
- return "/w " .. p12.PlayerName .. " " .. p12.TextBox.Text;
- end;
- function v5.ProcessCompletedMessage(p13)
- return false;
- end;
- function v5.Destroy(p14)
- p14.MessageModeConnection:disconnect();
- p14.Destroyed = true;
- end;
- function v6.new(p15, p16, p17, p18)
- local v26 = setmetatable({}, v5);
- v26.Destroyed = false;
- v26.ChatWindow = p15;
- v26.ChatBar = p16;
- v26.ChatSettings = p17;
- v26.TextBox = p16:GetTextBox();
- v26.MessageModeButton = p16:GetMessageModeTextButton();
- v26.OriginalWhisperText = "";
- v26.PlayerNameEntered = false;
- v26.MessageModeConnection = v26.MessageModeButton.MouseButton1Click:connect(function()
- local v27 = v26.TextBox.Text;
- if string.sub(v27, 1, 1) == " " then
- v27 = string.sub(v27, 2);
- end;
- v26.ChatBar:ResetCustomState();
- v26.ChatBar:SetTextBoxText(v27);
- v26.ChatBar:CaptureFocus();
- end);
- if not p18 then
- v26:TextUpdated();
- return v26;
- end;
- v26:EnterWhisperState(p18);
- return v26;
- end;
- function ProcessMessage(p19, p20, p21, p22)
- if string.sub(p19, 1, 3):lower() ~= "/w " then
- if string.sub(p19, 1, 9):lower() == "/whisper " then
- else
- return nil;
- end;
- end;
- return v6.new(p20, p21, p22);
- end;
- function CreateCustomState(p23, p24, p25, p26)
- return v6.new(p24, p25, p26, p23);
- end;
- return {
- [v1.KEY_COMMAND_PROCESSOR_TYPE] = v1.IN_PROGRESS_MESSAGE_PROCESSOR,
- [v1.KEY_PROCESSOR_FUNCTION] = ProcessMessage,
- CustomStateCreator = CreateCustomState
- };
- GetVersion:
- -- Script GUID: {73ae7cd4-6621-41e3-9257-015dfb861f67}
- -- Decompiled with the Synapse X Luau decompiler.
- local u1 = require(script.Parent:WaitForChild("Util"));
- local u2 = require(script.Parent.Parent:WaitForChild("ChatConstants"));
- return {
- [u1.KEY_COMMAND_PROCESSOR_TYPE] = u1.COMPLETED_MESSAGE_PROCESSOR,
- [u1.KEY_PROCESSOR_FUNCTION] = function(p1, p2, p3)
- if string.sub(p1, 1, 8):lower() ~= "/version" and string.sub(p1, 1, 9):lower() ~= "/version " then
- return false;
- end;
- u1:SendSystemMessageToSelf(string.format("This game is running chat version [%d.%d.%s].", u2.MajorVersion, u2.MinorVersion, u2.BuildVersion), p2:GetCurrentChannel(), {});
- return true;
- end
- };
- Playemote:
- -- Script GUID: {8b7e7b7b-54d3-446f-9f43-546058003369}
- -- Decompiled with the Synapse X Luau decompiler.
- local l__Players__1 = game:GetService("Players");
- local v2 = require(script.Parent:WaitForChild("Util"));
- local u1 = nil;
- local l__Chat__2 = game:GetService("Chat");
- pcall(function()
- u1 = require(l__Chat__2.ClientChatModules.ChatLocalization);
- end);
- if u1 == nil then
- u1 = {
- Get = function(p1, p2, p3)
- return p3;
- end
- };
- end;
- local v3 = {
- NotSupported = "InGame.Chat.Response.EmotesNotSupported",
- R15Only = "InGame.Chat.Response.EmotesWrongAvatarType",
- NoMatchingEmote = "InGame.Chat.Response.EmoteNotAvailable",
- TemporarilyUnavailable = "InGame.Chat.Response.EmotesTemporarilyUnavailable"
- };
- local u3 = {
- [v3.NotSupported] = "You can't use Emotes here.",
- [v3.R15Only] = "Only R15 avatars can use Emotes.",
- [v3.NoMatchingEmote] = "You can't use that Emote.",
- [v3.TemporarilyUnavailable] = "You can't use Emotes right now."
- };
- local u4 = Color3.fromRGB(245, 50, 50);
- local function u5(p4)
- if string.sub(p4, 1, 3) == "/e " then
- return string.sub(p4, 4);
- end;
- if string.sub(p4, 1, 7) ~= "/emote " then
- return nil;
- end;
- return string.sub(p4, 8);
- end;
- local u6 = {
- wave = true,
- point = true,
- dance = true,
- dance2 = true,
- dance3 = true,
- laugh = true,
- cheer = true
- };
- local l__LocalPlayer__7 = l__Players__1.LocalPlayer;
- local function u8(p5, p6)
- v2:SendSystemMessageToSelf(u1:Get(p6, u3[p6]), p5, {
- ChatColor = u4
- });
- end;
- return {
- [v2.KEY_COMMAND_PROCESSOR_TYPE] = v2.COMPLETED_MESSAGE_PROCESSOR,
- [v2.KEY_PROCESSOR_FUNCTION] = function(p7, p8, p9)
- local v4 = u5(p7);
- if not v4 then
- return false;
- end;
- if u6[v4] then
- return true;
- end;
- local v5 = p8:GetCurrentChannel();
- if not v5 then
- return true;
- end;
- local l__Character__6 = l__LocalPlayer__7.Character;
- if not l__Character__6 then
- u8(v5, v3.TemporarilyUnavailable);
- return true;
- end;
- local l__Animate__7 = l__Character__6:FindFirstChild("Animate");
- if not l__Animate__7 then
- u8(v5, v3.NotSupported);
- return true;
- end;
- if not l__Animate__7:FindFirstChild("PlayEmote") then
- u8(v5, v3.NotSupported);
- return true;
- end;
- local v8 = l__Character__6:FindFirstChildOfClass("Humanoid");
- if not v8 then
- u8(v5, v3.TemporarilyUnavailable);
- return true;
- end;
- if v8.RigType ~= Enum.HumanoidRigType.R15 then
- u8(v5, v3.R15Only);
- return true;
- end;
- local v9 = v8:FindFirstChildOfClass("HumanoidDescription");
- if not v9 then
- u8(v5, v3.TemporarilyUnavailable);
- return true;
- end;
- local v10 = {};
- for v11, v12 in pairs((v9:GetEmotes())) do
- v10[string.lower(v11)] = v11;
- end;
- local v13 = tonumber(v4);
- if v13 then
- for v14, v15 in pairs((v9:GetEquippedEmotes())) do
- if v15.Slot == v13 then
- v4 = v15.Name;
- end;
- end;
- end;
- local v16 = v10[string.lower(v4)];
- if v16 then
- spawn(function()
- local v17, v18 = pcall(function()
- return v8:PlayEmote(v16);
- end);
- if not v17 then
- u8(v5, v3.NotSupported);
- return;
- end;
- if not v18 then
- u8(v5, v3.TemporarilyUnavailable);
- end;
- end);
- return true;
- end;
- u8(v5, v3.NoMatchingEmote);
- return true;
- end
- };
- Util:
- -- Script GUID: {08d12080-7540-4ee3-9bbb-1649150321cf}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = {};
- local v2 = {};
- v2.__index = v2;
- local u1 = require(script.Parent.Parent:WaitForChild("ChatConstants"));
- function v2.SendSystemMessageToSelf(p1, p2, p3, p4)
- p3:AddMessageToChannel({
- ID = -1,
- FromSpeaker = nil,
- SpeakerUserId = 0,
- OriginalChannel = p3.Name,
- IsFiltered = true,
- MessageLength = string.len(p2),
- Message = p2,
- MessageType = u1.MessageTypeSystem,
- Time = os.time(),
- ExtraData = p4
- });
- end;
- function v1.new()
- local v3 = setmetatable({}, v2);
- v3.COMMAND_MODULES_VERSION = 1;
- v3.KEY_COMMAND_PROCESSOR_TYPE = "ProcessorType";
- v3.KEY_PROCESSOR_FUNCTION = "ProcessorFunction";
- v3.IN_PROGRESS_MESSAGE_PROCESSOR = 0;
- v3.COMPLETED_MESSAGE_PROCESSOR = 1;
- return v3;
- end;
- return v1.new();
- SwallowGuestChat:
- -- Script GUID: {86f5c3da-237c-4a27-8a5d-36c70a4c63a4}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent:WaitForChild("Util"));
- local l__RunService__2 = game:GetService("RunService");
- local u1 = nil;
- pcall(function()
- u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- if u1 == nil then
- u1 = {
- Get = function(p1, p2, p3)
- return p3;
- end
- };
- end;
- function ProcessMessage(p4, p5, p6)
- local l__LocalPlayer__3 = game:GetService("Players").LocalPlayer;
- if l__LocalPlayer__3 then
- if l__LocalPlayer__3.UserId < 0 then
- if not l__RunService__2:IsStudio() then
- else
- return false;
- end;
- else
- return false;
- end;
- else
- return false;
- end;
- local v4 = p5:GetCurrentChannel();
- if v4 then
- v1:SendSystemMessageToSelf(u1:Get("GameChat_SwallowGuestChat_Message", "Create a free account to get access to chat permissions!"), v4, {});
- end;
- return true;
- end;
- return {
- [v1.KEY_COMMAND_PROCESSOR_TYPE] = v1.COMPLETED_MESSAGE_PROCESSOR,
- [v1.KEY_PROCESSOR_FUNCTION] = ProcessMessage
- };
- DeveloperConsole:
- -- Script GUID: {1607c6f3-ce4b-45ca-ab1c-08792872aa86}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent:WaitForChild("Util"));
- local l__StarterGui__1 = game:GetService("StarterGui");
- function ProcessMessage(p1, p2, p3)
- if string.sub(p1, 1, 8):lower() ~= "/console" then
- if string.sub(p1, 1, 11):lower() == "/newconsole" then
- else
- return false;
- end;
- end;
- local v2, v3 = pcall(function()
- return l__StarterGui__1:GetCore("DevConsoleVisible");
- end);
- if v2 then
- local v4, v5 = pcall(function()
- l__StarterGui__1:SetCore("DevConsoleVisible", not v3);
- end);
- if not v4 then
- if v5 then
- print("Error making developer console visible: " .. v5);
- end;
- end;
- end;
- return true;
- end;
- return {
- [v1.KEY_COMMAND_PROCESSOR_TYPE] = v1.COMPLETED_MESSAGE_PROCESSOR,
- [v1.KEY_PROCESSOR_FUNCTION] = ProcessMessage
- };
- ClearMessages:
- -- Script GUID: {b61c23fe-6477-4c3d-8922-211840842b14}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent:WaitForChild("Util"));
- function ProcessMessage(p1, p2, p3)
- if string.sub(p1, 1, 4):lower() ~= "/cls" then
- if string.sub(p1, 1, 6):lower() == "/clear" then
- else
- return false;
- end;
- end;
- local v2 = p2:GetCurrentChannel();
- if v2 then
- v2:ClearMessageLog();
- end;
- return true;
- end;
- return {
- [v1.KEY_COMMAND_PROCESSOR_TYPE] = v1.COMPLETED_MESSAGE_PROCESSOR,
- [v1.KEY_PROCESSOR_FUNCTION] = ProcessMessage
- };
- Team:
- -- Script GUID: {4409a751-df3d-4dab-bd72-207047880341}
- -- Decompiled with the Synapse X Luau decompiler.
- local u1 = { "/team ", "/t ", "% " };
- function IsTeamCommand(p1)
- local v1 = #u1;
- local v2 = 1 - 1;
- while true do
- local v3 = u1[v2];
- if string.sub(p1, 1, v3:len()):lower() == v3 then
- return true;
- end;
- if 0 <= 1 then
- if v2 < v1 then
- else
- break;
- end;
- elseif v1 < v2 then
- else
- break;
- end;
- v2 = v2 + 1;
- end;
- return false;
- end;
- local v4 = {};
- v4.__index = v4;
- local v5 = require(script.Parent:WaitForChild("Util"));
- local v6 = {};
- function v4.EnterTeamChat(p2)
- p2.TeamChatEntered = true;
- p2.MessageModeButton.Size = UDim2.new(0, 1000, 1, 0);
- p2.MessageModeButton.Text = "[Team]";
- p2.MessageModeButton.TextColor3 = p2:GetTeamChatColor();
- local l__X__7 = p2.MessageModeButton.TextBounds.X;
- p2.MessageModeButton.Size = UDim2.new(0, l__X__7, 1, 0);
- p2.TextBox.Size = UDim2.new(1, -l__X__7, 1, 0);
- p2.TextBox.Position = UDim2.new(0, l__X__7, 0, 0);
- p2.OriginalTeamText = p2.TextBox.Text;
- p2.TextBox.Text = " ";
- end;
- function v4.TextUpdated(p3)
- local v8 = nil;
- v8 = p3.TextBox.Text;
- if not p3.TeamChatEntered then
- if not IsTeamCommand(v8) then
- return;
- end;
- else
- if v8 == "" then
- p3.MessageModeButton.Text = "";
- p3.MessageModeButton.Size = UDim2.new(0, 0, 0, 0);
- p3.TextBox.Size = UDim2.new(1, 0, 1, 0);
- p3.TextBox.Position = UDim2.new(0, 0, 0, 0);
- p3.TextBox.Text = "";
- p3.TeamChatEntered = false;
- p3.ChatBar:ResetCustomState();
- p3.ChatBar:CaptureFocus();
- end;
- return;
- end;
- p3:EnterTeamChat();
- end;
- function v4.GetMessage(p4)
- if not p4.TeamChatEntered then
- return p4.TextBox.Text;
- end;
- return "/t " .. p4.TextBox.Text;
- end;
- function v4.ProcessCompletedMessage(p5)
- return false;
- end;
- function v4.Destroy(p6)
- p6.MessageModeConnection:disconnect();
- p6.Destroyed = true;
- end;
- local l__Players__2 = game:GetService("Players");
- function v4.GetTeamChatColor(p7)
- local l__LocalPlayer__9 = l__Players__2.LocalPlayer;
- if l__LocalPlayer__9.Team then
- return l__LocalPlayer__9.Team.TeamColor.Color;
- end;
- if not p7.ChatSettings.DefaultChannelNameColor then
- return Color3.fromRGB(35, 76, 142);
- end;
- return p7.ChatSettings.DefaultChannelNameColor;
- end;
- function v6.new(p8, p9, p10)
- local v10 = setmetatable({}, v4);
- v10.Destroyed = false;
- v10.ChatWindow = p8;
- v10.ChatBar = p9;
- v10.ChatSettings = p10;
- v10.TextBox = p9:GetTextBox();
- v10.MessageModeButton = p9:GetMessageModeTextButton();
- v10.OriginalTeamText = "";
- v10.TeamChatEntered = false;
- v10.MessageModeConnection = v10.MessageModeButton.MouseButton1Click:connect(function()
- local v11 = v10.TextBox.Text;
- if string.sub(v11, 1, 1) == " " then
- v11 = string.sub(v11, 2);
- end;
- v10.ChatBar:ResetCustomState();
- v10.ChatBar:SetTextBoxText(v11);
- v10.ChatBar:CaptureFocus();
- end);
- v10:EnterTeamChat();
- return v10;
- end;
- function ProcessMessage(p11, p12, p13, p14)
- if p13.TargetChannel == "Team" then
- return;
- end;
- if IsTeamCommand(p11) then
- else
- return nil;
- end;
- return v6.new(p12, p13, p14);
- end;
- return {
- [v5.KEY_COMMAND_PROCESSOR_TYPE] = v5.IN_PROGRESS_MESSAGE_PROCESSOR,
- [v5.KEY_PROCESSOR_FUNCTION] = ProcessMessage
- };
- SwitchChannel:
- -- Script GUID: {3e429d81-eda8-436f-93bb-f69b618dfabd}
- -- Decompiled with the Synapse X Luau decompiler.
- local v1 = require(script.Parent:WaitForChild("Util"));
- local u1 = nil;
- pcall(function()
- u1 = require(game:GetService("Chat").ClientChatModules.ChatLocalization);
- end);
- if u1 == nil then
- u1 = {
- Get = function(p1, p2, p3)
- return p3;
- end
- };
- end;
- function ProcessMessage(p4, p5, p6)
- if string.sub(p4, 1, 3):lower() ~= "/c " then
- return false;
- end;
- local v2 = string.sub(p4, 4);
- local v3 = p5:GetChannel(v2);
- if v3 then
- p5:SwitchCurrentChannel(v2);
- if not p6.ShowChannelsBar then
- if p5:GetCurrentChannel() then
- v1:SendSystemMessageToSelf(string.gsub(u1:Get("GameChat_SwitchChannel_NowInChannel", string.format("You are now chatting in channel: '%s'", v2), {
- RBX_NAME = v2
- }), "{RBX_NAME}", v2), v3, {});
- end;
- end;
- else
- local v4 = p5:GetCurrentChannel();
- if v4 then
- v1:SendSystemMessageToSelf(string.gsub(u1:Get("GameChat_SwitchChannel_NotInChannel", string.format("You are not in channel: '%s'", v2), {
- RBX_NAME = v2
- }), "{RBX_NAME}", v2), v4, {
- ChatColor = Color3.fromRGB(245, 50, 50)
- });
- end;
- end;
- return true;
- end;
- return {
- [v1.KEY_COMMAND_PROCESSOR_TYPE] = v1.COMPLETED_MESSAGE_PROCESSOR,
- [v1.KEY_PROCESSOR_FUNCTION] = ProcessMessage
- };
Advertisement
Add Comment
Please, Sign In to add comment