-- // Финальное геймерское интро с авто-экзекутом дополнения и основного скрипта (Luau) local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local SoundService = game:GetService("SoundService") local LocalPlayer = Players.LocalPlayer -- Очистка старой GUI и звуков, если они оставались if CoreGui:FindFirstChild("GamerIntroGui") then CoreGui.GamerIntroGui:Destroy() end if SoundService:FindFirstChild("IntroSoundContainer") then SoundService.IntroSoundContainer:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "GamerIntroGui" screenGui.ResetOnSpawn = false screenGui.Parent = CoreGui -- ========================== -- 1. НАСТРОЙКА ЗВУКОВ С ПЛАВНОСТЬЮ ГРОМКОСТИ -- ========================== local soundContainer = Instance.new("Folder") soundContainer.Name = "IntroSoundContainer" soundContainer.Parent = SoundService -- Звук 1: Появление (Garry's Mod Spawn Sound) local spawnSound = Instance.new("Sound") spawnSound.SoundId = "rbxassetid://124965804991864" spawnSound.Volume = 0 spawnSound.Parent = soundContainer -- Звук 2: Уход (Roblox Spawn Sound) local outroSound = Instance.new("Sound") outroSound.SoundId = "rbxassetid://137935424222814" outroSound.Volume = 0 outroSound.Parent = soundContainer -- ========================== -- 2. СОЗДАНИЕ ТЕКСТОВ -- ========================== local mainText = Instance.new("TextLabel") mainText.Name = "MainText" mainText.Size = UDim2.new(0, 1200, 0, 200) mainText.AnchorPoint = Vector2.new(0.5, 0.5) mainText.Position = UDim2.new(-0.3, 0, 0.45, 0) mainText.BackgroundTransparency = 1 mainText.Text = "HorrorMode🌒" mainText.TextSize = 20 mainText.TextTransparency = 1 mainText.TextColor3 = Color3.fromRGB(255, 255, 255) local mainStroke = Instance.new("UIStroke") mainStroke.Thickness = 5 mainStroke.Transparency = 1 mainStroke.Color = Color3.fromRGB(0, 0, 0) mainStroke.Parent = mainText local mainGradient = Instance.new("UIGradient") mainGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(20, 20, 20)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)) }) mainGradient.Parent = mainText mainText.Parent = screenGui local subText = Instance.new("TextLabel") subText.Name = "SubText" subText.Size = UDim2.new(0, 800, 0, 100) subText.AnchorPoint = Vector2.new(0.5, 0.5) subText.Position = UDim2.new(-0.3, 0, 0.65, 0) subText.BackgroundTransparency = 1 subText.Text = "By MaginLoren" subText.TextSize = 10 subText.TextTransparency = 1 subText.TextColor3 = Color3.fromRGB(255, 255, 255) local subStroke = Instance.new("UIStroke") subStroke.Thickness = 3 subStroke.Transparency = 1 subStroke.Color = Color3.fromRGB(0, 0, 0) subStroke.Parent = subText local subGradient = Instance.new("UIGradient") subGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(20, 20, 20)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0)) }) subGradient.Parent = subText subText.Parent = screenGui -- Список шрифтов через правильный Enum для глитча local glitchFonts = { Enum.Font.SourceSansBold, Enum.Font.Code, Enum.Font.Antique, Enum.Font.Fantasy, Enum.Font.SciFi, Enum.Font.Bodoni, Enum.Font.Arcade } -- ========================== -- 3. ЗАПУСК АНИМАЦИИ И ЗВУКОВ -- ========================== task.spawn(function() local introDuration = 1.2 local holdDuration = 2.0 local outroDuration = 1.2 spawnSound:Play() -- ФАЗА 1: ПОЯВЛЕНИЕ local startTime = tick() while tick() - startTime < introDuration do local alpha = (tick() - startTime) / introDuration local easeAlpha = 1 - math.pow(1 - alpha, 3) spawnSound.Volume = math.clamp(easeAlpha * 1.5, 0, 1.5) -- Главный текст local curMainX = -0.3 + (0.5 - (-0.3)) * easeAlpha local curMainY = 0.45 + (0.43 - 0.45) * easeAlpha - (math.sin(easeAlpha * math.pi) * 0.05) mainText.Position = UDim2.new(curMainX, 0, curMainY, 0) mainText.TextSize = math.floor(20 + (144 - 20) * easeAlpha) local transMain = 1 - easeAlpha mainText.TextTransparency = transMain mainStroke.Transparency = transMain -- Подтекст local subAlpha = math.clamp((alpha - 0.15) / 0.85, 0, 1) local subEase = 1 - math.pow(1 - subAlpha, 3) if subAlpha > 0 then local curSubX = -0.3 + (0.5 - (-0.3)) * subEase local curSubY = 0.65 + (0.57 - 0.65) * subEase - (math.sin(subEase * math.pi) * 0.05) subText.Position = UDim2.new(curSubX, 0, curSubY, 0) subText.TextSize = math.floor(10 + (50 - 10) * subEase) local transSub = 1 - subEase subText.TextTransparency = transSub subStroke.Transparency = transSub end -- Глитч шрифтов до момента остановки if alpha < 0.7 then local randFont = glitchFonts[math.random(1, #glitchFonts - 1)] mainText.Font = randFont subText.Font = randFont else local finalFont = glitchFonts[#glitchFonts] mainText.Font = finalFont subText.Font = finalFont end mainGradient.Offset = Vector2.new(math.sin(tick() * 8) * 0.5, 0) subGradient.Offset = Vector2.new(math.sin(tick() * 8) * 0.5, 0) task.wait() end -- Жесткая фиксация в центре mainText.Position = UDim2.new(0.5, 0, 0.43, 0) mainText.TextSize = 144 mainText.TextTransparency = 0 mainStroke.Transparency = 0 mainText.Font = glitchFonts[#glitchFonts] subText.Position = UDim2.new(0.5, 0, 0.57, 0) subText.TextSize = 50 subText.TextTransparency = 0 subStroke.Transparency = 0 subText.Font = glitchFonts[#glitchFonts] -- ФАЗА 2: УДЕРЖАНИЕ local holdStart = tick() while tick() - holdStart < holdDuration do local holdAlpha = (tick() - holdStart) / holdDuration spawnSound.Volume = math.clamp(1.5 * (1 - holdAlpha), 0, 1.5) mainGradient.Offset = Vector2.new(math.sin(tick() * 6) * 0.7, math.cos(tick() * 4) * 0.2) subGradient.Offset = Vector2.new(math.sin(tick() * 6) * 0.7, math.cos(tick() * 4) * 0.2) task.wait() end spawnSound:Stop() outroSound:Play() -- ФАЗА 3: УХОД local outroStart = tick() while tick() - outroStart < outroDuration do local alpha = (tick() - outroStart) / outroDuration local easeAlpha = alpha * alpha if alpha < 0.5 then outroSound.Volume = math.clamp(alpha * 3, 0, 1.5) else outroSound.Volume = math.clamp(1.5 * (1 - alpha), 0, 1.5) end local curMainX = 0.5 + (1.3 - 0.5) * easeAlpha local curMainY = 0.43 + (0.35 - 0.43) * easeAlpha mainText.Position = UDim2.new(curMainX, 0, curMainY, 0) mainText.TextSize = math.floor(144 - (144 - 20) * easeAlpha) mainText.TextTransparency = easeAlpha mainStroke.Transparency = easeAlpha local subOutAlpha = math.clamp((alpha - 0.15) / 0.85, 0, 1) local subOutEase = subOutAlpha * subOutAlpha if subOutAlpha > 0 then local curSubX = 0.5 + (1.3 - 0.5) * subOutEase local curSubY = 0.57 + (0.45 - 0.57) * subOutEase subText.Position = UDim2.new(curSubX, 0, curSubY, 0) subText.TextSize = math.floor(50 - (50 - 10) * subOutEase) subText.TextTransparency = subOutAlpha subStroke.Transparency = subOutAlpha end mainGradient.Offset = Vector2.new(math.sin(tick() * 8) * 0.5, 0) subGradient.Offset = Vector2.new(math.sin(tick() * 8) * 0.5, 0) task.wait() end outroSound:Stop() -- Полная очистка GUI и звуков после окончания анимации screenGui:Destroy() soundContainer:Destroy() -- ========================== -- 4. АВТО-ЭКЗЕКУТ (ДОПОЛНЕНИЕ + ОСНОВНОЙ) ПОСЛЕ ИНТРО -- ========================== task.spawn(function() -- 1. Дополнение loadstring(game:HttpGet("https://pastebin.com/raw/nSbLWcqS"))() -- 2. Основной скрипт loadstring(game:HttpGet("https://pastebin.com/raw/qvTNNz9s"))() end) end)