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

Script

Add Xeno Scripts as a preferred source
-- 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.

Comments (0)

Log in to add a comment.