998 views
Description
Hello! this is made by maxovik777, Press ] to open up the menu,Note I will change the update the script often.
Soon Fullbright will be added!
jjs,daycare,nds,ftap, any other games supported
Features
- + Music Player
- + Anti-afk
- + Rejoin servers
Supported Executors
Xeno
Volt
Potassium
Wave
Delta
Solara
Opiumware
Codex
MacSploit
Vega X
Velocity
-- Client-Sided Roblox Audio Player + Anti-AFK + Rejoin System
-- Toggle Menu Key Default: ]
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local SoundService = game:GetService("SoundService")
local TweenService = game:GetService("TweenService")
local VirtualUser = game:GetService("VirtualUser")
local TeleportService = game:GetService("TeleportService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Configuration Defaults
local TOGGLE_KEY = Enum.KeyCode.RightBracket
local DEFAULT_VOLUME = 0.5
local DEFAULT_AFK_INTERVAL = 15 -- Minutes (Max 19)
-- Persistent State
local antiAfkEnabled = false
local afkIntervalMinutes = DEFAULT_AFK_INTERVAL
local afkThread = nil
-- Sound Instance Setup
local clientSound = Instance.new("Sound")
clientSound.Name = "ClientAudioPlayerSound"
clientSound.Volume = DEFAULT_VOLUME
clientSound.Looped = false
clientSound.Parent = SoundService
-- GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AudioPlayerGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 320, 0, 520) -- Expanded height for Rejoin Button
mainFrame.Position = UDim2.new(0.5, -160, 0.5, -260)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 26)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.Parent = screenGui
local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 12)
uiCorner.Parent = mainFrame
local uiStroke = Instance.new("UIStroke")
uiStroke.Color = Color3.fromRGB(50, 50, 70)
uiStroke.Thickness = 1.5
uiStroke.Parent = mainFrame
--------------------------------------------------------------------------------
-- STARTUP NOTIFICATION
--------------------------------------------------------------------------------
local function showNotification(titleText, bodyText)
local notifFrame = Instance.new("Frame")
notifFrame.Size = UDim2.new(0, 250, 0, 60)
notifFrame.Position = UDim2.new(1, 20, 1, -80)
notifFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 32)
notifFrame.BorderSizePixel = 0
notifFrame.Parent = screenGui
local notifCorner = Instance.new("UICorner")
notifCorner.CornerRadius = UDim.new(0, 8)
notifCorner.Parent = notifFrame
local notifStroke = Instance.new("UIStroke")
notifStroke.Color = Color3.fromRGB(90, 130, 240)
notifStroke.Thickness = 1.5
notifStroke.Parent = notifFrame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -20, 0, 22)
title.Position = UDim2.new(0, 10, 0, 8)
title.BackgroundTransparency = 1
title.Text = titleText
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 13
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = notifFrame
local message = Instance.new("TextLabel")
message.Size = UDim2.new(1, -20, 0, 22)
message.Position = UDim2.new(0, 10, 0, 28)
message.BackgroundTransparency = 1
message.Text = bodyText
message.TextColor3 = Color3.fromRGB(180, 180, 200)
message.TextSize = 11
message.Font = Enum.Font.Gotham
message.TextXAlignment = Enum.TextXAlignment.Left
message.Parent = notifFrame
local slideIn = TweenService:Create(notifFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Position = UDim2.new(1, -270, 1, -80)
})
slideIn:Play()
task.delay(4, function()
local slideOut = TweenService:Create(notifFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Position = UDim2.new(1, 20, 1, -80)
})
slideOut:Play()
slideOut.Completed:Connect(function()
notifFrame:Destroy()
end)
end)
end
showNotification("Audio Player Loaded", "Press ] to toggle the menu")
--------------------------------------------------------------------------------
-- DRAGGABLE MENU
--------------------------------------------------------------------------------
local dragging, dragInput, dragStart, startPos
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
mainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
--------------------------------------------------------------------------------
-- HEADER & MINIMIZE BUTTON (-)
--------------------------------------------------------------------------------
local headerTitle = Instance.new("TextLabel")
headerTitle.Size = UDim2.new(1, -50, 0, 42)
headerTitle.Position = UDim2.new(0, 14, 0, 0)
headerTitle.BackgroundTransparency = 1
headerTitle.Text = "Client Audio Player"
headerTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
headerTitle.TextSize = 15
headerTitle.Font = Enum.Font.GothamBold
headerTitle.TextXAlignment = Enum.TextXAlignment.Left
headerTitle.Parent = mainFrame
local minimizeBtn = Instance.new("TextButton")
minimizeBtn.Size = UDim2.new(0, 26, 0, 26)
minimizeBtn.Position = UDim2.new(1, -34, 0, 8)
minimizeBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 48)
minimizeBtn.Text = "-"
minimizeBtn.TextColor3 = Color3.fromRGB(220, 220, 245)
minimizeBtn.TextSize = 18
minimizeBtn.Font = Enum.Font.GothamBold
minimizeBtn.BorderSizePixel = 0
minimizeBtn.Parent = mainFrame
local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 6)
minCorner.Parent = minimizeBtn
minimizeBtn.MouseButton1Click:Connect(function()
mainFrame.Visible = false
end)
--------------------------------------------------------------------------------
-- INPUT FIELD & STATUS
--------------------------------------------------------------------------------
local audioInput = Instance.new("TextBox")
audioInput.Size = UDim2.new(0.86, 0, 0, 32)
audioInput.Position = UDim2.new(0.07, 0, 0, 52)
audioInput.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
audioInput.PlaceholderText = "Enter Roblox Audio ID..."
audioInput.PlaceholderColor3 = Color3.fromRGB(110, 110, 130)
audioInput.Text = ""
audioInput.TextColor3 = Color3.fromRGB(255, 255, 255)
audioInput.TextSize = 12
audioInput.Font = Enum.Font.Gotham
audioInput.BorderSizePixel = 0
audioInput.Parent = mainFrame
local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0, 6)
inputCorner.Parent = audioInput
local statusLbl = Instance.new("TextLabel")
statusLbl.Size = UDim2.new(0.86, 0, 0, 20)
statusLbl.Position = UDim2.new(0.07, 0, 0, 90)
statusLbl.BackgroundTransparency = 1
statusLbl.Text = "Status: Idle"
statusLbl.TextColor3 = Color3.fromRGB(140, 140, 165)
statusLbl.TextSize = 11
statusLbl.Font = Enum.Font.Gotham
statusLbl.TextXAlignment = Enum.TextXAlignment.Left
statusLbl.Parent = mainFrame
--------------------------------------------------------------------------------
-- PLAYBACK CONTROLS
--------------------------------------------------------------------------------
local playBtn = Instance.new("TextButton")
playBtn.Size = UDim2.new(0.86, 0, 0, 34)
playBtn.Position = UDim2.new(0.07, 0, 0, 118)
playBtn.BackgroundColor3 = Color3.fromRGB(45, 120, 210)
playBtn.Text = "Play Sound"
playBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
playBtn.TextSize = 12
playBtn.Font = Enum.Font.GothamBold
playBtn.BorderSizePixel = 0
playBtn.Parent = mainFrame
local playCorner = Instance.new("UICorner")
playCorner.CornerRadius = UDim.new(0, 6)
playCorner.Parent = playBtn
local pauseBtn = Instance.new("TextButton")
pauseBtn.Size = UDim2.new(0.41, 0, 0, 30)
pauseBtn.Position = UDim2.new(0.07, 0, 0, 160)
pauseBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
pauseBtn.Text = "Pause"
pauseBtn.TextColor3 = Color3.fromRGB(220, 220, 240)
pauseBtn.TextSize = 11
pauseBtn.Font = Enum.Font.GothamMedium
pauseBtn.BorderSizePixel = 0
pauseBtn.Parent = mainFrame
local pauseCorner = Instance.new("UICorner")
pauseCorner.CornerRadius = UDim.new(0, 5)
pauseCorner.Parent = pauseBtn
local stopBtn = Instance.new("TextButton")
stopBtn.Size = UDim2.new(0.41, 0, 0, 30)
stopBtn.Position = UDim2.new(0.52, 0, 0, 160)
stopBtn.BackgroundColor3 = Color3.fromRGB(170, 45, 45)
stopBtn.Text = "Stop"
stopBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
stopBtn.TextSize = 11
stopBtn.Font = Enum.Font.GothamMedium
stopBtn.BorderSizePixel = 0
stopBtn.Parent = mainFrame
local stopCorner = Instance.new("UICorner")
stopCorner.CornerRadius = UDim.new(0, 5)
stopCorner.Parent = stopBtn
local loopBtn = Instance.new("TextButton")
loopBtn.Size = UDim2.new(0.86, 0, 0, 30)
loopBtn.Position = UDim2.new(0.07, 0, 0, 198)
loopBtn.BackgroundColor3 = Color3.fromRGB(32, 32, 44)
loopBtn.Text = "Loop: OFF"
loopBtn.TextColor3 = Color3.fromRGB(200, 200, 220)
loopBtn.TextSize = 11
loopBtn.Font = Enum.Font.GothamMedium
loopBtn.BorderSizePixel = 0
loopBtn.Parent = mainFrame
local loopCorner = Instance.new("UICorner")
loopCorner.CornerRadius = UDim.new(0, 5)
loopCorner.Parent = loopBtn
--------------------------------------------------------------------------------
-- VOLUME CONTROL
--------------------------------------------------------------------------------
local volHeader = Instance.new("TextLabel")
volHeader.Size = UDim2.new(0.86, 0, 0, 18)
volHeader.Position = UDim2.new(0.07, 0, 0, 240)
volHeader.BackgroundTransparency = 1
volHeader.Text = "VOLUME"
volHeader.TextColor3 = Color3.fromRGB(140, 140, 165)
volHeader.TextSize = 10
volHeader.Font = Enum.Font.GothamBold
volHeader.TextXAlignment = Enum.TextXAlignment.Left
volHeader.Parent = mainFrame
local function createVolPreset(text, volValue, posX)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 80, 0, 28)
btn.Position = UDim2.new(0.07 + posX, 0, 0, 262)
btn.BackgroundColor3 = Color3.fromRGB(32, 32, 42)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(220, 220, 240)
btn.TextSize = 11
btn.Font = Enum.Font.GothamMedium
btn.BorderSizePixel = 0
btn.Parent = mainFrame
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 5)
corner.Parent = btn
btn.MouseButton1Click:Connect(function()
clientSound.Volume = volValue
statusLbl.Text = "Volume set to: " .. math.floor(volValue * 100) .. "%"
end)
end
createVolPreset("25%", 0.25, 0)
createVolPreset("50%", 0.50, 86)
createVolPreset("100%", 1.00, 172)
local volInput = Instance.new("TextBox")
volInput.Size = UDim2.new(0.86, 0, 0, 28)
volInput.Position = UDim2.new(0.07, 0, 0, 298)
volInput.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
volInput.PlaceholderText = "Set custom volume (0 - 100)..."
volInput.PlaceholderColor3 = Color3.fromRGB(110, 110, 130)
volInput.Text = ""
volInput.TextColor3 = Color3.fromRGB(255, 255, 255)
volInput.TextSize = 11
volInput.Font = Enum.Font.Gotham
volInput.BorderSizePixel = 0
volInput.Parent = mainFrame
local volCorner = Instance.new("UICorner")
volCorner.CornerRadius = UDim.new(0, 5)
volCorner.Parent = volInput
volInput.FocusLost:Connect(function(enter)
if enter then
local num = tonumber(volInput.Text)
if num then
local clampedVol = math.clamp(num, 0, 100) / 100
clientSound.Volume = clampedVol
statusLbl.Text = "Volume set to: " .. math.floor(clampedVol * 100) .. "%"
end
volInput.Text = ""
end
end)
--------------------------------------------------------------------------------
-- ANTI-AFK SECTION
--------------------------------------------------------------------------------
local afkHeader = Instance.new("TextLabel")
afkHeader.Size = UDim2.new(0.86, 0, 0, 18)
afkHeader.Position = UDim2.new(0.07, 0, 0, 340)
afkHeader.BackgroundTransparency = 1
afkHeader.Text = "ANTI-AFK SYSTEM"
afkHeader.TextColor3 = Color3.fromRGB(140, 140, 165)
afkHeader.TextSize = 10
afkHeader.Font = Enum.Font.GothamBold
afkHeader.TextXAlignment = Enum.TextXAlignment.Left
afkHeader.Parent = mainFrame
local afkToggleBtn = Instance.new("TextButton")
afkToggleBtn.Size = UDim2.new(0.86, 0, 0, 30)
afkToggleBtn.Position = UDim2.new(0.07, 0, 0, 362)
afkToggleBtn.BackgroundColor3 = Color3.fromRGB(170, 45, 45)
afkToggleBtn.Text = "Anti-AFK: OFF"
afkToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
afkToggleBtn.TextSize = 11
afkToggleBtn.Font = Enum.Font.GothamBold
afkToggleBtn.BorderSizePixel = 0
afkToggleBtn.Parent = mainFrame
local afkCorner = Instance.new("UICorner")
afkCorner.CornerRadius = UDim.new(0, 5)
afkCorner.Parent = afkToggleBtn
local afkTimeInput = Instance.new("TextBox")
afkTimeInput.Size = UDim2.new(0.86, 0, 0, 28)
afkTimeInput.Position = UDim2.new(0.07, 0, 0, 400)
afkTimeInput.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
afkTimeInput.PlaceholderText = "Interval in mins (1-19, default 15)..."
afkTimeInput.PlaceholderColor3 = Color3.fromRGB(110, 110, 130)
afkTimeInput.Text = ""
afkTimeInput.TextColor3 = Color3.fromRGB(255, 255, 255)
afkTimeInput.TextSize = 11
afkTimeInput.Font = Enum.Font.Gotham
afkTimeInput.BorderSizePixel = 0
afkTimeInput.Parent = mainFrame
local afkTimeCorner = Instance.new("UICorner")
afkTimeCorner.CornerRadius = UDim.new(0, 5)
afkTimeCorner.Parent = afkTimeInput
local function performAntiAfkAction()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.zero)
local char = player.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum:ChangeState(Enum.HumanoidStateType.Jumping)
task.wait(0.1)
hum:Move(Vector3.new(0, 0, -1), true)
task.wait(0.3)
hum:Move(Vector3.zero, true)
end
end
end
local function startAntiAfk()
if afkThread then task.cancel(afkThread) end
afkThread = task.spawn(function()
while antiAfkEnabled do
task.wait(afkIntervalMinutes * 60)
if antiAfkEnabled then
performAntiAfkAction()
end
end
end)
end
local function toggleAntiAfk()
antiAfkEnabled = not antiAfkEnabled
if antiAfkEnabled then
afkToggleBtn.Text = "Anti-AFK: ON (" .. afkIntervalMinutes .. "m)"
afkToggleBtn.BackgroundColor3 = Color3.fromRGB(45, 170, 75)
startAntiAfk()
else
afkToggleBtn.Text = "Anti-AFK: OFF"
afkToggleBtn.BackgroundColor3 = Color3.fromRGB(170, 45, 45)
if afkThread then task.cancel(afkThread) afkThread = nil end
end
end
afkToggleBtn.MouseButton1Click:Connect(toggleAntiAfk)
afkTimeInput.FocusLost:Connect(function(enter)
if enter then
local num = tonumber(afkTimeInput.Text)
if num then
afkIntervalMinutes = math.clamp(math.floor(num), 1, 19)
if antiAfkEnabled then
afkToggleBtn.Text = "Anti-AFK: ON (" .. afkIntervalMinutes .. "m)"
startAntiAfk()
end
end
afkTimeInput.Text = ""
end
end)
player.Idled:Connect(function()
if antiAfkEnabled then
performAntiAfkAction()
end
end)
--------------------------------------------------------------------------------
-- REJOIN SERVER SECTION
--------------------------------------------------------------------------------
local rejoinBtn = Instance.new("TextButton")
rejoinBtn.Size = UDim2.new(0.86, 0, 0, 32)
rejoinBtn.Position = UDim2.new(0.07, 0, 0, 460)
rejoinBtn.BackgroundColor3 = Color3.fromRGB(110, 50, 180)
rejoinBtn.Text = "Rejoin Server"
rejoinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
rejoinBtn.TextSize = 11
rejoinBtn.Font = Enum.Font.GothamBold
rejoinBtn.BorderSizePixel = 0
rejoinBtn.Parent = mainFrame
local rejoinCorner = Instance.new("UICorner")
rejoinCorner.CornerRadius = UDim.new(0, 6)
rejoinCorner.Parent = rejoinBtn
rejoinBtn.MouseButton1Click:Connect(function()
rejoinBtn.Text = "Rejoining..."
if #Players:GetPlayers() <= 1 then
TeleportService:Teleport(game.PlaceId, player)
else
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, player)
end
end)
--------------------------------------------------------------------------------
-- AUDIO LOGIC
--------------------------------------------------------------------------------
local function playAudioFromID(rawId)
local cleanedId = string.match(rawId, "%d+")
if not cleanedId then
statusLbl.Text = "Status: Invalid Audio ID"
return
end
clientSound:Stop()
clientSound.SoundId = "rbxassetid://" .. cleanedId
clientSound:Play()
statusLbl.Text = "Status: Playing ID " .. cleanedId
pauseBtn.Text = "Pause"
end
playBtn.MouseButton1Click:Connect(function()
playAudioFromID(audioInput.Text)
end)
audioInput.FocusLost:Connect(function(enter)
if enter then
playAudioFromID(audioInput.Text)
end
end)
pauseBtn.MouseButton1Click:Connect(function()
if clientSound.IsPlaying then
clientSound:Pause()
pauseBtn.Text = "Resume"
statusLbl.Text = "Status: Paused"
elseif clientSound.IsPaused then
clientSound:Resume()
pauseBtn.Text = "Pause"
statusLbl.Text = "Status: Playing"
end
end)
stopBtn.MouseButton1Click:Connect(function()
clientSound:Stop()
pauseBtn.Text = "Pause"
statusLbl.Text = "Status: Stopped"
end)
loopBtn.MouseButton1Click:Connect(function()
clientSound.Looped = not clientSound.Looped
if clientSound.Looped then
loopBtn.Text = "Loop: ON"
loopBtn.BackgroundColor3 = Color3.fromRGB(45, 170, 75)
else
loopBtn.Text = "Loop: OFF"
loopBtn.BackgroundColor3 = Color3.fromRGB(32, 32, 44)
end
end)
--------------------------------------------------------------------------------
-- TOGGLE KEYBIND ([])
--------------------------------------------------------------------------------
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == TOGGLE_KEY then
mainFrame.Visible = not mainFrame.Visible
end
end)
Script worked? 🚀 Boost it to #1 so others find it too.
Similar Scripts
1,484
7 days ago
Free
Universal
Unified Speed & Jump Controller Menu (Draggable)
1,467
7 days ago
Free
Universal
Modern Character Freeze / Anchor Script
1,738
7 days ago
Free
Universal
Movement Master script keyless (Fly, Jump, Teleport)
332
5 hours ago
Free
+1 Assassin Leveling
+1 Assassin Leveling script by Tora isme | Auto stage, Anti damage
263
5 hours ago
Free
Huss Valley
Aetherium Hub Huss Valley Crossing script OP (No Keys)
220
5 hours ago
Free
Cold War
QCOLD MENU | Silent aim, No recoil, insta reload
🚀
Log in to boost
Boosting rockets this script to #1 on the homepage. A free account takes 30 seconds.
Log in
🚀
Out of boosts!
Grab boosts and rocket your favorite scripts to the top — plus join the booster wall with the RGB ring.
⚡ Go Pro — 10 boosts/month + zero ads
🚀
Boost this script?
It jumps to #1 in Recent Scripts and your avatar joins the booster wall.
🚀
Boosted! You're awesome 💜
Comments (0)
Log in to add a comment.