M
Description
Another test script testing rival script
GAMERIVALS [❄️FREEZE RAY❄️]
UPDATEDOct 18, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. 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 BloxScripts Risk Notice ]]
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHub"
gui.ResetOnSpawn = false
gui.DisplayOrder = 999
gui.Parent = player:WaitForChild("PlayerGui")
local purple = Color3.fromRGB(155, 85, 255)
local bg = Color3.fromRGB(20, 16, 30)
local panel = Color3.fromRGB(34, 26, 48)
local white = Color3.fromRGB(245, 238, 255)
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.new(0, 265, 0, 390)
main.Position = UDim2.new(0.5, -132, 0.5, -195)
main.BackgroundColor3 = bg
main.BorderSizePixel = 0
main.ClipsDescendants = true
main.Parent = gui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 14)
mainCorner.Parent = main
local stroke = Instance.new("UIStroke")
stroke.Color = purple
stroke.Thickness = 1.5
stroke.Parent = main
-- Header
local header = Instance.new("TextButton")
header.Size = UDim2.new(1, 0, 0, 48)
header.BackgroundColor3 = panel
header.Text = "PURPLE HUB —"
header.TextColor3 = white
header.Font = Enum.Font.GothamBold
header.TextSize = 17
header.Parent = main
local headerCorner = Instance.new("UICorner")
headerCorner.CornerRadius = UDim.new(0, 12)
headerCorner.Parent = header
-- Drag with mouse or touch
local dragging = false
local dragStart, startPos
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = main.Position
end
end)
header.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if dragging and (
input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch
) then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
local function label(text, y, height, size)
local obj = Instance.new("TextLabel")
obj.Size = UDim2.new(1, -24, 0, height)
obj.Position = UDim2.new(0, 12, 0, y)
obj.BackgroundTransparency = 1
obj.Text = text
obj.TextColor3 = white
obj.Font = Enum.Font.GothamBold
obj.TextSize = size or 15
obj.TextXAlignment = Enum.TextXAlignment.Left
obj.Parent = main
return obj
end
label("QUEUE CONTROL", 60, 25, 16)
local status = label("Status: Idle", 94, 25, 14)
status.TextColor3 = Color3.fromRGB(205, 180, 255)
local timer = label("Timer: 00:00", 124, 25, 14)
local function makeButton(text, y, color)
local b = Instance.new("TextButton")
b.Size = UDim2.new(1, -24, 0, 44)
b.Position = UDim2.new(0, 12, 0, y)
b.BackgroundColor3 = color
b.Text = text
b.TextColor3 = white
b.Font = Enum.Font.GothamBold
b.TextSize = 15
b.AutoButtonColor = true
b.Parent = main
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 9)
c.Parent = b
return b
end
local start = makeButton("START QUEUE DEMO", 165, purple)
local stop = makeButton("STOP DEMO", 219, Color3.fromRGB(76, 54, 98))
local close = makeButton("CLOSE HUB", 273, Color3.fromRGB(65, 40, 70))
label("Purple Hub • Mobile UI", 337, 24, 11)
local running = false
local seconds = 0
start.Activated:Connect(function()
running = true
seconds = 0
status.Text = "Status: Demo running"
end)
stop.Activated:Connect(function()
running = false
status.Text = "Status: Idle"
end)
close.Activated:Connect(function()
gui:Destroy()
end)
task.spawn(function()
while gui.Parent do
task.wait(1)
if running and gui.Parent then
seconds += 1
timer.Text = string.format(
"Timer: %02d:%02d",
math.floor(seconds / 60),
seconds % 60
)
end
end
end)
-- PURPLE HUB | UI Size Selector
-- Add after creating your main frame and buttons.
local sizeLabel = Instance.new("TextLabel")
sizeLabel.Size = UDim2.new(1, -24, 0, 22)
sizeLabel.Position = UDim2.new(0, 12, 0, 310)
sizeLabel.BackgroundTransparency = 1
sizeLabel.Text = "UI SIZE"
sizeLabel.TextColor3 = Color3.fromRGB(220, 195, 255)
sizeLabel.Font = Enum.Font.GothamBold
sizeLabel.TextSize = 13
sizeLabel.Parent = main
local sizes = {
Small = UDim2.new(0, 225, 0, 350),
Medium = UDim2.new(0, 265, 0, 390),
Large = UDim2.new(0, 300, 0, 440)
}
local choices = {"Small", "Medium", "Large"}
for i, name in ipairs(choices) do
local b = Instance.new("TextButton")
b.Size = UDim2.new(0, 74, 0, 32)
b.Position = UDim2.new(0, 12 + (i - 1) * 80, 0, 337)
b.BackgroundColor3 = Color3.fromRGB(110, 60, 170)
b.Text = name
b.TextColor3 = Color3.new(1, 1, 1)
b.TextSize = 12
b.Font = Enum.Font.GothamBold
b.Parent = main
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 7)
c.Parent = b
b.Activated:Connect(function()
main.Size = sizes[name]
main.Position = UDim2.new(0.5, -sizes[name].X.Offset / 2,
0.5, -sizes[name].Y.Offset / 2)
end)
end
-- PURPLE HUB | Mobile Aim Trainer UI
-- Visual-only practice demo.
-- No player targeting or live-game automation.
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubAimTrainer"
gui.ResetOnSpawn = false
gui.DisplayOrder = 999
gui.Parent = player:WaitForChild("PlayerGui")
local purple = Color3.fromRGB(165, 95, 255)
local bg = Color3.fromRGB(23, 17, 34)
local white = Color3.fromRGB(245, 238, 255)
local main = Instance.new("Frame")
main.Size = UDim2.fromOffset(280, 440)
main.Position = UDim2.new(0.5, -140, 0.5, -220)
main.BackgroundColor3 = bg
main.BorderSizePixel = 0
main.Parent = gui
Instance.new("UICorner", main).CornerRadius =
UDim.new(0, 14)
local outline = Instance.new("UIStroke", main)
outline.Color = purple
outline.Thickness = 1.5
local function makeLabel(text, y, height, parent, size)
local obj = Instance.new("TextLabel")
obj.Size = UDim2.new(1, -24, 0, height)
obj.Position = UDim2.new(0, 12, 0, y)
obj.BackgroundTransparency = 1
obj.Text = text
obj.TextColor3 = white
obj.Font = Enum.Font.GothamBold
obj.TextSize = size or 14
obj.TextXAlignment = Enum.TextXAlignment.Left
obj.Parent = parent or main
return obj
end
local function makeButton(text, x, y, width, parent)
local b = Instance.new("TextButton")
b.Size = UDim2.fromOffset(width, 36)
b.Position = UDim2.fromOffset(x, y)
b.BackgroundColor3 = Color3.fromRGB(91, 54, 130)
b.Text = text
b.TextColor3 = white
b.Font = Enum.Font.GothamBold
b.TextSize = 12
b.Parent = parent or main
Instance.new("UICorner", b).CornerRadius =
UDim.new(0, 8)
return b
end
makeLabel("PURPLE HUB", 10, 30, main, 20)
makeLabel("AIM TRAINER / VISUALS", 42, 22)
-- FOV preview
local preview = Instance.new("Frame")
preview.Size = UDim2.new(1, -24, 0, 150)
preview.Position = UDim2.fromOffset(12, 72)
preview.BackgroundColor3 = Color3.fromRGB(36, 26, 52)
preview.BorderSizePixel = 0
preview.ClipsDescendants = true
preview.Parent = main
Instance.new("UICorner", preview).CornerRadius =
UDim.new(0, 10)
local circle = Instance.new("Frame")
circle.AnchorPoint = Vector2.new(0.5, 0.5)
circle.Position = UDim2.fromScale(0.5, 0.5)
circle.Size = UDim2.fromOffset(90, 90)
circle.BackgroundTransparency = 1
circle.Parent = preview
Instance.new("UICorner", circle).CornerRadius =
UDim.new(1, 0)
local circleStroke = Instance.new("UIStroke", circle)
circleStroke.Color = purple
circleStroke.Thickness = 1.5
local function crosshairLine(size, position)
local line = Instance.new("Frame")
line.Size = size
line.Position = position
line.AnchorPoint = Vector2.new(0.5, 0.5)
line.BackgroundColor3 = white
line.BorderSizePixel = 0
line.Parent = preview
end
crosshairLine(UDim2.fromOffset(22, 2),
UDim2.fromScale(0.5, 0.5))
crosshairLine(UDim2.fromOffset(2, 22),
UDim2.fromScale(0.5, 0.5))
makeLabel("FOV SIZE", 232, 22)
local fovValue = makeLabel("90", 232, 22)
fovValue.TextXAlignment = Enum.TextXAlignment.Right
local fovMinus = makeButton("-", 12, 258, 48)
local fovPlus = makeButton("+", 220, 258, 48)
local fov = 90
local function updateFov()
circle.Size = UDim2.fromOffset(fov, fov)
fovValue.Text = tostring(fov)
end
fovMinus.Activated:Connect(function()
fov = math.max(30, fov - 10)
updateFov()
end)
fovPlus.Activated:Connect(function()
fov = math.min(130, fov + 10)
updateFov()
end)
makeLabel("SMOOTHING (VISUAL SETTING)", 302, 22)
local smoothValue = makeLabel("5 / 10", 302, 22)
smoothValue.TextXAlignment = Enum.TextXAlignment.Right
local smoothMinus = makeButton("-", 12, 328, 48)
local smoothPlus = makeButton("+", 220, 328, 48)
local smoothing = 5
local function updateSmoothing()
smoothValue.Text = smoothing .. " / 10"
end
smoothMinus.Activated:Connect(function()
smoothing = math.max(1, smoothing - 1)
updateSmoothing()
end)
smoothPlus.Activated:Connect(function()
smoothing = math.min(10, smoothing + 1)
updateSmoothing()
end)
makeLabel("UI SIZE", 372, 20)
local sizeOptions = {
{"S", 12, 225, 390},
{"M", 98, 280, 440},
{"L", 184, 320, 490}
}
for _, option in ipairs(sizeOptions) do
local button = makeButton(option[1], option[2], 396, 78)
button.Activated:Connect(function()
local width, height = option[3], option[4]
main.Size = UDim2.fromOffset(width, height)
main.Position = UDim2.new(0.5, -width / 2,
0.5, -height / 2)
end)
end
local close = makeButton("X", 242, 10, 26)
close.Activated:Connect(function()
gui:Destroy()
end)
updateFov()
updateSmoothing()
-- PURPLE HUB | Speed Control Demo
-- For your own Roblox experience / practice UI.
-- Does not modify live RIVALS.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubSpeed"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(260, 190)
frame.Position = UDim2.new(0.5, -130, 0.5, -95)
frame.BackgroundColor3 = Color3.fromRGB(23, 17, 34)
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius =
UDim.new(0, 12)
local stroke = Instance.new("UIStroke", frame)
stroke.Color = Color3.fromRGB(165, 95, 255)
local function label(text, y, size)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -20, 0, 28)
l.Position = UDim2.fromOffset(10, y)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = Color3.fromRGB(245, 238, 255)
l.Font = Enum.Font.GothamBold
l.TextSize = size or 14
l.Parent = frame
return l
end
label("PURPLE HUB", 8, 20)
label("SPEED SETTINGS", 38, 13)
local value = 16
local valueLabel = label("Speed: 16", 65, 15)
local function button(text, x, y, width)
local b = Instance.new("TextButton")
b.Size = UDim2.fromOffset(width, 38)
b.Position = UDim2.fromOffset(x, y)
b.BackgroundColor3 = Color3.fromRGB(105, 60, 160)
b.Text = text
b.TextColor3 = Color3.new(1, 1, 1)
b.Font = Enum.Font.GothamBold
b.TextSize = 14
b.Parent = frame
Instance.new("UICorner", b).CornerRadius =
UDim.new(0, 8)
return b
end
button("-", 15, 100, 65).Activated:Connect(function()
value = math.max(8, value - 2)
valueLabel.Text = "Speed: " .. value
end)
button("+", 180, 100, 65).Activated:Connect(function()
value = math.min(32, value + 2)
valueLabel.Text = "Speed: " .. value
end)
local close = button("CLOSE", 65, 148, 130)
close.Activated:Connect(function()
gui:Destroy()
end)
-- PURPLE HUB | Mock Anti-Cheat Tester
-- Simulation only. No real detection or protection.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubTestLab"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local purple = Color3.fromRGB(165, 95, 255)
local bg = Color3.fromRGB(24, 17, 36)
local white = Color3.fromRGB(245, 238, 255)
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(290, 330)
frame.Position = UDim2.new(0.5, -145, 0.5, -165)
frame.BackgroundColor3 = bg
frame.BorderSizePixel = 0
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius =
UDim.new(0, 14)
local stroke = Instance.new("UIStroke", frame)
stroke.Color = purple
stroke.Thickness = 2
local function label(text, y, height, size, color)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -24, 0, height)
l.Position = UDim2.fromOffset(12, y)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = color or white
l.Font = Enum.Font.GothamBold
l.TextSize = size or 14
l.TextWrapped = true
l.TextXAlignment = Enum.TextXAlignment.Left
l.Parent = frame
return l
end
local function button(text, y)
local b = Instance.new("TextButton")
b.Size = UDim2.new(1, -24, 0, 36)
b.Position = UDim2.fromOffset(12, y)
b.BackgroundColor3 = Color3.fromRGB(92, 53, 135)
b.Text = text
b.TextColor3 = white
b.Font = Enum.Font.GothamBold
b.TextSize = 13
b.Parent = frame
Instance.new("UICorner", b).CornerRadius =
UDim.new(0, 8)
return b
end
label("PURPLE HUB", 10, 28, 21, purple)
label("MOCK ANTI-CHEAT TEST LAB", 40, 22, 12)
local status = label(
"Status: Ready for simulation",
70, 26, 13, Color3.fromRGB(190, 255, 200)
)
local result = label(
"Test results will appear here.",
100, 42, 12
)
local count = 0
local runTest = button("RUN MOCK TEST", 155)
local warning = button("SIMULATE WARNING", 199)
local reset = button("RESET TESTS", 243)
local close = button("CLOSE", 287)
runTest.Activated:Connect(function()
count += 1
status.Text = "Status: Mock test completed"
status.TextColor3 = Color3.fromRGB(190, 255, 200)
result.Text = "Test #" .. count ..
": Simulation passed. No real game was checked."
end)
warning.Activated:Connect(function()
count += 1
status.Text = "Status: Simulated warning"
status.TextColor3 = Color3.fromRGB(255, 190, 100)
result.Text = "Test #" .. count ..
": Example warning generated for UI testing."
end)
reset.Activated:Connect(function()
count = 0
status.Text = "Status: Ready for simulation"
status.TextColor3 = Color3.fromRGB(190, 255, 200)
result.Text = "Test results will appear here."
end)
close.Activated:Connect(function()
gui:Destroy()
end)
-- PURPLE HUB | Stats Dashboard
-- Mobile-friendly visual/practice demo
-- No live-game exploits or matchmaking automation.
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubStats"
gui.ResetOnSpawn = false
gui.DisplayOrder = 999
gui.Parent = player:WaitForChild("PlayerGui")
local PURPLE = Color3.fromRGB(166, 100, 255)
local BG = Color3.fromRGB(22, 17, 33)
local PANEL = Color3.fromRGB(38, 28, 52)
local WHITE = Color3.fromRGB(245, 239, 255)
local MUTED = Color3.fromRGB(190, 175, 210)
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.fromOffset(280, 430)
main.Position = UDim2.new(0.5, -140, 0.5, -215)
main.BackgroundColor3 = BG
main.BorderSizePixel = 0
main.ClipsDescendants = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius =
UDim.new(0, 14)
local outline = Instance.new("UIStroke", main)
outline.Color = PURPLE
outline.Thickness = 1.5
-- Header / drag handle
local header = Instance.new("TextButton")
header.Name = "DragHeader"
header.Size = UDim2.new(1, 0, 0, 48)
header.BackgroundColor3 = PANEL
header.Text = "PURPLE HUB ≡"
header.TextColor3 = WHITE
header.Font = Enum.Font.GothamBold
header.TextSize = 18
header.Parent = main
Instance.new("UICorner", header).CornerRadius =
UDim.new(0, 12)
-- Touch + mouse dragging
local dragging = false
local dragInput
local dragStart
local startPosition
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPosition = main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
header.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input == dragInput then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
end
end)
local function label(text, y, height, size, color)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -24, 0, height)
l.Position = UDim2.fromOffset(12, y)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = color or WHITE
l.Font = Enum.Font.GothamBold
l.TextSize = size or 14
l.TextXAlignment = Enum.TextXAlignment.Left
l.TextWrapped = true
l.Parent = main
return l
end
local function button(text, y, color)
local b = Instance.new("TextButton")
b.Size = UDim2.new(1, -24, 0, 38)
b.Position = UDim2.fromOffset(12, y)
b.BackgroundColor3 = color or PURPLE
b.Text = text
b.TextColor3 = WHITE
b.Font = Enum.Font.GothamBold
b.TextSize = 13
b.Parent = main
Instance.new("UICorner", b).CornerRadius =
UDim.new(0, 8)
return b
end
label("STATS DASHBOARD", 56, 24, 15, PURPLE)
local timerLabel = label("Session: 00:00", 84, 25, 14)
local scoreLabel = label("Practice Score: 0", 116, 25, 14)
local accuracyLabel = label("Accuracy: 0%", 148, 25, 14)
local testsLabel = label("Mock Tests: 0", 180, 25, 14)
local statusLabel = label(
"Status: Ready to practice",
211, 24, 12, MUTED
)
local startButton = button("START PRACTICE SESSION", 245)
local scoreButton = button(
"ADD PRACTICE POINTS (+10)", 291,
Color3.fromRGB(100, 62, 145)
)
local resetButton = button(
"RESET SESSION", 337,
Color3.fromRGB(70, 49, 89)
)
local closeButton = button(
"CLOSE DASHBOARD", 383,
Color3.fromRGB(80, 42, 93)
)
-- Local demo statistics
local seconds = 0
local score = 0
local tests = 0
local running = false
local function refresh()
timerLabel.Text = string.format(
"Session: %02d:%02d",
math.floor(seconds / 60),
seconds % 60
)
scoreLabel.Text = "Practice Score: " .. score
testsLabel.Text = "Mock Tests: " .. tests
-- Demo-only estimate based on practice points.
local accuracy = 0
if score > 0 then
accuracy = math.min(100, math.floor(score / 2))
end
accuracyLabel.Text = "Accuracy: " .. accuracy .. "%"
startButton.Text = running
and "PAUSE PRACTICE SESSION"
or "START PRACTICE SESSION"
statusLabel.Text = running
and "Status: Practice running"
or "Status: Ready to practice"
end
startButton.Activated:Connect(function()
running = not running
tests += 1
refresh()
end)
scoreButton.Activated:Connect(function()
score += 10
refresh()
end)
resetButton.Activated:Connect(function()
seconds = 0
score = 0
tests = 0
running = false
refresh()
end)
closeButton.Activated:Connect(function()
gui:Destroy()
end)
task.spawn(function()
while gui.Parent do
task.wait(1)
if running and gui.Parent then
seconds += 1
refresh()
end
end
end)
refresh()
-- PURPLE HUB | Mobile UI Settings
-- Visual/practice UI demo only.
-- No live-game exploit functionality.
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubSettings"
gui.ResetOnSpawn = false
gui.DisplayOrder = 999
gui.Parent = player:WaitForChild("PlayerGui")
local themes = {
Purple = Color3.fromRGB(165, 95, 255),
Cyan = Color3.fromRGB(50, 210, 230),
Pink = Color3.fromRGB(255, 90, 180),
Red = Color3.fromRGB(255, 75, 90)
}
local settings = {
Size = "Medium",
Theme = "Purple",
ShowStatus = true
}
local bg = Color3.fromRGB(23, 17, 34)
local white = Color3.fromRGB(245, 238, 255)
local muted = Color3.fromRGB(190, 175, 210)
local sizes = {
Small = UDim2.fromOffset(240, 390),
Medium = UDim2.fromOffset(280, 440),
Large = UDim2.fromOffset(310, 490)
}
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = sizes[settings.Size]
main.Position = UDim2.new(0.5, -140, 0.5, -220)
main.BackgroundColor3 = bg
main.BorderSizePixel = 0
main.ClipsDescendants = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius =
UDim.new(0, 14)
local outline = Instance.new("UIStroke", main)
outline.Color = themes[settings.Theme]
outline.Thickness = 1.5
local function label(text, y, height, size, color)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -24, 0, height)
l.Position = UDim2.fromOffset(12, y)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = color or white
l.Font = Enum.Font.GothamBold
l.TextSize = size or 14
l.TextXAlignment = Enum.TextXAlignment.Left
l.TextWrapped = true
l.Parent = main
return l
end
local function button(text, x, y, width, height)
local b = Instance.new("TextButton")
b.Size = UDim2.fromOffset(width, height)
b.Position = UDim2.fromOffset(x, y)
b.BackgroundColor3 = themes[settings.Theme]
b.Text = text
b.TextColor3 = white
b.Font = Enum.Font.GothamBold
b.TextSize = 12
b.Parent = main
Instance.new("UICorner", b).CornerRadius =
UDim.new(0, 8)
return b
end
-- Drag header
local header = Instance.new("TextButton")
header.Size = UDim2.new(1, 0, 0, 46)
header.BackgroundColor3 = Color3.fromRGB(38, 28, 52)
header.Text = "PURPLE HUB • SETTINGS"
header.TextColor3 = white
header.Font = Enum.Font.GothamBold
header.TextSize = 15
header.Parent = main
Instance.new("UICorner", header).CornerRadius =
UDim.new(0, 12)
local dragging = false
local dragStart, startPosition, dragInput
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPosition = main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
header.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input == dragInput then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
end
end)
label("UI SIZE", 56, 22, 14, muted)
local sizeButtons = {}
local function refreshSizeButtons()
for name, b in pairs(sizeButtons) do
b.BackgroundColor3 =
settings.Size == name
and themes[settings.Theme]
or Color3.fromRGB(70, 53, 88)
end
end
for i, name in ipairs({"Small", "Medium", "Large"}) do
local b = button(name, 12 + (i - 1) * 86, 82, 80, 34)
sizeButtons[name] = b
b.Activated:Connect(function()
settings.Size = name
local selected = sizes[name]
main.Size = selected
main.Position = UDim2.new(
0.5, -selected.X.Offset / 2,
0.5, -selected.Y.Offset / 2
)
refreshSizeButtons()
end)
end
label("THEME COLOR", 128, 22, 14, muted)
local themeButtons = {}
local themeNames = {"Purple", "Cyan", "Pink", "Red"}
local function applyTheme()
outline.Color = themes[settings.Theme]
for _, b in pairs(themeButtons) do
b.BackgroundColor3 = themes[b.Name]
end
refreshSizeButtons()
end
for i, name in ipairs(themeNames) do
local b = button(name, 12 + (i - 1) * 64, 154, 58, 34)
b.Name = name
themeButtons[name] = b
b.Activated:Connect(function()
settings.Theme = name
applyTheme()
end)
end
local statusLabel = label(
"Status display: ON",
203, 24, 13
)
local toggle = button("TOGGLE STATUS", 232, 42, 36)
toggle.Size = UDim2.new(1, -24, 0, 36)
toggle.Position = UDim2.fromOffset(12, 232)
toggle.Activated:Connect(function()
settings.ShowStatus = not settings.ShowStatus
statusLabel.Text = settings.ShowStatus
and "Status display: ON"
or "Status display: OFF"
end)
local saveButton = button("SAVE SETTINGS", 278, 42, 38)
saveButton.Size = UDim2.new(1, -24, 0, 38)
saveButton.Position = UDim2.fromOffset(12, 278)
local saveMessage = label(
"Settings not saved yet",
320, 26, 12, muted
)
saveButton.Activated:Connect(function()
-- Keeps the chosen settings in memory for this running UI.
-- Persistent saving requires storage in an experience you control.
saveMessage.Text = "Settings saved for this session!"
saveMessage.TextColor3 = themes[settings.Theme]
end)
local resetButton = button("RESET DEFAULTS", 12, 354, 124, 36)
resetButton.Activated:Connect(function()
settings.Size = "Medium"
settings.Theme = "Purple"
settings.ShowStatus = true
main.Size = sizes.Medium
main.Position = UDim2.new(0.5, -140, 0.5, -220)
statusLabel.Text = "Status display: ON"
saveMessage.Text = "Defaults restored"
saveMessage.TextColor3 = muted
applyTheme()
end)
local closeButton = button("CLOSE", 144, 354, 124, 36)
closeButton.Activated:Connect(function()
gui:Destroy()
end)
applyTheme()
refreshSizeButtons()
-- 💜 PURPLE HUB | AUTO-KILL PRACTICE SIM
-- Visual practice demo only — no live-player targeting.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubPractice"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(270, 220)
frame.Position = UDim2.new(0.5, -135, 0.5, -110)
frame.BackgroundColor3 = Color3.fromRGB(35, 15, 65)
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 42)
title.BackgroundColor3 = Color3.fromRGB(105, 45, 210)
title.Text = "💜 PURPLE HUB"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = frame
local function makeLabel(text, y)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -20, 0, 30)
label.Position = UDim2.fromOffset(10, y)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.new(1, 1, 1)
label.Text = text
label.TextScaled = true
label.Font = Enum.Font.Gotham
label.Parent = frame
return label
end
-- 💜 CLOSE UI + REOPEN BUTTON
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.fromOffset(38, 34)
closeButton.Position = UDim2.new(1, -42, 0, 4)
closeButton.BackgroundColor3 = Color3.fromRGB(180, 45, 85)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = frame
Instance.new("UICorner", closeButton).CornerRadius =
UDim.new(0, 8)
local reopenButton = Instance.new("TextButton")
reopenButton.Name = "ReopenPurpleHub"
reopenButton.Size = UDim2.fromOffset(100, 42)
reopenButton.Position = UDim2.new(0, 15, 0.5, 0)
reopenButton.BackgroundColor3 = Color3.fromRGB(105, 45, 210)
reopenButton.Text = "💜 Reopen"
reopenButton.TextColor3 = Color3.new(1, 1, 1)
reopenButton.TextScaled = true
reopenButton.Font = Enum.Font.GothamBold
reopenButton.Visible = false
reopenButton.Parent = gui
Instance.new("UICorner", reopenButton).CornerRadius =
UDim.new(0, 10)
closeButton.Activated:Connect(function()
frame.Visible = false
reopenButton.Visible = true
end)
reopenButton.Activated:Connect(function()
frame.Visible = true
reopenButton.Visible = false
end)
-- 💜 PURPLE HUB | AUTO-KILL PRACTICE SIM
-- Visual practice demo only — no live-player targeting.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "PurpleHubPractice"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(270, 220)
frame.Position = UDim2.new(0.5, -135, 0.5, -110)
frame.BackgroundColor3 = Color3.fromRGB(35, 15, 65)
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 42)
title.BackgroundColor3 = Color3.fromRGB(105, 45, 210)
title.Text = "💜 PURPLE HUB"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = frame
local function makeLabel(text, y)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -20, 0, 30)
label.Position = UDim2.fromOffset(10, y)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.new(1, 1, 1)
label.Text = text
label.TextScaled = true
label.Font = Enum.Font.Gotham
label.Parent = frame
return label
end
local status = makeLabel("Auto-Kill Sim: OFF", 52)
local count = makeLabel("Practice targets: 0", 87)
local toggle = Instance.new("TextButton")
toggle.Size = UDim2.new(1, -24, 0, 42)
toggle.Position = UDim2.fromOffset(12, 130)
toggle.BackgroundColor3 = Color3.fromRGB(130, 65, 230)
toggle.TextColor3 = Color3.new(1, 1, 1)
toggle.Text = "START PRACTICE"
toggle.TextScaled = true
toggle.Font = Enum.Font.GothamBold
toggle.Parent = frame
Instance.new("UICorner", toggle).CornerRadius = UDim.new(0, 8)
local running = false
local targets = 0
toggle.Activated:Connect(function()
running = not running
if running then
toggle.Text = "STOP PRACTICE"
status.Text = "Auto-Kill Sim: ON"
targets = 0
task.spawn(function()
while running do
task.wait(1)
if not running then break end
targets += 1
count.Text = "Practice targets: " .. targets
end
end)
else
toggle.Text = "START PRACTICE"
status.Text = "Auto-Kill Sim: OFF"
end
end)
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place