Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. -- // FileName: MeCommandMessage.lua
  2. -- // Written by: TheGamer101
  3. -- // Description: Create a message label for a me command message.
  4.  
  5. local clientChatModules = script.Parent.Parent
  6. local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
  7. local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))
  8. local util = require(script.Parent:WaitForChild("Util"))
  9.  
  10. function CreateMeCommandMessageLabel(messageData, channelName)
  11. local message = messageData.Message
  12. local extraData = messageData.ExtraData or {}
  13. local useFont = extraData.Font or Enum.Font.SourceSansSemibold
  14. local useTextSize = extraData.TextSize or ChatSettings.ChatWindowTextSize
  15. local useChatColor = Color3.new(107/255, 50/255, 124/255)
  16. local useChannelColor = extraData.ChannelColor or useChatColor
  17. local numNeededSpaces = 0
  18.  
  19. local BaseFrame, BaseMessage = util:CreateBaseMessage("", useFont, useTextSize, useChatColor)
  20. local ChannelButton = nil
  21.  
  22. if channelName ~= messageData.OriginalChannel then
  23. local formatChannelName = string.format("{%s}", messageData.OriginalChannel)
  24. ChannelButton = util:AddChannelButtonToBaseMessage(BaseMessage, useChannelColor, formatChannelName, messageData.OriginalChannel)
  25. numNeededSpaces = util:GetNumberOfSpaces(formatChannelName, useFont, useTextSize) + 1
  26. end
  27.  
  28. local function UpdateTextFunction(messageObject)
  29. if messageData.IsFiltered then
  30. BaseMessage.Text ="**" .. string.rep("", numNeededSpaces) .. " " .. string.sub(messageObject.Message, 5) .. "" string.format("%s") "))"
  31. else
  32. local messageLength = string.len(messageObject.FromSpeaker) + messageObject.MessageLength - 4
  33. BaseMessage.Text = string.rep("**", numNeededSpaces) .. string.rep("_", messageLength)
  34. end
  35. end
  36.  
  37. UpdateTextFunction(messageData)
  38.  
  39. local function GetHeightFunction(xSize)
  40. return util:GetMessageHeight(BaseMessage, BaseFrame, xSize)
  41. end
  42.  
  43. local FadeParmaters = {}
  44. FadeParmaters[BaseMessage] = {
  45. TextTransparency = {FadedIn = 0, FadedOut = 1},
  46. TextStrokeTransparency = {FadedIn = 0.75, FadedOut = 1}
  47. }
  48.  
  49. if ChannelButton then
  50. FadeParmaters[ChannelButton] = {
  51. TextTransparency = {FadedIn = 0, FadedOut = 1},
  52. TextStrokeTransparency = {FadedIn = 0.75, FadedOut = 1}
  53. }
  54. end
  55.  
  56. local FadeInFunction, FadeOutFunction, UpdateAnimFunction = util:CreateFadeFunctions(FadeParmaters)
  57.  
  58. return {
  59. [util.KEY_BASE_FRAME] = BaseFrame,
  60. [util.KEY_BASE_MESSAGE] = BaseMessage,
  61. [util.KEY_UPDATE_TEXT_FUNC] = UpdateTextFunction,
  62. [util.KEY_GET_HEIGHT] = GetHeightFunction,
  63. [util.KEY_FADE_IN] = FadeInFunction,
  64. [util.KEY_FADE_OUT] = FadeOutFunction,
  65. [util.KEY_UPDATE_ANIMATION] = UpdateAnimFunction
  66. }
  67. end
  68.  
  69. return {
  70. [util.KEY_MESSAGE_TYPE] = ChatConstants.MessageTypeDoCommand,
  71. [util.KEY_CREATOR_FUNCTION] = CreateMeCommandMessageLabel
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement