-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- zenith.lol welcome | silver/white theme | discord promo local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local CoreGui = game:GetService("CoreGui") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local parentGui = (gethui and gethui()) or CoreGui or player:WaitForChild("PlayerGui") if parentGui:FindFirstChild("ZenithWelcomeUI") then parentGui.ZenithWelcomeUI:Destroy() end UserInputService.MouseIconEnabled = false local DISCORD_CODE = "jaUqg4vNHw" local DISCORD_URL = "https://discord.gg/" .. DISCORD_CODE local function openDiscord() local fullUrl = DISCORD_URL local copyFunc = setclipboard or toclipboard or (syn and syn.write_clipboard) if copyFunc then pcall(copyFunc, fullUrl) end local reqFunc = request or (syn and syn.request) or (http and http.request) or (fluxus and fluxus.request) if reqFunc then pcall(reqFunc, { Url = "http://127.0.0.1:6463/rpc?v=1", Method = "POST", Headers = { ["Content-Type"] = "application/json", ["Origin"] = "https://discord.com", }, Body = HttpService:JSONEncode({ cmd = "INVITE_BROWSER", args = { code = DISCORD_CODE }, nonce = HttpService:GenerateGUID(false), }), Timeout = 2, }) end end local gui = Instance.new("ScreenGui") gui.Name = "ZenithWelcomeUI" gui.DisplayOrder = 9999999 gui.IgnoreGuiInset = true gui.ResetOnSpawn = false gui.Parent = parentGui local mainContainer = Instance.new("Frame") mainContainer.Size = UDim2.new(1, 0, 1, 0) mainContainer.BackgroundTransparency = 1 mainContainer.Parent = gui local bg = Instance.new("Frame") bg.Size = UDim2.new(1, 0, 1, 0) bg.BackgroundColor3 = Color3.fromRGB(8, 8, 10) bg.BackgroundTransparency = 1 bg.ZIndex = 1 bg.Parent = mainContainer local starsFrame = Instance.new("Frame") starsFrame.Size = UDim2.new(1, 0, 1, 0) starsFrame.BackgroundTransparency = 1 starsFrame.ZIndex = 2 starsFrame.Parent = bg local trailFrame = Instance.new("Frame") trailFrame.Size = UDim2.new(1, 0, 1, 0) trailFrame.BackgroundTransparency = 1 trailFrame.ZIndex = 3 trailFrame.Parent = bg local stars = {} for i = 1, 75 do local star = Instance.new("Frame") local size = math.random(2, 3) star.Size = UDim2.new(0, size, 0, size) star.Position = UDim2.new(math.random(), 0, math.random(), 0) star.BackgroundColor3 = Color3.fromRGB(210, 215, 225) star.BackgroundTransparency = math.random(65, 90) / 100 star.BorderSizePixel = 0 star.ZIndex = 2 star.Parent = starsFrame Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0) table.insert(stars, { obj = star, speedY = math.random(10, 20) / 10000, speedX = math.random(-8, 8) / 20000 }) end local starConnection = RunService.RenderStepped:Connect(function(dt) for _, data in ipairs(stars) do local pos = data.obj.Position local newY = pos.Y.Scale - (data.speedY * dt * 60) local newX = pos.X.Scale + (data.speedX * dt * 60) if newY < -0.02 then newY = 1.02 end if newX < -0.02 then newX = 1.02 elseif newX > 1.02 then newX = -0.02 end data.obj.Position = UDim2.new(newX, 0, newY, 0) end end) local crosshair = Instance.new("Frame") crosshair.Size = UDim2.new(0, 42, 0, 42) crosshair.AnchorPoint = Vector2.new(0.5, 0.5) crosshair.BackgroundTransparency = 1 crosshair.ZIndex = 100 crosshair.Parent = bg local centerDot = Instance.new("Frame") centerDot.Size = UDim2.new(0, 4, 0, 4) centerDot.AnchorPoint = Vector2.new(0.5, 0.5) centerDot.Position = UDim2.new(0.5, 0, 0.5, 0) centerDot.BackgroundColor3 = Color3.fromRGB(200, 205, 215) centerDot.BorderSizePixel = 0 centerDot.ZIndex = 102 centerDot.Parent = crosshair Instance.new("UICorner", centerDot).CornerRadius = UDim.new(1, 0) local outerRing = Instance.new("Frame") outerRing.Size = UDim2.new(1, 0, 1, 0) outerRing.AnchorPoint = Vector2.new(0.5, 0.5) outerRing.Position = UDim2.new(0.5, 0, 0.5, 0) outerRing.BackgroundTransparency = 1 outerRing.ZIndex = 100 outerRing.Parent = crosshair local ringStroke = Instance.new("UIStroke") ringStroke.Color = Color3.fromRGB(200, 205, 215) ringStroke.Thickness = 1.5 ringStroke.Transparency = 0.2 ringStroke.Parent = outerRing Instance.new("UICorner", outerRing).CornerRadius = UDim.new(1, 0) local lines = {} local lineConfigs = { Top = {pos = UDim2.new(0.5, 0, 0.5, -12), size = UDim2.new(0, 2, 0, 8)}, Bottom = {pos = UDim2.new(0.5, 0, 0.5, 12), size = UDim2.new(0, 2, 0, 8)}, Left = {pos = UDim2.new(0.5, -12, 0.5, 0), size = UDim2.new(0, 8, 0, 2)}, Right = {pos = UDim2.new(0.5, 12, 0.5, 0), size = UDim2.new(0, 8, 0, 2)}, } for name, cfg in pairs(lineConfigs) do local line = Instance.new("Frame") line.Size = cfg.size line.AnchorPoint = Vector2.new(0.5, 0.5) line.Position = cfg.pos line.BackgroundColor3 = Color3.fromRGB(200, 205, 215) line.BorderSizePixel = 0 line.ZIndex = 101 line.Parent = crosshair Instance.new("UICorner", line).CornerRadius = UDim.new(1, 0) lines[name] = line end local lastMousePos = nil local function drawLineSegment(p1, p2) local dist = (p2 - p1).Magnitude if dist < 2 then return end local angle = math.deg(math.atan2(p2.Y - p1.Y, p2.X - p1.X)) local center = (p1 + p2) / 2 local line = Instance.new("Frame") line.Size = UDim2.new(0, dist, 0, 3) line.Position = UDim2.new(0, center.X, 0, center.Y) line.AnchorPoint = Vector2.new(0.5, 0.5) line.Rotation = angle line.BackgroundColor3 = Color3.fromRGB(180, 185, 195) line.BorderSizePixel = 0 line.ZIndex = 3 line.Parent = trailFrame Instance.new("UICorner", line).CornerRadius = UDim.new(1, 0) local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(230, 235, 245) stroke.Thickness = 2.5 stroke.Transparency = 0.2 stroke.Parent = line local tw = TweenService:Create(line, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 1, Size = UDim2.new(0, dist, 0, 0) }) TweenService:Create(stroke, TweenInfo.new(0.5), {Transparency = 1}):Play() tw:Play() tw.Completed:Connect(function() line:Destroy() end) end local rotationAngle = 0 local mouseConnection = RunService.RenderStepped:Connect(function(dt) local mousePos = UserInputService:GetMouseLocation() crosshair.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y) rotationAngle = (rotationAngle + (dt * 130)) % 360 crosshair.Rotation = rotationAngle if lastMousePos then drawLineSegment(lastMousePos, mousePos) end lastMousePos = mousePos end) local contentFrame = Instance.new("Frame") contentFrame.Size = UDim2.new(1, 0, 1, 0) contentFrame.BackgroundTransparency = 1 contentFrame.ZIndex = 4 contentFrame.Parent = bg local title = Instance.new("TextLabel") title.Size = UDim2.new(0.8, 0, 0.09, 0) title.Position = UDim2.new(0.1, 0, 0.34, 0) title.BackgroundTransparency = 1 title.Text = "ZENITH.LOL" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextScaled = true title.Font = Enum.Font.GothamBold title.TextTransparency = 1 title.ZIndex = 4 title.Parent = contentFrame local subtitle = Instance.new("TextLabel") subtitle.Size = UDim2.new(0.8, 0, 0.04, 0) subtitle.Position = UDim2.new(0.1, 0, 0.44, 0) subtitle.BackgroundTransparency = 1 subtitle.Text = "Combat Warriors" subtitle.TextColor3 = Color3.fromRGB(150, 155, 165) subtitle.TextScaled = true subtitle.Font = Enum.Font.GothamMedium subtitle.TextTransparency = 1 subtitle.ZIndex = 4 subtitle.Parent = contentFrame local linkText = Instance.new("TextButton") linkText.Size = UDim2.new(0.8, 0, 0.045, 0) linkText.Position = UDim2.new(0.1, 0, 0.50, 0) linkText.BackgroundTransparency = 1 linkText.Text = DISCORD_URL linkText.TextColor3 = Color3.fromRGB(170, 175, 185) linkText.TextScaled = true linkText.Font = Enum.Font.GothamSemibold linkText.TextTransparency = 1 linkText.ZIndex = 4 linkText.Parent = contentFrame local joinBtn = Instance.new("TextButton") joinBtn.Size = UDim2.new(0, 240, 0, 52) joinBtn.Position = UDim2.new(0.5, -120, 0.72, 0) joinBtn.BackgroundColor3 = Color3.fromRGB(22, 22, 26) joinBtn.BackgroundTransparency = 0.3 joinBtn.Text = "JOIN DISCORD →" joinBtn.TextColor3 = Color3.fromRGB(255, 255, 255) joinBtn.TextSize = 18 joinBtn.Font = Enum.Font.GothamBold joinBtn.TextTransparency = 1 joinBtn.ZIndex = 5 joinBtn.Parent = contentFrame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 14) btnCorner.Parent = joinBtn local btnStroke = Instance.new("UIStroke") btnStroke.Thickness = 2 btnStroke.Transparency = 1 btnStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border btnStroke.Parent = joinBtn local btnGradient = Instance.new("UIGradient") btnGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(180, 185, 195)), ColorSequenceKeypoint.new(1, Color3.fromRGB(240, 245, 255)) }) btnGradient.Parent = btnStroke local function setHoverState(hovering) local targetColor = hovering and Color3.fromRGB(245, 248, 255) or Color3.fromRGB(200, 205, 215) local gap = hovering and 7 or 12 TweenService:Create(centerDot, TweenInfo.new(0.15), {BackgroundColor3 = targetColor}):Play() TweenService:Create(ringStroke, TweenInfo.new(0.15), {Color = targetColor, Transparency = hovering and 0 or 0.2}):Play() TweenService:Create(outerRing, TweenInfo.new(0.15), {Size = hovering and UDim2.new(0.7, 0, 0.7, 0) or UDim2.new(1, 0, 1, 0)}):Play() TweenService:Create(lines.Top, TweenInfo.new(0.15), {Position = UDim2.new(0.5, 0, 0.5, -gap), BackgroundColor3 = targetColor}):Play() TweenService:Create(lines.Bottom, TweenInfo.new(0.15), {Position = UDim2.new(0.5, 0, 0.5, gap), BackgroundColor3 = targetColor}):Play() TweenService:Create(lines.Left, TweenInfo.new(0.15), {Position = UDim2.new(0.5, -gap, 0.5, 0), BackgroundColor3 = targetColor}):Play() TweenService:Create(lines.Right, TweenInfo.new(0.15), {Position = UDim2.new(0.5, gap, 0.5, 0), BackgroundColor3 = targetColor}):Play() end joinBtn.MouseEnter:Connect(function() setHoverState(true) TweenService:Create(joinBtn, TweenInfo.new(0.2), { Size = UDim2.new(0, 250, 0, 56), Position = UDim2.new(0.5, -125, 0.72, -2), BackgroundTransparency = 0.1 }):Play() TweenService:Create(btnStroke, TweenInfo.new(0.2), {Transparency = 0}):Play() end) joinBtn.MouseLeave:Connect(function() setHoverState(false) TweenService:Create(joinBtn, TweenInfo.new(0.2), { Size = UDim2.new(0, 240, 0, 52), Position = UDim2.new(0.5, -120, 0.72, 0), BackgroundTransparency = 0.3 }):Play() TweenService:Create(btnStroke, TweenInfo.new(0.2), {Transparency = 0.3}):Play() end) linkText.MouseEnter:Connect(function() setHoverState(true) end) linkText.MouseLeave:Connect(function() setHoverState(false) end) local isDestroying = false local function showSparedBadge() if bg:FindFirstChild("SparedBadge") then bg.SparedBadge:Destroy() end local badge = Instance.new("Frame") badge.Name = "SparedBadge" badge.Size = UDim2.new(0, 210, 0, 50) badge.Position = UDim2.new(1, 250, 0.5, 0) badge.AnchorPoint = Vector2.new(1, 0.5) badge.BackgroundColor3 = Color3.fromRGB(20, 20, 24) badge.ZIndex = 110 badge.Parent = bg local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = badge local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(200, 205, 215) stroke.Thickness = 2 stroke.Parent = badge local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Text = "Thanks!" label.TextColor3 = Color3.fromRGB(255, 255, 255) label.Font = Enum.Font.GothamBold label.TextSize = 16 label.ZIndex = 111 label.Parent = badge TweenService:Create(badge, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Position = UDim2.new(1, -20, 0.5, 0) }):Play() task.delay(2.5, function() if badge and badge.Parent then local out = TweenService:Create(badge, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.In), { Position = UDim2.new(1, 250, 0.5, 0) }) out:Play() out.Completed:Connect(function() badge:Destroy() end) end end) end task.spawn(function() local texts = {DISCORD_URL, "JOIN ZENITH.LOL"} while not isDestroying do task.wait(math.random(3, 6)) if isDestroying then break end local flyText = Instance.new("TextButton") flyText.Text = texts[math.random(1, #texts)] flyText.Font = Enum.Font.GothamSemibold flyText.TextSize = math.random(14, 18) flyText.TextColor3 = Color3.fromRGB(160, 165, 175) flyText.BackgroundTransparency = 1 flyText.TextTransparency = 1 flyText.Size = UDim2.new(0, 250, 0, 30) local rx = math.random() > 0.5 and math.random(5, 30) or math.random(70, 95) local ry = math.random(10, 90) flyText.Position = UDim2.new(rx/100, 0, ry/100, 0) flyText.ZIndex = 5 flyText.Parent = starsFrame flyText.MouseEnter:Connect(function() setHoverState(true) end) flyText.MouseLeave:Connect(function() setHoverState(false) end) flyText.MouseButton1Click:Connect(function() local copyFunc = setclipboard or toclipboard or (syn and syn.write_clipboard) if copyFunc then pcall(copyFunc, DISCORD_URL) end showSparedBadge() TweenService:Create(flyText, TweenInfo.new(0.2), {TextTransparency = 1}):Play() end) TweenService:Create(flyText, TweenInfo.new(1.5), {TextTransparency = 0.5}):Play() local drift = TweenService:Create(flyText, TweenInfo.new(5, Enum.EasingStyle.Linear), { Position = UDim2.new(flyText.Position.X.Scale, 0, flyText.Position.Y.Scale - 0.08, 0) }) drift:Play() task.delay(3.5, function() if flyText and flyText.Parent then local fadeOut = TweenService:Create(flyText, TweenInfo.new(1.5), {TextTransparency = 1}) fadeOut:Play() fadeOut.Completed:Connect(function() flyText:Destroy() end) end end) end end) local function triggerShotEffect() if isDestroying then return end isDestroying = true openDiscord() local shotPos = UserInputService:GetMouseLocation() local flash = Instance.new("Frame") flash.Size = UDim2.new(0, 8, 0, 8) flash.AnchorPoint = Vector2.new(0.5, 0.5) flash.Position = UDim2.new(0, shotPos.X, 0, shotPos.Y) flash.BackgroundColor3 = Color3.fromRGB(255, 255, 255) flash.BorderSizePixel = 0 flash.ZIndex = 250 flash.Parent = bg Instance.new("UICorner", flash).CornerRadius = UDim.new(1, 0) local flashStroke = Instance.new("UIStroke") flashStroke.Color = Color3.fromRGB(220, 225, 235) flashStroke.Thickness = 4 flashStroke.Parent = flash TweenService:Create(flash, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Size = UDim2.new(0, 110, 0, 110), BackgroundTransparency = 1 }):Play() TweenService:Create(flashStroke, TweenInfo.new(0.25), {Transparency = 1}):Play() local crackFolder = Instance.new("Frame") crackFolder.Size = UDim2.new(1, 0, 1, 0) crackFolder.BackgroundTransparency = 1 crackFolder.ZIndex = 200 crackFolder.Parent = bg local numCracks = math.random(9, 13) for i = 1, numCracks do local angle = (i / numCracks) * math.pi * 2 + math.rad(math.random(-15, 15)) local length = math.random(250, 650) local crack = Instance.new("Frame") crack.AnchorPoint = Vector2.new(0, 0.5) crack.Position = UDim2.new(0, shotPos.X, 0, shotPos.Y) crack.Size = UDim2.new(0, 0, 0, math.random(2, 3)) crack.Rotation = math.deg(angle) crack.BackgroundColor3 = Color3.fromRGB(255, 255, 255) crack.BorderSizePixel = 0 crack.ZIndex = 201 crack.Parent = crackFolder local crackStroke = Instance.new("UIStroke") crackStroke.Color = Color3.fromRGB(200, 205, 215) crackStroke.Thickness = 1.5 crackStroke.Parent = crack TweenService:Create(crack, TweenInfo.new(0.08, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Size = UDim2.new(0, length, 0, crack.Size.Y.Offset) }):Play() task.delay(0.03, function() for b = 1, math.random(1, 2) do local branchDist = math.random(60, length * 0.7) local startX = shotPos.X + math.cos(angle) * branchDist local startY = shotPos.Y + math.sin(angle) * branchDist local branchAngle = angle + math.rad(math.random(-50, 50)) local branchLen = math.random(40, 120) local branch = Instance.new("Frame") branch.AnchorPoint = Vector2.new(0, 0.5) branch.Position = UDim2.new(0, startX, 0, startY) branch.Size = UDim2.new(0, 0, 0, 1.5) branch.Rotation = math.deg(branchAngle) branch.BackgroundColor3 = Color3.fromRGB(200, 205, 215) branch.BorderSizePixel = 0 branch.ZIndex = 201 branch.Parent = crackFolder TweenService:Create(branch, TweenInfo.new(0.06), { Size = UDim2.new(0, branchLen, 0, 1.5) }):Play() end end) end for _ = 1, 6 do bg.Position = UDim2.new(0, math.random(-10, 10), 0, math.random(-10, 10)) task.wait(0.015) end bg.Position = UDim2.new(0, 0, 0, 0) task.wait(0.1) if starConnection then starConnection:Disconnect() end if mouseConnection then mouseConnection:Disconnect() end UserInputService.MouseIconEnabled = true local camera = workspace.CurrentCamera local viewportWidth = camera and camera.ViewportSize.X or 1920 local tiltAngle = (shotPos.X > viewportWidth / 2) and -12 or 12 local dropTween = TweenService:Create(bg, TweenInfo.new(0.65, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Position = UDim2.new(0, 0, 1.3, 0), Rotation = tiltAngle }) TweenService:Create(bg, TweenInfo.new(0.65), {BackgroundTransparency = 0.5}):Play() dropTween:Play() dropTween.Completed:Connect(function() gui:Destroy() end) end joinBtn.MouseButton1Click:Connect(triggerShotEffect) linkText.MouseButton1Click:Connect(function() local copyFunc = setclipboard or toclipboard or (syn and syn.write_clipboard) if copyFunc then pcall(copyFunc, DISCORD_URL) end showSparedBadge() end) openDiscord() local tweenInfo = TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(bg, tweenInfo, {BackgroundTransparency = 0}):Play() task.wait(0.25) TweenService:Create(title, tweenInfo, {TextTransparency = 0}):Play() TweenService:Create(subtitle, tweenInfo, {TextTransparency = 0}):Play() TweenService:Create(linkText, tweenInfo, {TextTransparency = 0}):Play() task.wait(0.2) TweenService:Create(joinBtn, tweenInfo, {TextTransparency = 0}):Play() TweenService:Create(btnStroke, tweenInfo, {Transparency = 0.3}):Play()