Advertisement
CaliberMag

Untitled

Feb 18th, 2022 (edited)
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. assert(syn, "This cannot be run due to missing functionality w/ your exploit.")
  2. assert(Config.Text, "No string has been provided.")
  3.  
  4. local Format_Types = {} do
  5. Format_Types.Font_Modifiers = {
  6. Format = [[<%s>]],
  7. Escape = [[</%s>]]
  8. }
  9. Format_Types.Font = {
  10. Format = [[<font %s="%s">]],
  11. Escape = [[</font>]]
  12. }
  13. Format_Types.Stroke = {
  14. Format = [[<thickness="%s" transparency="%s"]],
  15. Escape = [[</stroke>]]
  16. }
  17. Format_Types.Color = {
  18. Format = [[<%s color="%s">]],
  19. Escape = [[</%s>]]
  20. }
  21. end
  22.  
  23.  
  24. --//Loose Code
  25. task.defer(function()
  26. local _Text = ""
  27.  
  28. if #Config.Gradient_Settings.Colours > 0 and Config.Gradient_Settings.Colour_Type then
  29. local Split_String = string.split(Config.Text, "")
  30. local Gradient = Generate_Gradient(#Split_String, Config.Gradient_Settings.Colours)
  31.  
  32. for Index, Character in ipairs(Split_String) do
  33. _Text = _Text..string.format(Format_Types.Color["Format"], Config.Gradient_Settings.Colour_Type, Generate_Hex(Gradient[Index]))..Character..string.format(Format_Types.Color["Escape"], Config.Gradient_Settings.Colour_Type)
  34. end
  35.  
  36. if Config.Stroke_Settings.Enabled and Config.Gradient_Settings.Colour_Type == "font" then
  37. _Text = string.format(Format_Types.Color["Format"], "stroke", Generate_Hex(Config.Stroke_Settings.Colour)).._Text..string.format(Format_Types.Color["Escape"], "stroke")
  38.  
  39. elseif Config.Gradient_Settings.Colour_Type == "stroke" then
  40. _Text = string.format(Format_Types.Color["Format"], "font", Generate_Hex(Config.Font_Settings.Colour)).._Text..string.format(Format_Types.Color["Escape"], "font")
  41. end
  42. else
  43. _Text = Config.Text
  44. end
  45. if #Config.Gradient_Settings.Colours <= 0 then
  46. if Config.Stroke_Settings.Enabled then
  47. _Text = string.format(Format_Types.Color["Format"], "stroke", Generate_Hex(Config.Stroke_Settings.Colour)).._Text..string.format(Format_Types.Color["Escape"], "stroke")
  48. end
  49. _Text = string.format(Format_Types.Color["Format"], "font", Generate_Hex(Config.Font_Settings.Colour)).._Text..string.format(Format_Types.Color["Escape"], "font")
  50. end
  51.  
  52. if Config.Font_Settings.Font ~= "" then
  53. _Text = string.format(Format_Types.Font["Format"], "face", Config.Font_Settings.Font).._Text..Format_Types.Font["Escape"]
  54. end
  55. if Config.Font_Settings.Size ~= nil then
  56. _Text = string.format(Format_Types.Font["Format"], "size", Config.Font_Settings.Size).._Text..Format_Types.Font["Escape"]
  57. end
  58. if Config.Font_Settings.Italics == true then
  59. _Text = string.format(Format_Types.Font_Modifiers["Format"], "u").._Text..string.format(Format_Types.Font_Modifiers["Escape"], "u")
  60. end
  61. if Config.Font_Settings.Bold == true then
  62. _Text = string.format(Format_Types.Font_Modifiers["Format"], "b").._Text..string.format(Format_Types.Font_Modifiers["Escape"], "b")
  63. end
  64. if Config.Font_Settings.Strikethrough == true then
  65. _Text = string.format(Format_Types.Font_Modifiers["Format"], "s").._Text..string.format(Format_Types.Font_Modifiers["Escape"], "s")
  66. end
  67. if Config.Font_Settings.Underline == true then
  68. _Text = string.format(Format_Types.Font_Modifiers["Format"], "u").._Text..string.format(Format_Types.Font_Modifiers["Escape"], "u")
  69. end
  70.  
  71. if Config.Copy_To_Clipboard then
  72. syn.write_clipboard(tostring(_Text))
  73. end
  74.  
  75. getgenv().Formatted_Text = tostring(_Text)
  76. print(#string.split(_Text, ""))
  77. end)
  78.  
  79. --//Functions
  80.  
  81. local function Find_Colours(Current_Colour, Next_Colour, Step)
  82. local Interpolate = function(Start, Goal, Step)
  83. local Types = {["R"] = 0, ["G"] = 0, ["B"] = 0} do
  84. for Type, Value in pairs(Types) do
  85. Types[Type] = (Start[Type] + (Goal[Type] - Start[Type]) * Step) * 255
  86. end
  87. end
  88. return Color3.fromRGB(Types.R, Types.G, Types.B)
  89. end
  90.  
  91. local Values = {} do
  92. for Int = Step, 1, Step do
  93. Values[#Values + 1] = Interpolate(Current_Colour, Next_Colour, Int)
  94. end
  95. return Values
  96. end
  97. end
  98.  
  99. Generate_Gradient = function(Iterations, Colours)
  100. local Gradient = {} do
  101. for Index, Colour in ipairs(Colours) do
  102. if Index == 1 then
  103. Gradient[#Gradient + 1] = Colour
  104. end
  105. if Colours[Index + 1] then
  106. local Values = Find_Colours(Colour, Colours[Index + 1], (1 / math.floor(Iterations / (#Colours - 1) + 0.5)))
  107. for _, _Value in ipairs(Values) do
  108. if #Gradient < Iterations then
  109. Gradient[#Gradient + 1] = _Value
  110. end
  111. end
  112. end
  113. end
  114. end
  115. return Gradient
  116. end
  117.  
  118. local function Convert_Colour(Colour)
  119. return math.floor(Colour.R * 255) * 256 ^ 2 + math.floor(Colour.G * 255) * 256 + math.floor(Colour.B * 255)
  120. end
  121.  
  122. Generate_Hex = function(Colour)
  123. local Integer = Convert_Colour(Colour)
  124. local Result = ""
  125.  
  126. local Hex_Chars = {"A", "B", "C", "D", "E", "F"} do
  127. repeat
  128. local Remainder = Integer % 16
  129. local Char = tostring(Remainder)
  130.  
  131. if Remainder >= 10 then
  132. Char = Hex_Chars[(1 + Remainder) - 10]
  133. end
  134. Integer = math.floor(Integer / 16)
  135. Result = Result..Char
  136. until Integer <= 0
  137. end
  138. return "#"..string.reverse(Result)
  139. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement