Advertisement
imdontli

Untitled

Jul 12th, 2025
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 41.90 KB | None | 0 0
  1. local module = {}
  2. local Players = game:GetService("Players")
  3. local TweenService = game:GetService("TweenService")
  4. local RunService = game:GetService("RunService")
  5. local SoundService = game:GetService("SoundService")
  6. local UserInputService = game:GetService("UserInputService")
  7. local Debris = game:GetService("Debris")
  8. local Lighting = game:GetService("Lighting")
  9. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  10.  
  11. local player = Players.LocalPlayer
  12. local playerGui = player:WaitForChild("PlayerGui")
  13. local mouse = player:GetMouse()
  14.  
  15. local screenGui = Instance.new("ScreenGui")
  16. screenGui.Name = "WelcomeGui"
  17. screenGui.ResetOnSpawn = false
  18. screenGui.IgnoreGuiInset = true
  19. screenGui.DisplayOrder = 999999
  20. screenGui.Parent = playerGui
  21.  
  22. local backgroundFrame = Instance.new("Frame")
  23. backgroundFrame.Size = UDim2.new(1, 0, 1, 0)
  24. backgroundFrame.Position = UDim2.new(0, 0, 0, 0)
  25. backgroundFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
  26. backgroundFrame.BorderSizePixel = 0
  27. backgroundFrame.Parent = screenGui
  28.  
  29. local backgroundGradient = Instance.new("UIGradient")
  30. backgroundGradient.Color = ColorSequence.new{
  31.     ColorSequenceKeypoint.new(0, Color3.fromRGB(8, 8, 12)),
  32.     ColorSequenceKeypoint.new(0.3, Color3.fromRGB(15, 15, 20)),
  33.     ColorSequenceKeypoint.new(0.7, Color3.fromRGB(20, 20, 25)),
  34.     ColorSequenceKeypoint.new(1, Color3.fromRGB(5, 5, 8))
  35. }
  36. backgroundGradient.Rotation = 45
  37. backgroundGradient.Parent = backgroundFrame
  38.  
  39. local particleSystemContainer = Instance.new("Frame")
  40. particleSystemContainer.Size = UDim2.new(1, 0, 1, 0)
  41. particleSystemContainer.BackgroundTransparency = 1
  42. particleSystemContainer.Parent = backgroundFrame
  43.  
  44. local noiseParticles = {}
  45. local particleSystem = {}
  46.  
  47. for i = 1, 150 do
  48.     local particle = Instance.new("Frame")
  49.     particle.Size = UDim2.new(0, math.random(1, 4), 0, math.random(1, 4))
  50.     particle.Position = UDim2.new(math.random(), 0, math.random(), 0)
  51.     particle.BackgroundColor3 = Color3.fromHSV(
  52.         math.random(200, 260) / 360,
  53.         math.random(30, 80) / 100,
  54.         math.random(60, 100) / 100
  55.     )
  56.     particle.BorderSizePixel = 0
  57.     particle.BackgroundTransparency = math.random(40, 85) / 100
  58.     particle.Parent = particleSystemContainer
  59.  
  60.     local corner = Instance.new("UICorner")
  61.     corner.CornerRadius = UDim.new(1, 0)
  62.     corner.Parent = particle
  63.  
  64.     table.insert(noiseParticles, {
  65.         element = particle,
  66.         velocity = {
  67.             x = (math.random() - 0.5) * 0.002,
  68.             y = (math.random() - 0.5) * 0.001
  69.         },
  70.         originalTransparency = particle.BackgroundTransparency
  71.     })
  72. end
  73.  
  74. local function updateParticleSystem()
  75.     for _, particle in ipairs(noiseParticles) do
  76.         local currentPos = particle.element.Position
  77.         local newX = currentPos.X.Scale + particle.velocity.x
  78.         local newY = currentPos.Y.Scale + particle.velocity.y
  79.  
  80.         if newX > 1.1 or newX < -0.1 then
  81.             particle.velocity.x = -particle.velocity.x
  82.         end
  83.         if newY > 1.1 or newY < -0.1 then
  84.             particle.velocity.y = -particle.velocity.y
  85.         end
  86.  
  87.         particle.element.Position = UDim2.new(
  88.             math.clamp(newX, -0.1, 1.1),
  89.             0,
  90.             math.clamp(newY, -0.1, 1.1),
  91.             0
  92.         )
  93.  
  94.         local time = tick()
  95.         particle.element.BackgroundTransparency = particle.originalTransparency +
  96.             math.sin(time * 2 + particle.element.Position.X.Scale * 10) * 0.15
  97.     end
  98. end
  99.  
  100. local particleConnection = RunService.Heartbeat:Connect(updateParticleSystem)
  101.  
  102. local dynamicLightEffect = Instance.new("Frame")
  103. dynamicLightEffect.Size = UDim2.new(2, 0, 2, 0)
  104. dynamicLightEffect.Position = UDim2.new(-0.5, 0, -0.5, 0)
  105. dynamicLightEffect.BackgroundTransparency = 0.8
  106. dynamicLightEffect.BorderSizePixel = 0
  107. dynamicLightEffect.Parent = backgroundFrame
  108.  
  109. local lightGradient = Instance.new("UIGradient")
  110. lightGradient.Color = ColorSequence.new{
  111.     ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 50, 200)),
  112.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(50, 100, 255)),
  113.     ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 50, 150))
  114. }
  115. lightGradient.Transparency = NumberSequence.new{
  116.     NumberSequenceKeypoint.new(0, 1),
  117.     NumberSequenceKeypoint.new(0.3, 0.9),
  118.     NumberSequenceKeypoint.new(0.7, 0.9),
  119.     NumberSequenceKeypoint.new(1, 1)
  120. }
  121. lightGradient.Parent = dynamicLightEffect
  122.  
  123. local lightRotationTween = TweenService:Create(
  124.     lightGradient,
  125.     TweenInfo.new(8, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1),
  126.     {Rotation = 360}
  127. )
  128. lightRotationTween:Play()
  129.  
  130. local rotatingText = Instance.new("TextLabel")
  131. rotatingText.Size = UDim2.new(0, 300, 0, 80)
  132. rotatingText.Position = UDim2.new(0.5, -150, 0.25, 0)
  133. rotatingText.BackgroundTransparency = 1
  134. rotatingText.Text = "WELCOME!"
  135. rotatingText.TextColor3 = Color3.fromRGB(255, 255, 255)
  136. rotatingText.TextScaled = true
  137. rotatingText.Font = Enum.Font.GothamBold
  138. rotatingText.TextStrokeTransparency = 0.5
  139. rotatingText.TextStrokeColor3 = Color3.fromRGB(100, 150, 255)
  140. rotatingText.TextTransparency = 1
  141. rotatingText.Parent = backgroundFrame
  142.  
  143. local textGlow = Instance.new("UIStroke")
  144. textGlow.Color = Color3.fromRGB(150, 200, 255)
  145. textGlow.Thickness = 3
  146. textGlow.Transparency = 0.3
  147. textGlow.Parent = rotatingText
  148.  
  149. local glowAnimation = TweenService:Create(
  150.     textGlow,
  151.     TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true),
  152.     {Transparency = 0.7, Thickness = 6}
  153. )
  154. glowAnimation:Play()
  155.  
  156. local titleContainer = Instance.new("Frame")
  157. titleContainer.Size = UDim2.new(0, 600, 0, 100)
  158. titleContainer.Position = UDim2.new(0.5, -300, 0.5, -50)
  159. titleContainer.BackgroundTransparency = 1
  160. titleContainer.Parent = backgroundFrame
  161.  
  162. local titleWords = {"SLAP", "BATTLES", "BUT", "VERY", "BAD", "REWORK"}
  163. local titleLabels = {}
  164.  
  165. for i, word in ipairs(titleWords) do
  166.     local wordContainer = Instance.new("Frame")
  167.     wordContainer.Size = UDim2.new(0, 95, 0, 100)
  168.     wordContainer.Position = UDim2.new(0, (i-1) * 100, 0, 0)
  169.     wordContainer.BackgroundTransparency = 1
  170.     wordContainer.Parent = titleContainer
  171.  
  172.     local wordLabel = Instance.new("TextLabel")
  173.     wordLabel.Size = UDim2.new(1, 0, 1, 0)
  174.     wordLabel.Position = UDim2.new(0, 0, 0, 0)
  175.     wordLabel.BackgroundTransparency = 1
  176.     wordLabel.Text = word
  177.     wordLabel.TextColor3 = Color3.fromRGB(255, 120, 120)
  178.     wordLabel.TextScaled = true
  179.     wordLabel.Font = Enum.Font.GothamBold
  180.     wordLabel.TextTransparency = 1
  181.     wordLabel.Parent = wordContainer
  182.  
  183.     local wordStroke = Instance.new("UIStroke")
  184.     wordStroke.Color = Color3.fromRGB(255, 50, 50)
  185.     wordStroke.Thickness = 2
  186.     wordStroke.Transparency = 1
  187.     wordStroke.Parent = wordLabel
  188.  
  189.     table.insert(titleLabels, {label = wordLabel, stroke = wordStroke, container = wordContainer})
  190. end
  191.  
  192. local playButton = Instance.new("TextButton")
  193. playButton.Size = UDim2.new(0, 250, 0, 80)
  194. playButton.Position = UDim2.new(0.5, -125, 0.75, 0)
  195. playButton.BackgroundColor3 = Color3.fromRGB(0, 180, 0)
  196. playButton.Text = "PLAY"
  197. playButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  198. playButton.TextScaled = true
  199. playButton.Font = Enum.Font.GothamBold
  200. playButton.BorderSizePixel = 0
  201. playButton.Visible = false
  202. playButton.Parent = backgroundFrame
  203.  
  204. local buttonGradient = Instance.new("UIGradient")
  205. buttonGradient.Color = ColorSequence.new{
  206.     ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 200, 0)),
  207.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(50, 255, 50)),
  208.     ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 180, 0))
  209. }
  210. buttonGradient.Rotation = 45
  211. buttonGradient.Parent = playButton
  212.  
  213. local buttonCorner = Instance.new("UICorner")
  214. buttonCorner.CornerRadius = UDim.new(0, 15)
  215. buttonCorner.Parent = playButton
  216.  
  217. local buttonStroke = Instance.new("UIStroke")
  218. buttonStroke.Color = Color3.fromRGB(255, 255, 255)
  219. buttonStroke.Thickness = 2
  220. buttonStroke.Transparency = 0.5
  221. buttonStroke.Parent = playButton
  222.  
  223.  
  224. local whiteScreen = Instance.new("Frame")
  225. whiteScreen.Size = UDim2.new(1, 0, 1, 0)
  226. whiteScreen.Position = UDim2.new(0, 0, 0, 0)
  227. whiteScreen.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  228. whiteScreen.BorderSizePixel = 0
  229. whiteScreen.Visible = false
  230. whiteScreen.Parent = screenGui
  231.  
  232. local soundEffects = {
  233.     theme = Instance.new("Sound"),
  234.     spinning = Instance.new("Sound"),
  235.     word = Instance.new("Sound"),
  236.     shatter = Instance.new("Sound"),
  237.     broke = Instance.new("Sound"),
  238.     ambient = Instance.new("Sound")
  239. }
  240.  
  241. soundEffects.theme.SoundId = "rbxassetid://118119627057792"
  242. soundEffects.theme.Volume = 0.5
  243. soundEffects.theme.Looped = true
  244. soundEffects.theme.Parent = screenGui
  245.  
  246. soundEffects.spinning.SoundId = "rbxassetid://131961136"
  247. soundEffects.spinning.Volume = 0.4
  248. soundEffects.spinning.Parent = screenGui
  249.  
  250. soundEffects.word.SoundId = "rbxassetid://132359585205773"
  251. soundEffects.word.Volume = 4
  252. soundEffects.word.Parent = screenGui
  253.  
  254. soundEffects.shatter.SoundId = "rbxassetid://9103909576"
  255. soundEffects.shatter.Volume = 0.6
  256. soundEffects.shatter.Parent = screenGui
  257.  
  258. soundEffects.broke.SoundId = "rbxassetid://9127760446"
  259. soundEffects.broke.Volume = 0.7
  260. soundEffects.broke.Parent = screenGui
  261.  
  262. soundEffects.ambient.SoundId = "rbxassetid://172313730"
  263. soundEffects.ambient.Volume = 0.3
  264. soundEffects.ambient.Looped = true
  265. soundEffects.ambient.Parent = screenGui
  266.  
  267. local isMuted = false
  268. local muteButton = Instance.new("TextButton")
  269. muteButton.Size = UDim2.new(0, 85, 0, 85)
  270. muteButton.Position = UDim2.new(0, 30, 0, 120)
  271. muteButton.BackgroundColor3 = Color3.fromRGB(12, 12, 18)
  272. muteButton.Text = ""
  273. muteButton.TextColor3 = Color3.fromRGB(255, 255, 255)
  274. muteButton.TextScaled = true
  275. muteButton.Font = Enum.Font.GothamBold
  276. muteButton.BorderSizePixel = 0
  277. muteButton.Parent = screenGui
  278.  
  279. local muteCorner = Instance.new("UICorner")
  280. muteCorner.CornerRadius = UDim.new(0, 25)
  281. muteCorner.Parent = muteButton
  282.  
  283. local muteGradient = Instance.new("UIGradient")
  284. muteGradient.Color = ColorSequence.new{
  285.     ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 55)),
  286.     ColorSequenceKeypoint.new(0.3, Color3.fromRGB(20, 20, 35)),
  287.     ColorSequenceKeypoint.new(0.7, Color3.fromRGB(45, 45, 70)),
  288.     ColorSequenceKeypoint.new(1, Color3.fromRGB(12, 12, 18))
  289. }
  290. muteGradient.Rotation = 135
  291. muteGradient.Parent = muteButton
  292.  
  293. local muteStroke = Instance.new("UIStroke")
  294. muteStroke.Color = Color3.fromRGB(100, 150, 255)
  295. muteStroke.Thickness = 4
  296. muteStroke.Transparency = 0.2
  297. muteStroke.Parent = muteButton
  298.  
  299. local muteStrokeGradient = Instance.new("UIGradient")
  300. muteStrokeGradient.Color = ColorSequence.new{
  301.     ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 180, 255)),
  302.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(80, 120, 255)),
  303.     ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 100, 220))
  304. }
  305. muteStrokeGradient.Rotation = 45
  306. muteStrokeGradient.Parent = muteStroke
  307.  
  308. local muteShadow = Instance.new("Frame")
  309. muteShadow.Size = UDim2.new(1, 12, 1, 12)
  310. muteShadow.Position = UDim2.new(0, -6, 0, -6)
  311. muteShadow.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  312. muteShadow.BackgroundTransparency = 0.6
  313. muteShadow.BorderSizePixel = 0
  314. muteShadow.ZIndex = muteButton.ZIndex - 1
  315. muteShadow.Parent = muteButton
  316.  
  317. local muteShadowCorner = Instance.new("UICorner")
  318. muteShadowCorner.CornerRadius = UDim.new(0, 31)
  319. muteShadowCorner.Parent = muteShadow
  320.  
  321. local muteShadowGradient = Instance.new("UIGradient")
  322. muteShadowGradient.Color = ColorSequence.new{
  323.     ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 0, 0)),
  324.     ColorSequenceKeypoint.new(1, Color3.fromRGB(5, 5, 15))
  325. }
  326. muteShadowGradient.Rotation = 45
  327. muteShadowGradient.Parent = muteShadow
  328.  
  329. local muteGlow = Instance.new("Frame")
  330. muteGlow.Size = UDim2.new(1, 24, 1, 24)
  331. muteGlow.Position = UDim2.new(0, -12, 0, -12)
  332. muteGlow.BackgroundColor3 = Color3.fromRGB(100, 150, 255)
  333. muteGlow.BackgroundTransparency = 0.8
  334. muteGlow.BorderSizePixel = 0
  335. muteGlow.ZIndex = muteButton.ZIndex - 2
  336. muteGlow.Parent = muteButton
  337.  
  338. local muteGlowCorner = Instance.new("UICorner")
  339. muteGlowCorner.CornerRadius = UDim.new(0, 37)
  340. muteGlowCorner.Parent = muteGlow
  341.  
  342. local muteGlowGradient = Instance.new("UIGradient")
  343. muteGlowGradient.Color = ColorSequence.new{
  344.     ColorSequenceKeypoint.new(0, Color3.fromRGB(150, 200, 255)),
  345.     ColorSequenceKeypoint.new(0.5, Color3.fromRGB(100, 150, 255)),
  346.     ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 100, 220))
  347. }
  348. muteGlowGradient.Rotation = 90
  349. muteGlowGradient.Parent = muteGlow
  350.  
  351. local muteIcon = Instance.new("ImageLabel")
  352. muteIcon.Size = UDim2.new(0, 45, 0, 45)
  353. muteIcon.Position = UDim2.new(0.5, -22.5, 0.5, -22.5)
  354. muteIcon.BackgroundTransparency = 1
  355. muteIcon.Image = "rbxasset://textures/ui/Controls/DesktopEmotes/unmute.png"
  356. muteIcon.ImageColor3 = Color3.fromRGB(255, 255, 255)
  357. muteIcon.Parent = muteButton
  358.  
  359. spawn(function()
  360.     while muteButton.Parent do
  361.         local glowPulse = TweenService:Create(
  362.             muteGlow,
  363.             TweenInfo.new(2.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true),
  364.             {BackgroundTransparency = 0.9}
  365.         )
  366.         glowPulse:Play()
  367.  
  368.         local strokePulse = TweenService:Create(
  369.             muteStroke,
  370.             TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true),
  371.             {Transparency = 0.05}
  372.         )
  373.         strokePulse:Play()
  374.  
  375.         wait(2.5)
  376.     end
  377. end)
  378.  
  379. muteButton.MouseButton1Click:Connect(function()
  380.     isMuted = not isMuted
  381.  
  382.     local clickEffect = TweenService:Create(
  383.         muteButton,
  384.         TweenInfo.new(0.08, Enum.EasingStyle.Back, Enum.EasingDirection.InOut),
  385.         {Size = UDim2.new(0, 78, 0, 78)}
  386.     )
  387.     clickEffect:Play()
  388.     clickEffect.Completed:Connect(function()
  389.         local clickBack = TweenService:Create(
  390.             muteButton,
  391.             TweenInfo.new(0.18, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  392.             {Size = UDim2.new(0, 85, 0, 85)}
  393.         )
  394.         clickBack:Play()
  395.     end)
  396.  
  397.     local iconScale = TweenService:Create(
  398.         muteIcon,
  399.         TweenInfo.new(0.15, Enum.EasingStyle.Back),
  400.         {Size = UDim2.new(0, 38, 0, 38)}
  401.     )
  402.     iconScale:Play()
  403.     iconScale.Completed:Connect(function()
  404.         local iconScaleBack = TweenService:Create(
  405.             muteIcon,
  406.             TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  407.             {Size = UDim2.new(0, 45, 0, 45)}
  408.         )
  409.         iconScaleBack:Play()
  410.     end)
  411.  
  412.     if isMuted then
  413.         muteIcon.Image = "rbxasset://textures/ui/Controls/DesktopEmotes/mute.png"
  414.  
  415.         local mutedGradient = TweenService:Create(
  416.             muteGradient,
  417.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  418.             {Color = ColorSequence.new{
  419.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(55, 20, 20)),
  420.                 ColorSequenceKeypoint.new(0.3, Color3.fromRGB(35, 12, 12)),
  421.                 ColorSequenceKeypoint.new(0.7, Color3.fromRGB(70, 25, 25)),
  422.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(18, 8, 8))
  423.             }}
  424.         )
  425.         mutedGradient:Play()
  426.  
  427.         local mutedStrokeGradient = TweenService:Create(
  428.             muteStrokeGradient,
  429.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  430.             {Color = ColorSequence.new{
  431.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 120, 120)),
  432.                 ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 80, 80)),
  433.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(220, 60, 60))
  434.             }}
  435.         )
  436.         mutedStrokeGradient:Play()
  437.  
  438.         local mutedGlowGradient = TweenService:Create(
  439.             muteGlowGradient,
  440.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  441.             {Color = ColorSequence.new{
  442.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 150, 150)),
  443.                 ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 100, 100)),
  444.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(220, 60, 60))
  445.             }}
  446.         )
  447.         mutedGlowGradient:Play()
  448.  
  449.         local iconColor = TweenService:Create(
  450.             muteIcon,
  451.             TweenInfo.new(0.3, Enum.EasingStyle.Quad),
  452.             {ImageColor3 = Color3.fromRGB(255, 180, 180)}
  453.         )
  454.         iconColor:Play()
  455.  
  456.         soundEffects.theme.Volume = 0
  457.         soundEffects.spinning.Volume = 0
  458.         soundEffects.word.Volume = 0
  459.         soundEffects.shatter.Volume = 0
  460.         soundEffects.broke.Volume = 0
  461.     else
  462.         muteIcon.Image = "rbxasset://textures/ui/Controls/DesktopEmotes/unmute.png"
  463.  
  464.         local unmutedGradient = TweenService:Create(
  465.             muteGradient,
  466.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  467.             {Color = ColorSequence.new{
  468.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 55)),
  469.                 ColorSequenceKeypoint.new(0.3, Color3.fromRGB(20, 20, 35)),
  470.                 ColorSequenceKeypoint.new(0.7, Color3.fromRGB(45, 45, 70)),
  471.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(12, 12, 18))
  472.             }}
  473.         )
  474.         unmutedGradient:Play()
  475.  
  476.         local unmutedStrokeGradient = TweenService:Create(
  477.             muteStrokeGradient,
  478.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  479.             {Color = ColorSequence.new{
  480.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 180, 255)),
  481.                 ColorSequenceKeypoint.new(0.5, Color3.fromRGB(80, 120, 255)),
  482.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 100, 220))
  483.             }}
  484.         )
  485.         unmutedStrokeGradient:Play()
  486.  
  487.         local unmutedGlowGradient = TweenService:Create(
  488.             muteGlowGradient,
  489.             TweenInfo.new(0.4, Enum.EasingStyle.Quad),
  490.             {Color = ColorSequence.new{
  491.                 ColorSequenceKeypoint.new(0, Color3.fromRGB(150, 200, 255)),
  492.                 ColorSequenceKeypoint.new(0.5, Color3.fromRGB(100, 150, 255)),
  493.                 ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 100, 220))
  494.             }}
  495.         )
  496.         unmutedGlowGradient:Play()
  497.  
  498.         local iconColor = TweenService:Create(
  499.             muteIcon,
  500.             TweenInfo.new(0.3, Enum.EasingStyle.Quad),
  501.             {ImageColor3 = Color3.fromRGB(255, 255, 255)}
  502.         )
  503.         iconColor:Play()
  504.  
  505.         soundEffects.theme.Volume = 0.5
  506.         soundEffects.spinning.Volume = 0.4
  507.         soundEffects.word.Volume = 4
  508.         soundEffects.shatter.Volume = 0.6
  509.         soundEffects.broke.Volume = 0.7
  510.     end
  511. end)
  512.  
  513. muteButton.MouseEnter:Connect(function()
  514.     local hoverTween = TweenService:Create(
  515.         muteButton,
  516.         TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  517.         {Size = UDim2.new(0, 95, 0, 95)}
  518.     )
  519.     hoverTween:Play()
  520.  
  521.     local hoverStroke = TweenService:Create(
  522.         muteStroke,
  523.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  524.         {Thickness = 6, Transparency = 0.05}
  525.     )
  526.     hoverStroke:Play()
  527.  
  528.     local hoverGlow = TweenService:Create(
  529.         muteGlow,
  530.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  531.         {BackgroundTransparency = 0.65, Size = UDim2.new(1, 35, 1, 35), Position = UDim2.new(0, -17.5, 0, -17.5)}
  532.     )
  533.     hoverGlow:Play()
  534.  
  535.     local hoverIcon = TweenService:Create(
  536.         muteIcon,
  537.         TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  538.         {Size = UDim2.new(0, 52, 0, 52), Position = UDim2.new(0.5, -26, 0.5, -26)}
  539.     )
  540.     hoverIcon:Play()
  541.  
  542.     local hoverShadow = TweenService:Create(
  543.         muteShadow,
  544.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  545.         {BackgroundTransparency = 0.4, Size = UDim2.new(1, 18, 1, 18), Position = UDim2.new(0, -9, 0, -9)}
  546.     )
  547.     hoverShadow:Play()
  548. end)
  549.  
  550. muteButton.MouseLeave:Connect(function()
  551.     local leaveTween = TweenService:Create(
  552.         muteButton,
  553.         TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  554.         {Size = UDim2.new(0, 85, 0, 85)}
  555.     )
  556.     leaveTween:Play()
  557.  
  558.     local leaveStroke = TweenService:Create(
  559.         muteStroke,
  560.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  561.         {Thickness = 4, Transparency = 0.2}
  562.     )
  563.     leaveStroke:Play()
  564.  
  565.     local leaveGlow = TweenService:Create(
  566.         muteGlow,
  567.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  568.         {BackgroundTransparency = 0.8, Size = UDim2.new(1, 24, 1, 24), Position = UDim2.new(0, -12, 0, -12)}
  569.     )
  570.     leaveGlow:Play()
  571.  
  572.     local leaveIcon = TweenService:Create(
  573.         muteIcon,
  574.         TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  575.         {Size = UDim2.new(0, 45, 0, 45), Position = UDim2.new(0.5, -22.5, 0.5, -22.5)}
  576.     )
  577.     leaveIcon:Play()
  578.  
  579.     local leaveShadow = TweenService:Create(
  580.         muteShadow,
  581.         TweenInfo.new(0.25, Enum.EasingStyle.Quad),
  582.         {BackgroundTransparency = 0.6, Size = UDim2.new(1, 12, 1, 12), Position = UDim2.new(0, -6, 0, -6)}
  583.     )
  584.     leaveShadow:Play()
  585. end)
  586.  
  587. local rotationSpeed = 0
  588. local targetRotation = 0
  589. local isAnimating = true
  590. local spinCount = 0
  591.  
  592. soundEffects.theme:Play()
  593.  
  594. soundEffects.ambient:Play()
  595.  
  596. local rotationConnection = RunService.Heartbeat:Connect(function()
  597.     if isAnimating then
  598.         rotationSpeed = rotationSpeed + 0.25
  599.         rotatingText.Rotation = rotatingText.Rotation + rotationSpeed
  600.  
  601.         local time = tick()
  602.         rotatingText.TextColor3 = Color3.fromHSV(
  603.             (math.sin(time * 2) + 1) / 2 * 0.2 + 0.7,
  604.             0.3,
  605.             1
  606.         )
  607.     end
  608. end)
  609.  
  610.  
  611. local function playSpinningSound()
  612.     if soundEffects.spinning then
  613.         soundEffects.spinning:Play()
  614.         spinCount = spinCount + 1
  615.         if spinCount < 3 then
  616.             spawn(function()
  617.                 wait(soundEffects.spinning.TimeLength or 1)
  618.                 if spinCount < 3 then
  619.                     playSpinningSound()
  620.                 end
  621.             end)
  622.         end
  623.     end
  624. end
  625.  
  626. local function createDynamicParticleExplosion(position, count, colors)
  627.     for i = 1, count do
  628.         local particle = Instance.new("Frame")
  629.         particle.Size = UDim2.new(0, math.random(3, 8), 0, math.random(3, 8))
  630.         particle.Position = UDim2.new(0, position.X, 0, position.Y)
  631.         particle.BackgroundColor3 = colors[math.random(1, #colors)]
  632.         particle.BorderSizePixel = 0
  633.         particle.Parent = backgroundFrame
  634.  
  635.         local corner = Instance.new("UICorner")
  636.         corner.CornerRadius = UDim.new(1, 0)
  637.         corner.Parent = particle
  638.  
  639.         local angle = math.rad(math.random(0, 360))
  640.         local speed = math.random(100, 300)
  641.         local endX = position.X + math.cos(angle) * speed
  642.         local endY = position.Y + math.sin(angle) * speed
  643.  
  644.         local moveTween = TweenService:Create(
  645.             particle,
  646.             TweenInfo.new(math.random(150, 250) / 100, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  647.             {
  648.                 Position = UDim2.new(0, endX, 0, endY),
  649.                 BackgroundTransparency = 1,
  650.                 Rotation = math.random(-360, 360),
  651.                 Size = UDim2.new(0, 0, 0, 0)
  652.             }
  653.         )
  654.         moveTween:Play()
  655.  
  656.         Debris:AddItem(particle, 3)
  657.     end
  658. end
  659.  
  660. local function startWelcomeSequence()
  661.     local welcomeFadeIn = TweenService:Create(
  662.         rotatingText,
  663.         TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  664.         {TextTransparency = 0}
  665.     )
  666.     welcomeFadeIn:Play()
  667.     playSpinningSound()
  668.  
  669.     spawn(function()
  670.         for i = 1, 5 do
  671.             createDynamicParticleExplosion(
  672.                 {X = math.random(100, 1820), Y = math.random(100, 980)},
  673.                 15,
  674.                 {Color3.fromRGB(255, 100, 100), Color3.fromRGB(100, 255, 100), Color3.fromRGB(100, 100, 255)}
  675.             )
  676.             wait(0.5)
  677.         end
  678.     end)
  679.  
  680.     wait(3)
  681.  
  682.  
  683.     spawn(function()
  684.         wait(3)
  685.  
  686.         local slowDownTime = 1.5
  687.         local startTime = tick()
  688.         local initialSpeed = rotationSpeed
  689.  
  690.         while tick() - startTime < slowDownTime do
  691.             local progress = (tick() - startTime) / slowDownTime
  692.             rotationSpeed = initialSpeed * (1 - progress)^3
  693.             wait(0.01)
  694.         end
  695.  
  696.         isAnimating = false
  697.         rotationSpeed = 0
  698.  
  699.         if rotationConnection then
  700.             rotationConnection:Disconnect()
  701.             rotationConnection = nil
  702.         end
  703.     end)
  704.  
  705.  
  706.     local moveToFinalTween = TweenService:Create(
  707.         rotatingText,
  708.         TweenInfo.new(2.5, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out),
  709.         {Position = UDim2.new(0.5, -150, 0.9, 0)}
  710.     )
  711.     moveToFinalTween:Play()
  712.  
  713.  
  714.     moveToFinalTween.Completed:Wait()
  715.  
  716.  
  717.     local fadeOutTween = TweenService:Create(
  718.         rotatingText,
  719.         TweenInfo.new(0.8, Enum.EasingStyle.Quad),
  720.         {TextTransparency = 1}
  721.     )
  722.  
  723.     local glowFadeOut = TweenService:Create(
  724.         textGlow,
  725.         TweenInfo.new(0.8, Enum.EasingStyle.Quad),
  726.         {Transparency = 1}
  727.     )
  728.  
  729.     fadeOutTween:Play()
  730.     glowFadeOut:Play()
  731.     fadeOutTween.Completed:Wait()
  732.  
  733.  
  734.     for i, wordData in ipairs(titleLabels) do
  735.         soundEffects.word:Play()
  736.  
  737.         createDynamicParticleExplosion(
  738.             {X = wordData.container.AbsolutePosition.X + 50, Y = wordData.container.AbsolutePosition.Y + 50},
  739.             25,
  740.             {Color3.fromRGB(255, 120, 120), Color3.fromRGB(255, 80, 80)}
  741.         )
  742.  
  743.         local appearTween = TweenService:Create(
  744.             wordData.label,
  745.             TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  746.             {TextTransparency = 0, Size = UDim2.new(1.2, 0, 1.2, 0)}
  747.         )
  748.  
  749.         local strokeTween = TweenService:Create(
  750.             wordData.stroke,
  751.             TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  752.             {Transparency = 0.3}
  753.         )
  754.  
  755.         local scaleTween = TweenService:Create(
  756.             wordData.container,
  757.             TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  758.             {Size = UDim2.new(0, 110, 0, 110)}
  759.         )
  760.  
  761.         appearTween:Play()
  762.         strokeTween:Play()
  763.         scaleTween:Play()
  764.  
  765.         spawn(function()
  766.             wait(0.2)
  767.             local bounceBack = TweenService:Create(
  768.                 wordData.label,
  769.                 TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  770.                 {Size = UDim2.new(1, 0, 1, 0)}
  771.             )
  772.             bounceBack:Play()
  773.         end)
  774.  
  775.         wait(0.25)
  776.     end
  777.  
  778.     wait(1.5)
  779.  
  780.  
  781.     playButton.Visible = true
  782.  
  783.     createDynamicParticleExplosion(
  784.         {X = playButton.AbsolutePosition.X + 125, Y = playButton.AbsolutePosition.Y + 40},
  785.         40,
  786.         {Color3.fromRGB(0, 255, 0), Color3.fromRGB(100, 255, 100)}
  787.     )
  788.  
  789.     local buttonAppearTween = TweenService:Create(
  790.         playButton,
  791.         TweenInfo.new(0.8, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out),
  792.         {Size = UDim2.new(0, 280, 0, 90)}
  793.     )
  794.     buttonAppearTween:Play()
  795.  
  796.     local hoverConnection
  797.     hoverConnection = playButton.MouseEnter:Connect(function()
  798.         local hoverTween = TweenService:Create(
  799.             playButton,
  800.             TweenInfo.new(0.2, Enum.EasingStyle.Quad),
  801.             {Size = UDim2.new(0, 300, 0, 95), BackgroundColor3 = Color3.fromRGB(0, 220, 0)}
  802.         )
  803.         hoverTween:Play()
  804.     end)
  805.  
  806.     playButton.MouseLeave:Connect(function()
  807.         local leaveTween = TweenService:Create(
  808.             playButton,
  809.             TweenInfo.new(0.2, Enum.EasingStyle.Quad),
  810.             {Size = UDim2.new(0, 280, 0, 90), BackgroundColor3 = Color3.fromRGB(0, 180, 0)}
  811.         )
  812.         leaveTween:Play()
  813.     end)
  814. end
  815.  
  816. local function createAdvancedShatterEffect()
  817.     local originalSize = playButton.Size
  818.     local originalPos = playButton.Position
  819.     local buttonWidth = originalSize.X.Offset
  820.     local buttonHeight = originalSize.Y.Offset
  821.  
  822.     local function createShockwave(centerX, centerY, radius, color)
  823.         local shockwave = Instance.new("Frame")
  824.         shockwave.Size = UDim2.new(0, 0, 0, 0)
  825.         shockwave.Position = UDim2.new(0, centerX, 0, centerY)
  826.         shockwave.BackgroundTransparency = 0.5
  827.         shockwave.BackgroundColor3 = color
  828.         shockwave.BorderSizePixel = 0
  829.         shockwave.AnchorPoint = Vector2.new(0.5, 0.5)
  830.         shockwave.Parent = backgroundFrame
  831.  
  832.         local corner = Instance.new("UICorner")
  833.         corner.CornerRadius = UDim.new(1, 0)
  834.         corner.Parent = shockwave
  835.  
  836.         local expandTween = TweenService:Create(
  837.             shockwave,
  838.             TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  839.             {
  840.                 Size = UDim2.new(0, radius * 2, 0, radius * 2),
  841.                 BackgroundTransparency = 1
  842.             }
  843.         )
  844.         expandTween:Play()
  845.  
  846.         Debris:AddItem(shockwave, 1.5)
  847.     end
  848.  
  849.     local function createCrackLine(startX, startY, endX, endY, thickness)
  850.         local crack = Instance.new("Frame")
  851.         local length = math.sqrt((endX - startX)^2 + (endY - startY)^2)
  852.         local angle = math.deg(math.atan2(endY - startY, endX - startX))
  853.  
  854.         crack.Size = UDim2.new(0, length, 0, thickness)
  855.         crack.Position = UDim2.new(0, startX, 0, startY)
  856.         crack.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  857.         crack.BorderSizePixel = 0
  858.         crack.BackgroundTransparency = 0
  859.         crack.Rotation = angle
  860.         crack.AnchorPoint = Vector2.new(0, 0.5)
  861.         crack.ZIndex = 15
  862.         crack.Parent = playButton
  863.  
  864.         local appearTween = TweenService:Create(
  865.             crack,
  866.             TweenInfo.new(0.1, Enum.EasingStyle.Quad),
  867.             {BackgroundTransparency = 0}
  868.         )
  869.         appearTween:Play()
  870.  
  871.         return crack
  872.     end
  873.  
  874.     local allCracks = {}
  875.     local shatterPhases = 6
  876.  
  877.     spawn(function()
  878.         for phase = 1, shatterPhases do
  879.             soundEffects.shatter:Play()
  880.  
  881.             createShockwave(
  882.                 originalPos.X.Offset + buttonWidth/2,
  883.                 originalPos.Y.Offset + buttonHeight/2,
  884.                 50 + phase * 30,
  885.                 Color3.fromRGB(255, 100 - phase * 10, 100 - phase * 10)
  886.             )
  887.  
  888.             local newCracks = {}
  889.             local cracksPerPhase = math.random(8, 12)
  890.  
  891.             for i = 1, cracksPerPhase do
  892.                 local startX, startY, endX, endY
  893.  
  894.                 if phase <= 2 then
  895.                     startX = math.random(0, buttonWidth/2)
  896.                     startY = math.random(0, buttonHeight/2)
  897.                     endX = math.random(buttonWidth/2, buttonWidth)
  898.                     endY = math.random(buttonHeight/2, buttonHeight)
  899.                 elseif phase <= 4 then
  900.                     local centerX, centerY = buttonWidth/2, buttonHeight/2
  901.                     local angle = math.random(0, 360)
  902.                     local radius = math.random(20, 60)
  903.                     startX = centerX
  904.                     startY = centerY
  905.                     endX = centerX + math.cos(math.rad(angle)) * radius
  906.                     endY = centerY + math.sin(math.rad(angle)) * radius
  907.                 else
  908.                     startX = math.random(0, buttonWidth)
  909.                     startY = math.random(0, buttonHeight)
  910.                     endX = math.random(0, buttonWidth)
  911.                     endY = math.random(0, buttonHeight)
  912.                 end
  913.  
  914.                 local crack = createCrackLine(startX, startY, endX, endY, math.random(2, 5))
  915.                 table.insert(newCracks, crack)
  916.             end
  917.  
  918.             for _, crack in ipairs(newCracks) do
  919.                 table.insert(allCracks, crack)
  920.             end
  921.  
  922.             for shake = 1, 15 do
  923.                 playButton.Position = UDim2.new(
  924.                     originalPos.X.Scale,
  925.                     originalPos.X.Offset + math.random(-6, 6),
  926.                     originalPos.Y.Scale,
  927.                     originalPos.Y.Offset + math.random(-6, 6)
  928.                 )
  929.                 playButton.Rotation = math.random(-2, 2)
  930.                 wait(0.03)
  931.             end
  932.  
  933.             playButton.Position = originalPos
  934.             playButton.Rotation = 0
  935.             wait(0.2)
  936.         end
  937.  
  938.         wait(0.8)
  939.         soundEffects.broke:Play()
  940.  
  941.         createDynamicParticleExplosion(
  942.             {X = originalPos.X.Offset + buttonWidth/2, Y = originalPos.Y.Offset + buttonHeight/2},
  943.             100,
  944.             {Color3.fromRGB(0, 200, 0), Color3.fromRGB(50, 255, 50), Color3.fromRGB(0, 150, 0)}
  945.         )
  946.  
  947.         for _, crack in ipairs(allCracks) do
  948.             crack:Destroy()
  949.         end
  950.  
  951.         local shatterPieces = {}
  952.         local buttonX = originalPos.X.Offset
  953.         local buttonY = originalPos.Y.Offset
  954.         local centerX = buttonX + buttonWidth / 2
  955.         local centerY = buttonY + buttonHeight / 2
  956.  
  957.         local function createGlassFragment(x, y, width, height, shape)
  958.             local piece = Instance.new("Frame")
  959.             piece.Size = UDim2.new(0, width, 0, height)
  960.             piece.Position = UDim2.new(0, x, 0, y)
  961.             piece.BackgroundColor3 = Color3.fromRGB(
  962.                 math.random(0, 80),
  963.                 math.random(160, 255),
  964.                 math.random(0, 80)
  965.             )
  966.             piece.BorderSizePixel = 0
  967.             piece.Parent = backgroundFrame
  968.  
  969.             if shape == "triangle" then
  970.                 local points = {
  971.                     Vector2.new(0.5, 0),
  972.                     Vector2.new(0, 1),
  973.                     Vector2.new(1, 1)
  974.                 }
  975.                 local triangle = Instance.new("UICorner")
  976.                 triangle.CornerRadius = UDim.new(0, 2)
  977.                 triangle.Parent = piece
  978.             elseif shape == "hexagon" then
  979.                 local corner = Instance.new("UICorner")
  980.                 corner.CornerRadius = UDim.new(0, math.random(3, 8))
  981.                 corner.Parent = piece
  982.             else
  983.                 local corner = Instance.new("UICorner")
  984.                 corner.CornerRadius = UDim.new(0, math.random(1, 5))
  985.                 corner.Parent = piece
  986.             end
  987.  
  988.             return piece
  989.         end
  990.  
  991.         local fragmentShapes = {"triangle", "hexagon", "rectangle", "square"}
  992.         local fragmentCount = 45
  993.  
  994.         for i = 1, fragmentCount do
  995.             local angle = (i / fragmentCount) * 360 + math.random(-30, 30)
  996.             local distance = math.random(20, 80)
  997.             local x = centerX + math.cos(math.rad(angle)) * distance
  998.             local y = centerY + math.sin(math.rad(angle)) * distance
  999.  
  1000.             local shape = fragmentShapes[math.random(1, #fragmentShapes)]
  1001.             local width = math.random(8, 25)
  1002.             local height = math.random(8, 25)
  1003.  
  1004.             local piece = createGlassFragment(x, y, width, height, shape)
  1005.             table.insert(shatterPieces, piece)
  1006.         end
  1007.  
  1008.         playButton.Visible = false
  1009.  
  1010.         for i, piece in ipairs(shatterPieces) do
  1011.             local delay = (i - 1) * 0.03
  1012.  
  1013.             spawn(function()
  1014.                 wait(delay)
  1015.  
  1016.                 local centerDistance = math.sqrt((piece.Position.X.Offset - centerX)^2 + (piece.Position.Y.Offset - centerY)^2)
  1017.                 local direction = math.atan2(piece.Position.Y.Offset - centerY, piece.Position.X.Offset - centerX)
  1018.  
  1019.                 local fallDistance = 500 + math.random(0, 300)
  1020.                 local fallX = piece.Position.X.Offset + math.cos(direction) * fallDistance
  1021.                 local fallY = piece.Position.Y.Offset + math.sin(direction) * fallDistance + 400
  1022.  
  1023.                 local fallSpeed = math.random(200, 350) / 100
  1024.                 local rotationAmount = math.random(-900, 900)
  1025.  
  1026.                 local fallTween = TweenService:Create(
  1027.                     piece,
  1028.                     TweenInfo.new(fallSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1029.                     {
  1030.                         Position = UDim2.new(0, fallX, 0, fallY),
  1031.                         Rotation = rotationAmount,
  1032.                         Size = UDim2.new(0, piece.Size.X.Offset * 0.2, 0, piece.Size.Y.Offset * 0.2),
  1033.                         BackgroundTransparency = 1
  1034.                     }
  1035.                 )
  1036.  
  1037.                 fallTween:Play()
  1038.             end)
  1039.         end
  1040.  
  1041.         spawn(function()
  1042.             wait(5)
  1043.             for _, piece in ipairs(shatterPieces) do
  1044.                 if piece.Parent then
  1045.                     piece:Destroy()
  1046.                 end
  1047.             end
  1048.         end)
  1049.  
  1050.  
  1051.         spawn(function()
  1052.             wait(1.5)
  1053.             for i = 1, 8 do
  1054.                 createDynamicParticleExplosion(
  1055.                     {X = math.random(200, 1720), Y = math.random(200, 880)},
  1056.                     20,
  1057.                     {Color3.fromRGB(0, 255, 0), Color3.fromRGB(150, 255, 150), Color3.fromRGB(50, 200, 50)}
  1058.                 )
  1059.                 wait(0.3)
  1060.             end
  1061.         end)
  1062.  
  1063.  
  1064.         local distortionFrames = {}
  1065.         for i = 1, 12 do
  1066.             local distortion = Instance.new("Frame")
  1067.             distortion.Size = UDim2.new(0, math.random(50, 200), 0, math.random(20, 100))
  1068.             distortion.Position = UDim2.new(math.random(), 0, math.random(), 0)
  1069.             distortion.BackgroundColor3 = Color3.fromRGB(
  1070.                 math.random(0, 100),
  1071.                 math.random(150, 255),
  1072.                 math.random(0, 100)
  1073.             )
  1074.             distortion.BorderSizePixel = 0
  1075.             distortion.BackgroundTransparency = 0.4
  1076.             distortion.Parent = backgroundFrame
  1077.  
  1078.             local distortionCorner = Instance.new("UICorner")
  1079.             distortionCorner.CornerRadius = UDim.new(0, math.random(5, 15))
  1080.             distortionCorner.Parent = distortion
  1081.  
  1082.             table.insert(distortionFrames, distortion)
  1083.  
  1084.             local glitchTween = TweenService:Create(
  1085.                 distortion,
  1086.                 TweenInfo.new(math.random(100, 300) / 100, Enum.EasingStyle.Quart, Enum.EasingDirection.Out),
  1087.                 {
  1088.                     Position = UDim2.new(
  1089.                         distortion.Position.X.Scale + (math.random() - 0.5) * 2,
  1090.                         0,
  1091.                         distortion.Position.Y.Scale + (math.random() - 0.5) * 2,
  1092.                         0
  1093.                     ),
  1094.                     BackgroundTransparency = 1,
  1095.                     Rotation = math.random(-180, 180),
  1096.                     Size = UDim2.new(0, 0, 0, 0)
  1097.                 }
  1098.             )
  1099.             glitchTween:Play()
  1100.         end
  1101.  
  1102.  
  1103.         spawn(function()
  1104.             wait(4)
  1105.             for _, frame in ipairs(distortionFrames) do
  1106.                 if frame.Parent then
  1107.                     frame:Destroy()
  1108.                 end
  1109.             end
  1110.         end)
  1111.     end)
  1112. end
  1113.  
  1114.  
  1115. local function createScreenShake(intensity, duration)
  1116.     local originalPosition = backgroundFrame.Position
  1117.     local shakeConnection
  1118.     local shakeTime = 0
  1119.  
  1120.     shakeConnection = RunService.Heartbeat:Connect(function(deltaTime)
  1121.         shakeTime = shakeTime + deltaTime
  1122.  
  1123.         if shakeTime >= duration then
  1124.             backgroundFrame.Position = originalPosition
  1125.             shakeConnection:Disconnect()
  1126.             return
  1127.         end
  1128.  
  1129.         local currentIntensity = intensity * (1 - (shakeTime / duration))
  1130.         local shakeX = (math.random() - 0.5) * currentIntensity * 20
  1131.         local shakeY = (math.random() - 0.5) * currentIntensity * 20
  1132.  
  1133.         backgroundFrame.Position = UDim2.new(
  1134.             originalPosition.X.Scale,
  1135.             originalPosition.X.Offset + shakeX,
  1136.             originalPosition.Y.Scale,
  1137.             originalPosition.Y.Offset + shakeY
  1138.         )
  1139.     end)
  1140. end
  1141.  
  1142.  
  1143. local buttonHoverConnections = {}
  1144.  
  1145. local function setupButtonHoverEffects()
  1146.  
  1147.     local pulseRing = Instance.new("Frame")
  1148.     pulseRing.Size = UDim2.new(0, 300, 0, 100)
  1149.     pulseRing.Position = UDim2.new(0.5, -150, 0.75, -10)
  1150.     pulseRing.BackgroundTransparency = 1
  1151.     pulseRing.BorderSizePixel = 0
  1152.     pulseRing.Parent = backgroundFrame
  1153.  
  1154.     local pulseStroke = Instance.new("UIStroke")
  1155.     pulseStroke.Color = Color3.fromRGB(0, 255, 0)
  1156.     pulseStroke.Thickness = 0
  1157.     pulseStroke.Transparency = 1
  1158.     pulseStroke.Parent = pulseRing
  1159.  
  1160.     local pulseCorner = Instance.new("UICorner")
  1161.     pulseCorner.CornerRadius = UDim.new(0, 20)
  1162.     pulseCorner.Parent = pulseRing
  1163.  
  1164.  
  1165.     buttonHoverConnections.enter = playButton.MouseEnter:Connect(function()
  1166.         soundEffects.word:Play()
  1167.  
  1168.         createDynamicParticleExplosion(
  1169.             {X = playButton.AbsolutePosition.X + 140, Y = playButton.AbsolutePosition.Y + 45},
  1170.             15,
  1171.             {Color3.fromRGB(0, 255, 0), Color3.fromRGB(100, 255, 100), Color3.fromRGB(150, 255, 150)}
  1172.         )
  1173.  
  1174.         local buttonHoverTween = TweenService:Create(
  1175.             playButton,
  1176.             TweenInfo.new(0.3, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out),
  1177.             {
  1178.                 Size = UDim2.new(0, 320, 0, 105),
  1179.                 BackgroundColor3 = Color3.fromRGB(50, 255, 50),
  1180.                 Rotation = 2
  1181.             }
  1182.         )
  1183.         buttonHoverTween:Play()
  1184.  
  1185.         local pulseAnimation = TweenService:Create(
  1186.             pulseStroke,
  1187.             TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.Out),
  1188.             {Thickness = 4, Transparency = 0.3}
  1189.         )
  1190.         pulseAnimation:Play()
  1191.  
  1192.         local buttonTextGlow = TweenService:Create(
  1193.             playButton,
  1194.             TweenInfo.new(0.3, Enum.EasingStyle.Quad),
  1195.             {TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(255, 255, 255)}
  1196.         )
  1197.         buttonTextGlow:Play()
  1198.     end)
  1199.  
  1200.     buttonHoverConnections.leave = playButton.MouseLeave:Connect(function()
  1201.         local buttonLeaveTween = TweenService:Create(
  1202.             playButton,
  1203.             TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  1204.             {
  1205.                 Size = UDim2.new(0, 280, 0, 90),
  1206.                 BackgroundColor3 = Color3.fromRGB(0, 180, 0),
  1207.                 Rotation = 0
  1208.             }
  1209.         )
  1210.         buttonLeaveTween:Play()
  1211.  
  1212.         local pulseReset = TweenService:Create(
  1213.             pulseStroke,
  1214.             TweenInfo.new(0.3, Enum.EasingStyle.Quad),
  1215.             {Thickness = 0, Transparency = 1}
  1216.         )
  1217.         pulseReset:Play()
  1218.  
  1219.         local textGlowReset = TweenService:Create(
  1220.             playButton,
  1221.             TweenInfo.new(0.2, Enum.EasingStyle.Quad),
  1222.             {TextStrokeTransparency = 1}
  1223.         )
  1224.         textGlowReset:Play()
  1225.     end)
  1226. end
  1227.  
  1228.  
  1229. local function createAdvancedLightingEffects()
  1230.  
  1231.     local lightSources = {}
  1232.  
  1233.     for i = 1, 6 do
  1234.         local lightSource = Instance.new("Frame")
  1235.         lightSource.Size = UDim2.new(0, math.random(100, 300), 0, math.random(100, 300))
  1236.         lightSource.Position = UDim2.new(math.random(), 0, math.random(), 0)
  1237.         lightSource.BackgroundTransparency = 0.85
  1238.         lightSource.BorderSizePixel = 0
  1239.         lightSource.Parent = backgroundFrame
  1240.  
  1241.         local lightGradient = Instance.new("UIGradient")
  1242.         lightGradient.Color = ColorSequence.new{
  1243.             ColorSequenceKeypoint.new(0, Color3.fromHSV(math.random(200, 300) / 360, 0.8, 1)),
  1244.             ColorSequenceKeypoint.new(0.5, Color3.fromHSV(math.random(200, 300) / 360, 0.6, 0.8)),
  1245.             ColorSequenceKeypoint.new(1, Color3.fromHSV(math.random(200, 300) / 360, 0.4, 0.6))
  1246.         }
  1247.         lightGradient.Transparency = NumberSequence.new{
  1248.             NumberSequenceKeypoint.new(0, 1),
  1249.             NumberSequenceKeypoint.new(0.3, 0.7),
  1250.             NumberSequenceKeypoint.new(0.7, 0.8),
  1251.             NumberSequenceKeypoint.new(1, 1)
  1252.         }
  1253.         lightGradient.Parent = lightSource
  1254.  
  1255.         local lightCorner = Instance.new("UICorner")
  1256.         lightCorner.CornerRadius = UDim.new(1, 0)
  1257.         lightCorner.Parent = lightSource
  1258.  
  1259.         table.insert(lightSources, {element = lightSource, gradient = lightGradient})
  1260.  
  1261.  
  1262.         local lightMoveTween = TweenService:Create(
  1263.             lightSource,
  1264.             TweenInfo.new(math.random(8, 15), Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true),
  1265.             {
  1266.                 Position = UDim2.new(
  1267.                     math.random() * 0.8 + 0.1,
  1268.                     0,
  1269.                     math.random() * 0.8 + 0.1,
  1270.                     0
  1271.                 ),
  1272.                 Size = UDim2.new(
  1273.                     0,
  1274.                     lightSource.Size.X.Offset + math.random(-50, 50),
  1275.                     0,
  1276.                     lightSource.Size.Y.Offset + math.random(-50, 50)
  1277.                 )
  1278.             }
  1279.         )
  1280.         lightMoveTween:Play()
  1281.  
  1282.         local lightRotationTween = TweenService:Create(
  1283.             lightGradient,
  1284.             TweenInfo.new(math.random(5, 10), Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1),
  1285.             {Rotation = 360}
  1286.         )
  1287.         lightRotationTween:Play()
  1288.     end
  1289.  
  1290.     return lightSources
  1291. end
  1292.  
  1293. local hasBeenClicked = false
  1294. playButton.MouseButton1Click:Connect(function()
  1295.     if hasBeenClicked then
  1296.         return
  1297.     end
  1298.     hasBeenClicked = true
  1299.  
  1300.     playButton.Active = false
  1301.     for _, connection in pairs(buttonHoverConnections) do
  1302.         connection:Disconnect()
  1303.     end
  1304.     local musicFadeOut = TweenService:Create(
  1305.         soundEffects.theme,
  1306.         TweenInfo.new(1.5, Enum.EasingStyle.Quad),
  1307.         {Volume = 0}
  1308.     )
  1309.     musicFadeOut:Play()
  1310.     musicFadeOut.Completed:Connect(function()
  1311.         soundEffects.theme:Stop()
  1312.     end)
  1313.     createScreenShake(1, 3)
  1314.     local warningText = Instance.new("TextLabel")
  1315.     warningText.Size = UDim2.new(0, 400, 0, 60)
  1316.     warningText.Position = UDim2.new(0.5, -200, 0.2, 0)
  1317.     warningText.BackgroundTransparency = 1
  1318.     warningText.Text = "SYSTEM OVERLOAD!"
  1319.     warningText.TextColor3 = Color3.fromRGB(255, 50, 50)
  1320.     warningText.TextScaled = true
  1321.     warningText.Font = Enum.Font.GothamBold
  1322.     warningText.TextStrokeTransparency = 0.3
  1323.     warningText.TextStrokeColor3 = Color3.fromRGB(255, 255, 255)
  1324.     warningText.TextTransparency = 1
  1325.     warningText.Parent = backgroundFrame
  1326.     local warningAppear = TweenService:Create(
  1327.         warningText,
  1328.         TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
  1329.         {TextTransparency = 0, Size = UDim2.new(0, 450, 0, 70)}
  1330.     )
  1331.     warningAppear:Play()
  1332.     spawn(function()
  1333.         for i = 1, 10 do
  1334.             local flash = TweenService:Create(
  1335.                 warningText,
  1336.                 TweenInfo.new(0.1, Enum.EasingStyle.Quad),
  1337.                 {TextColor3 = Color3.fromRGB(255, 255, 0)}
  1338.             )
  1339.             flash:Play()
  1340.             wait(0.1)
  1341.             local flashBack = TweenService:Create(
  1342.                 warningText,
  1343.                 TweenInfo.new(0.1, Enum.EasingStyle.Quad),
  1344.                 {TextColor3 = Color3.fromRGB(255, 50, 50)}
  1345.             )
  1346.             flashBack:Play()
  1347.             wait(0.1)
  1348.         end
  1349.         local warningFade = TweenService:Create(
  1350.             warningText,
  1351.             TweenInfo.new(0.5, Enum.EasingStyle.Quad),
  1352.             {TextTransparency = 1}
  1353.         )
  1354.         warningFade:Play()
  1355.     end)
  1356.     createAdvancedShatterEffect()
  1357.     local lightingSources = createAdvancedLightingEffects()
  1358.     spawn(function()
  1359.         for i = 1, 50 do
  1360.             createDynamicParticleExplosion(
  1361.                 {X = math.random(100, 1820), Y = math.random(100, 980)},
  1362.                 math.random(20, 40),
  1363.                 {
  1364.                     Color3.fromRGB(255, math.random(0, 100), math.random(0, 100)),
  1365.                     Color3.fromRGB(math.random(0, 100), 255, math.random(0, 100)),
  1366.                     Color3.fromRGB(math.random(0, 100), math.random(0, 100), 255),
  1367.                     Color3.fromRGB(255, 255, 255)
  1368.                 }
  1369.             )
  1370.             wait(0.1)
  1371.         end
  1372.     end)
  1373.     if particleConnection then
  1374.         particleConnection:Disconnect()
  1375.     end
  1376.     wait(8)
  1377.     whiteScreen.Visible = true
  1378.     whiteScreen.BackgroundTransparency = 1
  1379.     whiteScreen.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1380.     local epicFlash = TweenService:Create(
  1381.         whiteScreen,
  1382.         TweenInfo.new(0.05, Enum.EasingStyle.Quad),
  1383.         {BackgroundTransparency = 0}
  1384.     )
  1385.     epicFlash:Play()
  1386.     wait(1)
  1387.     local finalFade = TweenService:Create(
  1388.         whiteScreen,
  1389.         TweenInfo.new(3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  1390.         {BackgroundTransparency = 1}
  1391.     )
  1392.     finalFade:Play()
  1393.     spawn(function()
  1394.         wait(1)
  1395.         for _, sound in pairs(soundEffects) do
  1396.             if sound.IsPlaying then
  1397.                 sound:Stop()
  1398.             end
  1399.         end
  1400.         for _, lightData in ipairs(lightingSources) do
  1401.             if lightData.element.Parent then
  1402.                 lightData.element:Destroy()
  1403.             end
  1404.         end
  1405.         local backgroundFinalFade = TweenService:Create(
  1406.             backgroundFrame,
  1407.             TweenInfo.new(2, Enum.EasingStyle.Quad),
  1408.             {BackgroundTransparency = 1}
  1409.         )
  1410.         backgroundFinalFade:Play()
  1411.     end)
  1412.     finalFade.Completed:Wait()
  1413.     wait(1)
  1414.     screenGui:Destroy()
  1415. end)
  1416.  
  1417.  
  1418. spawn(startWelcomeSequence)
  1419. setupButtonHoverEffects()
  1420. return module
  1421.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement