Skipping a slow grind on Roblox is the best way to stay sane, and using a Send a Global Message script makes the whole process way faster.
You earn cash, trigger wild weather effects, and send messages across the server while grinding out challenges to get ahead.
If you want to speed up your progress and grab some wins without the hassle, check out the working script below.
Send a Global Message Script – Auto Wins & More
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local obbies = workspace:WaitForChild("Map"):WaitForChild("Obbies")
-- SETTINGS
local enabled = false
local interval = 9.5
local selectedDifficulty = "Nightmare"
local difficulties = {
"Easy", "Medium", "Hard", "Insane", "Nightmare"
}
local sequence = {
"Easy",
"Medium",
"Hard",
"Nightmare",
"Insane"
}
-- FIND WINPADS
local winPads = {}
for _, difficulty in ipairs(difficulties) do
winPads[difficulty] = obbies
:WaitForChild(difficulty)
:WaitForChild("WinPad")
end
-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "WinPadTeleporter"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
-- MAIN MENU
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 280, 0, 310)
main.Position = UDim2.new(0.5, -140, 0.5, -155)
main.BackgroundColor3 = Color3.fromRGB(32, 32, 38)
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(65, 65, 75)
stroke.Parent = main
-- TITLE
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -50, 0, 35)
title.Position = UDim2.new(0, 12, 0, 5)
title.BackgroundTransparency = 1
title.Text = "WinPad Teleporter"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextSize = 17
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = main
-- CLOSE BUTTON
local close = Instance.new("TextButton")
close.Size = UDim2.new(0, 28, 0, 28)
close.Position = UDim2.new(1, -35, 0, 7)
close.BackgroundColor3 = Color3.fromRGB(200, 55, 55)
close.Text = "X"
close.TextColor3 = Color3.new(1, 1, 1)
close.Font = Enum.Font.GothamBold
close.TextSize = 14
close.Parent = main
Instance.new("UICorner", close).CornerRadius = UDim.new(0, 7)
-- SECTION
local section = Instance.new("TextLabel")
section.Size = UDim2.new(1, -20, 0, 20)
section.Position = UDim2.new(0, 12, 0, 42)
section.BackgroundTransparency = 1
section.Text = "SELECT WINPAD"
section.TextColor3 = Color3.fromRGB(170, 170, 180)
section.TextSize = 11
section.Font = Enum.Font.GothamBold
section.TextXAlignment = Enum.TextXAlignment.Left
section.Parent = main
-- BUTTONS
local buttons = {}
local function updateButtons()
for name, button in pairs(buttons) do
button.BackgroundColor3 =
name == selectedDifficulty
and Color3.fromRGB(40, 115, 190)
or Color3.fromRGB(48, 48, 58)
end
end
local function createButton(name, position, width)
local button = Instance.new("TextButton")
button.Size = UDim2.new(0, width or 120, 0, 34)
button.Position = position
button.BackgroundColor3 = Color3.fromRGB(48, 48, 58)
button.Text = name .. " WinPad"
button.TextColor3 = Color3.fromRGB(220, 220, 225)
button.TextSize = 12
button.Font = Enum.Font.GothamBold
button.Parent = main
Instance.new("UICorner", button).CornerRadius = UDim.new(0, 7)
buttons[name] = button
button.MouseButton1Click:Connect(function()
if enabled then return end
selectedDifficulty = name
updateButtons()
end)
end
createButton("Easy", UDim2.new(0, 12, 0, 68))
createButton("Medium", UDim2.new(0, 148, 0, 68))
createButton("Hard", UDim2.new(0, 12, 0, 108))
createButton("Insane", UDim2.new(0, 148, 0, 108))
createButton("Nightmare", UDim2.new(0, 80, 0, 148), 120)
createButton("Everything in 1", UDim2.new(0, 12, 0, 188), 256)
updateButtons()
-- STATUS
local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -20, 0, 18)
status.Position = UDim2.new(0, 10, 0, 225)
status.BackgroundTransparency = 1
status.Text = "Waiting..."
status.TextColor3 = Color3.fromRGB(170, 170, 180)
status.TextSize = 11
status.Font = Enum.Font.Gotham
status.Parent = main
-- TOGGLE
local toggle = Instance.new("TextButton")
toggle.Size = UDim2.new(1, -24, 0, 34)
toggle.Position = UDim2.new(0, 12, 0, 246)
toggle.BackgroundColor3 = Color3.fromRGB(180, 55, 55)
toggle.Text = "Auto Teleport: OFF"
toggle.TextColor3 = Color3.new(1, 1, 1)
toggle.TextSize = 13
toggle.Font = Enum.Font.GothamBold
toggle.Parent = main
Instance.new("UICorner", toggle).CornerRadius = UDim.new(0, 7)
-- EXPLANATION
local explanation = Instance.new("TextLabel")
explanation.Size = UDim2.new(1, -20, 0, 25)
explanation.Position = UDim2.new(0, 10, 0, 282)
explanation.BackgroundTransparency = 1
explanation.Text = "9.5 cooldown = completion cooldown!"
explanation.TextColor3 = Color3.fromRGB(190, 190, 200)
explanation.TextSize = 10
explanation.Font = Enum.Font.Gotham
explanation.TextWrapped = true
explanation.Parent = main
-- REOPEN BUTTON
local reopen = Instance.new("TextButton")
reopen.Size = UDim2.new(0, 115, 0, 36)
reopen.Position = UDim2.new(0, 20, 0.5, 0)
reopen.BackgroundColor3 = Color3.fromRGB(40, 115, 190)
reopen.Text = "Reopen Menu"
reopen.TextColor3 = Color3.new(1, 1, 1)
reopen.TextSize = 13
reopen.Font = Enum.Font.GothamBold
reopen.Active = true
reopen.Draggable = true
reopen.Visible = false
reopen.Parent = gui
Instance.new("UICorner", reopen).CornerRadius = UDim.new(0, 8)
-- TELEPORT
local function teleport(difficulty)
local character = player.Character
if not character then return end
local root = character:FindFirstChild("HumanoidRootPart")
if not root then return end
local target = winPads[difficulty]
if target and target.Parent then
root.CFrame = target.CFrame + Vector3.new(0, 4, 0)
end
end
-- AUTOMATIC LOOP
local function runLoop()
while enabled and gui.Parent do
if selectedDifficulty == "Everything in 1" then
for _, difficulty in ipairs(sequence) do
if not enabled or not gui.Parent then
break
end
status.Text = "Teleporting: " .. difficulty
teleport(difficulty)
if difficulty == "Insane" then
task.wait(8)
else
task.wait(1.5)
end
end
else
status.Text = "Teleporting: " .. selectedDifficulty
teleport(selectedDifficulty)
task.wait(interval)
end
end
if gui.Parent then
status.Text = "Stopped"
end
end
-- TOGGLE
toggle.MouseButton1Click:Connect(function()
enabled = not enabled
if enabled then
toggle.Text = "Auto Teleport: ON"
toggle.BackgroundColor3 = Color3.fromRGB(40, 155, 80)
task.spawn(runLoop)
else
toggle.Text = "Auto Teleport: OFF"
toggle.BackgroundColor3 = Color3.fromRGB(180, 55, 55)
status.Text = "Stopped"
end
end)
-- CLOSE MENU (HIDE ONLY)
close.MouseButton1Click:Connect(function()
main.Visible = false
reopen.Visible = true
end)
-- REOPEN MENU
reopen.MouseButton1Click:Connect(function()
main.Visible = true
reopen.Visible = false
end)Copy the code above into a compatible Roblox script executor if you choose to test it.
Send a Global Message Script Status
Roblox and game updates can affect compatibility, so the script’s status should be treated as temporary rather than guaranteed.
Frequently Asked Questions
What is a Send a Global Message script?
A Send a Global Message script is third-party Lua code intended to run alongside the Roblox game through a compatible script executor.
What features does this Send a Global Message script include?
Different scripts contain different code. This version includes: Auto Wins.
How do you use the Send a Global Message script?
Pick a compatible executor such as Hydrogen, MacSploit, AWP.GG, Delta, Fluxus, Codex, launch Roblox and join the game, copy the complete Lua code from the script card above, paste it into the executor’s editor, and click Run or Execute. Compatibility changes over time, so a name here doesn’t guarantee current support.
Can a Send a Global Message script get your Roblox account banned?
Yes. Third-party scripts can violate Roblox rules and may put an account at risk. Only use code from a source you trust, never enter your Roblox password into a script or executor, and test on an alternate account first.
Does the Send a Global Message script work on mobile?
Check whether both the executor and the script support your device and the current Roblox version. Mobile executor support does not guarantee that every script will work.