Azzume GUI v2 or Azzume Sandbox
Key RequiredUniversal

Azzume GUI v2 or Azzume Sandbox

Universal Script*ume*ume 29 views 130 executesUpdated Aug 1, 2026
Unrated
00
Lua Script•872 lines (26959 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local Colors = {
	red = Color3.fromRGB(255, 60, 60),
	orange = Color3.fromRGB(255, 150, 40),
	yellow = Color3.fromRGB(255, 230, 60),
	green = Color3.fromRGB(70, 220, 100),
	blue = Color3.fromRGB(60, 140, 255),
	purple = Color3.fromRGB(170, 90, 255),
	pink = Color3.fromRGB(255, 110, 200),
	white = Color3.fromRGB(255, 255, 255),
	black = Color3.fromRGB(30, 30, 30),
}

local Emotes = {
	wave = "rbxassetid://507770239",
	dance = "rbxassetid://507771019",
	point = "rbxassetid://507770453",
	cheer = "rbxassetid://507770677",
}

local Commands = {
	speed = { desc = "speed(n) - set your own WalkSpeed", min = 16, max = 60 },
	jumppower = { desc = "jumppower(n) - set your own JumpPower", min = 50, max = 150 },
	crosshair = { desc = "crosshair(true/false, \"color\") - toggle your custom reticle" },
	guicolor = { desc = "guicolor(\"name\") - change this panel's background color" },
	antifling = { desc = "antifling(true/false) - dampens sudden velocity spikes from fling exploits" },
	emote = { desc = "emote(\"name\") - play an emote on yourself" },
	teleport = { desc = "teleport(\"name\") - go to a named spot OR a player's current name" },
	print = { desc = "print(\"message\") - write to your own console" },
	wait = { desc = "wait(seconds) - pause before the next line (0.1 - 5)", min = 0.1, max = 5 },
	noclip = { desc = "noclip(true/false) - toggle noclip" },
	esp = { desc = "esp(true/false) - toggle ESP highlights on all players" },
	flight = { desc = "flight(true/false) - toggle flight (WASD + Space/Ctrl)" },
	fling = { desc = "fling(\"name\") - fling a player by name" },
	aimbot = { desc = "aimbot(true/false) - toggle camera lock aimbot" },
	infinitejump = { desc = "infinitejump(true/false) - toggle infinite jump" },
}

local Limits = {
	maxLines = 40,
	maxRepeatCount = 20,
	maxTotalStatements = 200,
	cooldownSeconds = 2,
}

local function corner(guiObject, radius)
	local c = Instance.new("UICorner")
	c.CornerRadius = UDim.new(0, radius or 8)
	c.Parent = guiObject
end

local function applyRainbow(guiObject, speed, saturation, value)
	speed = speed or 0.15
	saturation = saturation or 0.65
	value = value or 1
	RunService.RenderStepped:Connect(function()
		local hue = (os.clock() * speed) % 1
		guiObject.BackgroundColor3 = Color3.fromHSV(hue, saturation, value)
	end)
end

local function rainbowStroke(guiObject, speed, thickness)
	local stroke = Instance.new("UIStroke")
	stroke.Thickness = thickness or 2
	stroke.Parent = guiObject
	RunService.RenderStepped:Connect(function()
		local hue = (os.clock() * (speed or 0.2)) % 1
		stroke.Color = Color3.fromHSV(hue, 0.8, 1)
	end)
	return stroke
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AssumeGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui

local loadingScreen = Instance.new("Frame")
loadingScreen.Size = UDim2.fromScale(1, 1)
loadingScreen.BackgroundColor3 = Color3.fromRGB(10, 10, 15)
loadingScreen.ZIndex = 100
loadingScreen.Parent = screenGui

local logoLabel = Instance.new("TextLabel")
logoLabel.Size = UDim2.fromScale(0.6, 0.15)
logoLabel.Position = UDim2.fromScale(0.2, 0.4)
logoLabel.BackgroundTransparency = 1
logoLabel.Text = "ASSUME"
logoLabel.Font = Enum.Font.GothamBlack
logoLabel.TextScaled = true
logoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
logoLabel.ZIndex = 101
logoLabel.Parent = loadingScreen

local subLabel = Instance.new("TextLabel")
subLabel.Size = UDim2.fromScale(0.6, 0.05)
subLabel.Position = UDim2.fromScale(0.2, 0.55)
subLabel.BackgroundTransparency = 1
subLabel.Text = "loading..."
subLabel.Font = Enum.Font.Gotham
subLabel.TextScaled = true
subLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
subLabel.ZIndex = 101
subLabel.Parent = loadingScreen

local barBg = Instance.new("Frame")
barBg.Size = UDim2.fromScale(0.4, 0.02)
barBg.Position = UDim2.fromScale(0.3, 0.63)
barBg.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
barBg.ZIndex = 101
barBg.Parent = loadingScreen
corner(barBg, 10)

local barFill = Instance.new("Frame")
barFill.Size = UDim2.fromScale(0, 1)
barFill.BackgroundColor3 = Color3.fromRGB(255, 0, 150)
barFill.ZIndex = 102
barFill.Parent = barBg
corner(barFill, 10)
applyRainbow(barFill, 0.3)

task.spawn(function()
	local tween = TweenService:Create(barFill, TweenInfo.new(1.4, Enum.EasingStyle.Quad), { Size = UDim2.fromScale(1, 1) })
	tween:Play()
	tween.Completed:Wait()
	task.wait(0.3)
	local fade = TweenService:Create(loadingScreen, TweenInfo.new(0.5), { BackgroundTransparency = 1 })
	for _, obj in ipairs(loadingScreen:GetDescendants()) do
		if obj:IsA("TextLabel") then
			TweenService:Create(obj, TweenInfo.new(0.5), { TextTransparency = 1 }):Play()
		end
	end
	fade:Play()
	fade.Completed:Wait()
	loadingScreen:Destroy()
end)

local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.fromOffset(140, 40)
toggleButton.AnchorPoint = Vector2.new(1, 0)
toggleButton.Position = UDim2.new(1, -20, 0, 20)
toggleButton.Text = "Assume"
toggleButton.Font = Enum.Font.GothamBold
toggleButton.TextScaled = true
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.Parent = screenGui
corner(toggleButton, 10)
applyRainbow(toggleButton, 0.12)
rainbowStroke(toggleButton, 0.2, 2)

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.fromOffset(560, 420)
mainFrame.Position = UDim2.new(0.5, -280, 0.5, -210)
mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
mainFrame.Visible = false
mainFrame.Parent = screenGui
corner(mainFrame, 12)
rainbowStroke(mainFrame, 0.1, 3)

local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 40)
titleBar.BackgroundTransparency = 1
titleBar.Parent = mainFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -40, 1, 0)
titleLabel.Position = UDim2.fromOffset(12, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Assume"
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextScaled = true
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.Parent = titleBar

local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.fromOffset(28, 28)
closeButton.Position = UDim2.new(1, -34, 0, 6)
closeButton.Text = "X"
closeButton.Font = Enum.Font.GothamBold
closeButton.TextScaled = true
closeButton.BackgroundColor3 = Color3.fromRGB(60, 20, 25)
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.Parent = titleBar
corner(closeButton, 6)

local editorBox = Instance.new("TextBox")
editorBox.Size = UDim2.new(1, -24, 0, 190)
editorBox.Position = UDim2.fromOffset(12, 48)
editorBox.BackgroundColor3 = Color3.fromRGB(10, 10, 12)
editorBox.TextColor3 = Color3.fromRGB(120, 255, 160)
editorBox.PlaceholderText = 'speed(40)\nnoclip(true)\nflight(true)\naimbot(true)\ninfinitejump(true)\nfling("PlayerName")\nesp(true)'
editorBox.PlaceholderColor3 = Color3.fromRGB(90, 90, 90)
editorBox.Text = ""
editorBox.Font = Enum.Font.Code
editorBox.TextSize = 16
editorBox.TextXAlignment = Enum.TextXAlignment.Left
editorBox.TextYAlignment = Enum.TextYAlignment.Top
editorBox.ClearTextOnFocus = false
editorBox.MultiLine = true
editorBox.Parent = mainFrame
corner(editorBox, 8)

local runButton = Instance.new("TextButton")
runButton.Size = UDim2.fromOffset(120, 36)
runButton.Position = UDim2.fromOffset(12, 248)
runButton.Text = "Run ▶"
runButton.Font = Enum.Font.GothamBold
runButton.TextScaled = true
runButton.TextColor3 = Color3.fromRGB(255, 255, 255)
runButton.BackgroundColor3 = Color3.fromRGB(40, 160, 90)
runButton.Parent = mainFrame
corner(runButton, 8)

local helpButton = Instance.new("TextButton")
helpButton.Size = UDim2.fromOffset(120, 36)
helpButton.Position = UDim2.fromOffset(140, 248)
helpButton.Text = "Commands"
helpButton.Font = Enum.Font.GothamBold
helpButton.TextScaled = true
helpButton.TextColor3 = Color3.fromRGB(255, 255, 255)
helpButton.BackgroundColor3 = Color3.fromRGB(50, 90, 200)
helpButton.Parent = mainFrame
corner(helpButton, 8)

local consoleFrame = Instance.new("ScrollingFrame")
consoleFrame.Size = UDim2.new(1, -24, 0, 110)
consoleFrame.Position = UDim2.fromOffset(12, 296)
consoleFrame.BackgroundColor3 = Color3.fromRGB(8, 8, 10)
consoleFrame.CanvasSize = UDim2.fromOffset(0, 0)
consoleFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
consoleFrame.ScrollBarThickness = 6
consoleFrame.Parent = mainFrame
corner(consoleFrame, 8)

local consoleLayout = Instance.new("UIListLayout")
consoleLayout.Padding = UDim.new(0, 2)
consoleLayout.Parent = consoleFrame

local function logToConsole(text, color)
	local label = Instance.new("TextLabel")
	label.Size = UDim2.new(1, -8, 0, 18)
	label.Position = UDim2.fromOffset(4, 0)
	label.BackgroundTransparency = 1
	label.Text = text
	label.Font = Enum.Font.Code
	label.TextSize = 14
	label.TextXAlignment = Enum.TextXAlignment.Left
	label.TextColor3 = color or Color3.fromRGB(200, 200, 200)
	label.Parent = consoleFrame
end

local helpFrame = Instance.new("Frame")
helpFrame.Size = UDim2.fromOffset(320, 420)
helpFrame.Position = UDim2.new(0.5, 260, 0.5, -210)
helpFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
helpFrame.Visible = false
helpFrame.Parent = screenGui
corner(helpFrame, 12)
rainbowStroke(helpFrame, 0.15, 2)

local helpTitle = Instance.new("TextLabel")
helpTitle.Size = UDim2.new(1, 0, 0, 36)
helpTitle.BackgroundTransparency = 1
helpTitle.Text = "Available Commands"
helpTitle.Font = Enum.Font.GothamBold
helpTitle.TextScaled = true
helpTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
helpTitle.Parent = helpFrame

local helpScroll = Instance.new("ScrollingFrame")
helpScroll.Size = UDim2.new(1, -16, 1, -48)
helpScroll.Position = UDim2.fromOffset(8, 40)
helpScroll.BackgroundTransparency = 1
helpScroll.CanvasSize = UDim2.fromOffset(0, 0)
helpScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
helpScroll.ScrollBarThickness = 6
helpScroll.Parent = helpFrame

local helpLayout = Instance.new("UIListLayout")
helpLayout.Padding = UDim.new(0, 6)
helpLayout.Parent = helpScroll

for cmdName, def in pairs(Commands) do
	local line = Instance.new("TextLabel")
	line.Size = UDim2.new(1, 0, 0, 32)
	line.BackgroundTransparency = 1
	line.Text = def.desc
	line.Font = Enum.Font.Code
	line.TextSize = 13
	line.TextWrapped = true
	line.TextXAlignment = Enum.TextXAlignment.Left
	line.TextColor3 = Color3.fromRGB(180, 220, 255)
	line.Parent = helpScroll
end

local loopNote = Instance.new("TextLabel")
loopNote.Size = UDim2.new(1, 0, 0, 60)
loopNote.BackgroundTransparency = 1
loopNote.Text = 'Loops:\nrepeat 5 do\n jumppower(90)\n wait(0.3)\nend'
loopNote.Font = Enum.Font.Code
loopNote.TextSize = 13
loopNote.TextWrapped = true
loopNote.TextXAlignment = Enum.TextXAlignment.Left
loopNote.TextColor3 = Color3.fromRGB(255, 220, 150)
loopNote.Parent = helpScroll

local crosshairGui = Instance.new("Frame")
crosshairGui.Size = UDim2.fromOffset(20, 20)
crosshairGui.AnchorPoint = Vector2.new(0.5, 0.5)
crosshairGui.Position = UDim2.fromScale(0.5, 0.5)
crosshairGui.BackgroundTransparency = 1
crosshairGui.Visible = false
crosshairGui.Parent = screenGui

local function crosshairLine(rotation)
	local line = Instance.new("Frame")
	line.Size = UDim2.fromOffset(20, 2)
	line.AnchorPoint = Vector2.new(0.5, 0.5)
	line.Position = UDim2.fromScale(0.5, 0.5)
	line.Rotation = rotation
	line.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	line.BorderSizePixel = 0
	line.Parent = crosshairGui
	return line
end

local hLine = crosshairLine(0)
local vLine = crosshairLine(90)
local crosshairRainbowOn = false

RunService.RenderStepped:Connect(function()
	if crosshairRainbowOn and crosshairGui.Visible then
		local hue = (os.clock() * 0.3) % 1
		local c = Color3.fromHSV(hue, 0.8, 1)
		hLine.BackgroundColor3 = c
		vLine.BackgroundColor3 = c
	end
end)

toggleButton.MouseButton1Click:Connect(function()
	mainFrame.Visible = not mainFrame.Visible
end)

closeButton.MouseButton1Click:Connect(function()
	mainFrame.Visible = false
	helpFrame.Visible = false
end)

helpButton.MouseButton1Click:Connect(function()
	helpFrame.Visible = not helpFrame.Visible
end)

local function toLines(code)
	local lines = {}
	for line in code:gmatch("[^\r\n]+") do
		local trimmed = line:match("^%s*(.-)%s*$")
		if trimmed ~= "" and trimmed:sub(1, 2) ~= "--" then
			table.insert(lines, trimmed)
		end
	end
	return lines
end

local function parseArgs(argsStr)
	local args = {}
	if argsStr == nil or argsStr:match("^%s*$") then
		return args
	end
	for piece in argsStr:gmatch("[^,]+") do
		local a = piece:match("^%s*(.-)%s*$")
		local str = a:match('^"(.-)"$')
		if str then
			table.insert(args, str)
		elseif a == "true" then
			table.insert(args, true)
		elseif a == "false" then
			table.insert(args, false)
		elseif tonumber(a) then
			table.insert(args, tonumber(a))
		else
			table.insert(args, false)
		end
	end
	return args
end

local function parseBlock(lines, startIdx)
	local statements = {}
	local i = startIdx
	while i <= #lines do
		local line = lines[i]
		if line == "end" then
			return statements, i
		end
		local repeatCount = line:match("^repeat%s+(%d+)%s+do$")
		if repeatCount then
			local body, endIdx = parseBlock(lines, i + 1)
			table.insert(statements, { kind = "repeat", count = tonumber(repeatCount), body = body })
			i = endIdx + 1
		else
			local fname, argsStr = line:match("^(%a+)%((.-)%)$")
			if fname and Commands[fname] then
				table.insert(statements, { kind = "call", name = fname, args = parseArgs(argsStr), raw = line })
			else
				table.insert(statements, { kind = "error", raw = line })
			end
			i = i + 1
		end
	end
	return statements, i
end

local function countStatements(statements)
	local total = 0
	for _, stmt in ipairs(statements) do
		if stmt.kind == "repeat" then
			local count = math.clamp(stmt.count, 1, Limits.maxRepeatCount)
			total += count * countStatements(stmt.body)
		else
			total += 1
		end
	end
	return total
end

local ANTIFLING_MAX_SPEED = 120
local ANTIFLING_MAX_SPIN = 20
local antiflingConnection = nil

local function setAntifling(on)
	if on and not antiflingConnection then
		antiflingConnection = RunService.Heartbeat:Connect(function()
			local char = player.Character
			local root = char and char:FindFirstChild("HumanoidRootPart")
			if not root then return end
			local vel = root.AssemblyLinearVelocity
			if vel.Magnitude > ANTIFLING_MAX_SPEED then
				root.AssemblyLinearVelocity = vel.Unit * ANTIFLING_MAX_SPEED
			end
			local spin = root.AssemblyAngularVelocity
			if spin.Magnitude > ANTIFLING_MAX_SPIN then
				root.AssemblyAngularVelocity = Vector3.new()
			end
		end)
	elseif not on and antiflingConnection then
		antiflingConnection:Disconnect()
		antiflingConnection = nil
	end
end

local noclipConnection = nil

local function setNoclip(on)
	if on and not noclipConnection then
		noclipConnection = RunService.Stepped:Connect(function()
			local char = player.Character
			if not char then return end
			for _, part in ipairs(char:GetDescendants()) do
				if part:IsA("BasePart") then
					part.CanCollide = false
				end
			end
		end)
	elseif not on and noclipConnection then
		noclipConnection:Disconnect()
		noclipConnection = nil
	end
end

local espObjects = {}
local espConnections = {}

local function clearESP()
	for _, obj in ipairs(espObjects) do
		if obj and obj.Parent then
			obj:Destroy()
		end
	end
	espObjects = {}
	for _, conn in ipairs(espConnections) do
		conn:Disconnect()
	end
	espConnections = {}
end

local function addESPToCharacter(char)
	if not char then return end
	local highlight = Instance.new("Highlight")
	highlight.Name = "SW_ESP"
	highlight.FillColor = Color3.fromRGB(255, 50, 50)
	highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
	highlight.FillTransparency = 0.55
	highlight.OutlineTransparency = 0
	highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
	highlight.Parent = char
	table.insert(espObjects, highlight)
end

local function setESP(on)
	clearESP()
	if not on then return end

	for _, p in ipairs(Players:GetPlayers()) do
		if p ~= player then
			if p.Character then
				addESPToCharacter(p.Character)
			end
			local conn = p.CharacterAdded:Connect(function(char)
				task.wait(0.3)
				addESPToCharacter(char)
			end)
			table.insert(espConnections, conn)
		end
	end

	local joinConn = Players.PlayerAdded:Connect(function(p)
		local conn = p.CharacterAdded:Connect(function(char)
			task.wait(0.3)
			addESPToCharacter(char)
		end)
		table.insert(espConnections, conn)
	end)
	table.insert(espConnections, joinConn)
end

local flightConnection = nil
local bodyVelocity = nil
local FLIGHT_SPEED = 80

local function setFlight(on)
	local char = player.Character
	local root = char and char:FindFirstChild("HumanoidRootPart")
	local hum = char and char:FindFirstChildOfClass("Humanoid")

	if flightConnection then
		flightConnection:Disconnect()
		flightConnection = nil
	end
	if bodyVelocity then
		bodyVelocity:Destroy()
		bodyVelocity = nil
	end

	if not on then
		if hum then
			hum.PlatformStand = false
		end
		return
	end

	if not root or not hum then return end

	hum.PlatformStand = true
	bodyVelocity = Instance.new("BodyVelocity")
	bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
	bodyVelocity.Velocity = Vector3.zero
	bodyVelocity.Parent = root

	flightConnection = RunService.RenderStepped:Connect(function()
		if not bodyVelocity or not bodyVelocity.Parent then return end
		local cam = workspace.CurrentCamera
		local move = Vector3.zero

		if UserInputService:IsKeyDown(Enum.KeyCode.W) then move += cam.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.S) then move -= cam.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.A) then move -= cam.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.D) then move += cam.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0, 1, 0) end
		if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.C) then
			move -= Vector3.new(0, 1, 0)
		end

		if move.Magnitude > 0 then
			bodyVelocity.Velocity = move.Unit * FLIGHT_SPEED
		else
			bodyVelocity.Velocity = Vector3.zero
		end
	end)
end

local infiniteJumpConnection = nil

local function setInfiniteJump(on)
	if infiniteJumpConnection then
		infiniteJumpConnection:Disconnect()
		infiniteJumpConnection = nil
	end
	if on then
		infiniteJumpConnection = UserInputService.JumpRequest:Connect(function()
			local char = player.Character
			local hum = char and char:FindFirstChildOfClass("Humanoid")
			if hum then
				hum:ChangeState(Enum.HumanoidStateType.Jumping)
			end
		end)
	end
end

local aimbotConnection = nil

local function setAimbot(on)
	if aimbotConnection then
		aimbotConnection:Disconnect()
		aimbotConnection = nil
	end
	if not on then return end

	aimbotConnection = RunService.RenderStepped:Connect(function()
		local cam = workspace.CurrentCamera
		local myChar = player.Character
		local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
		if not myRoot then return end

		local closestHead = nil
		local closestDist = math.huge

		for _, p in ipairs(Players:GetPlayers()) do
			if p ~= player and p.Character then
				local head = p.Character:FindFirstChild("Head")
				local hum = p.Character:FindFirstChildOfClass("Humanoid")
				if head and hum and hum.Health > 0 then
					local dist = (head.Position - myRoot.Position).Magnitude
					local screenPos, onScreen = cam:WorldToViewportPoint(head.Position)
					if onScreen and dist < closestDist then
						closestDist = dist
						closestHead = head
					end
				end
			end
		end

		if closestHead then
			cam.CFrame = CFrame.new(cam.CFrame.Position, closestHead.Position)
		end
	end)
end

local function doFling(targetPlayer)
	local char = player.Character
	local root = char and char:FindFirstChild("HumanoidRootPart")
	local targetChar = targetPlayer.Character
	local targetRoot = targetChar and targetChar:FindFirstChild("HumanoidRootPart")

	if not root or not targetRoot then
		logToConsole("Can't fling - missing character parts")
		return
	end

	local spin = Instance.new("BodyAngularVelocity")
	spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
	spin.P = 10000
	spin.AngularVelocity = Vector3.new(0, 99999, 0)
	spin.Parent = root

	for i = 1, 8 do
		root.CFrame = targetRoot.CFrame
		root.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
		task.wait(0.04)
	end

	spin:Destroy()
	logToConsole("Flung: " .. targetPlayer.Name)
end

local isRunning = false

local function runCall(stmt)
	local character = player.Character
	if not character then return end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid then return end

	local name, args = stmt.name, stmt.args
	local def = Commands[name]

	if name == "speed" then
		local n = args[1]
		if type(n) ~= "number" then return logToConsole("speed() needs a number") end
		humanoid.WalkSpeed = math.clamp(n, def.min, def.max)
		logToConsole(("WalkSpeed set to %d"):format(humanoid.WalkSpeed))

	elseif name == "jumppower" then
		local n = args[1]
		if type(n) ~= "number" then return logToConsole("jumppower() needs a number") end
		humanoid.JumpPower = math.clamp(n, def.min, def.max)
		logToConsole(("JumpPower set to %d"):format(humanoid.JumpPower))

	elseif name == "crosshair" then
		local on, colorName = args[1], args[2]
		crosshairGui.Visible = on and true or false
		crosshairRainbowOn = false
		if colorName == "rainbow" then
			crosshairRainbowOn = true
		else
			local c = (type(colorName) == "string" and Colors[colorName]) or Color3.fromRGB(255, 255, 255)
			hLine.BackgroundColor3 = c
			vLine.BackgroundColor3 = c
		end
		logToConsole(on and "Crosshair on" or "Crosshair off")

	elseif name == "emote" then
		local emoteName = args[1]
		local animId = type(emoteName) == "string" and Emotes[emoteName:lower()]
		if not animId then return logToConsole("Unknown emote. Try: wave, dance, point, cheer") end
		local animator = humanoid:FindFirstChildOfClass("Animator")
		if animator then
			local anim = Instance.new("Animation")
			anim.AnimationId = animId
			local track = animator:LoadAnimation(anim)
			track:Play()
			logToConsole("Playing emote: " .. emoteName)
		end

	elseif name == "teleport" then
		local targetName = args[1]
		local root = character:FindFirstChild("HumanoidRootPart")
		if not root or type(targetName) ~= "string" then return end

		local spotsFolder = workspace:FindFirstChild("ScriptSpots")
		local spot = spotsFolder and spotsFolder:FindFirstChild(targetName)
		if spot and spot:IsA("BasePart") then
			root.CFrame = spot.CFrame + Vector3.new(0, 3, 0)
			logToConsole("Teleported to spot: " .. targetName)
			return
		end

		local lowerTarget = targetName:lower()
		local targetPlayer
		for _, p in ipairs(Players:GetPlayers()) do
			if p.Name:lower() == lowerTarget or p.DisplayName:lower() == lowerTarget then
				targetPlayer = p
				break
			end
		end
		if targetPlayer and targetPlayer.Character then
			local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
			if targetRoot then
				root.CFrame = targetRoot.CFrame + Vector3.new(3, 0, 0)
				logToConsole("Teleported to player: " .. targetPlayer.Name)
				return
			end
		end
		logToConsole("No spot or player named '" .. targetName .. "' found.")

	elseif name == "guicolor" then
		local colorName = args[1]
		local c = type(colorName) == "string" and Colors[colorName:lower()]
		if not c then return logToConsole("Unknown color. Try: red, blue, green, purple...") end
		mainFrame.BackgroundColor3 = c
		logToConsole("Panel color changed to " .. colorName)

	elseif name == "antifling" then
		local on = args[1] and true or false
		setAntifling(on)
		logToConsole(on and "Antifling on" or "Antifling off")

	elseif name == "print" then
		logToConsole(tostring(args[1]))

	elseif name == "wait" then
		local n = args[1]
		if type(n) ~= "number" then return logToConsole("wait() needs a number") end
		task.wait(math.clamp(n, def.min, def.max))

	elseif name == "noclip" then
		local on = args[1] and true or false
		setNoclip(on)
		logToConsole(on and "Noclip on" or "Noclip off")

	elseif name == "esp" then
		local on = args[1] and true or false
		setESP(on)
		logToConsole(on and "ESP on" or "ESP off")

	elseif name == "flight" then
		local on = args[1] and true or false
		setFlight(on)
		logToConsole(on and "Flight on - WASD + Space/Ctrl" or "Flight off")

	elseif name == "fling" then
		local targetName = args[1]
		if type(targetName) ~= "string" then
			return logToConsole('fling() needs a name: fling("PlayerName")')
		end
		local lowerTarget = targetName:lower()
		local targetPlayer
		for _, p in ipairs(Players:GetPlayers()) do
			if p.Name:lower() == lowerTarget or p.DisplayName:lower() == lowerTarget then
				targetPlayer = p
				break
			end
		end
		if not targetPlayer then
			return logToConsole("No player named '" .. targetName .. "' found.")
		end
		if targetPlayer == player then
			return logToConsole("You can't fling yourself.")
		end
		doFling(targetPlayer)

	elseif name == "aimbot" then
		local on = args[1] and true or false
		setAimbot(on)
		logToConsole(on and "Aimbot on" or "Aimbot off")

	elseif name == "infinitejump" then
		local on = args[1] and true or false
		setInfiniteJump(on)
		logToConsole(on and "Infinite Jump on" or "Infinite Jump off")
	end
end

local function runBlock(statements)
	for _, stmt in ipairs(statements) do
		if not isRunning then return end
		if stmt.kind == "call" then
			runCall(stmt)
		elseif stmt.kind == "repeat" then
			local count = math.clamp(stmt.count, 1, Limits.maxRepeatCount)
			for _ = 1, count do
				if not isRunning then return end
				runBlock(stmt.body)
			end
		elseif stmt.kind == "error" then
			logToConsole("Couldn't understand: " .. stmt.raw)
		end
	end
end

local lastRunAt = 0
runButton.MouseButton1Click:Connect(function()
	if isRunning then
		logToConsole("A script is already running.")
		return
	end
	local now = os.clock()
	if (now - lastRunAt) < Limits.cooldownSeconds then
		logToConsole("Slow down - wait a moment before running again.")
		return
	end
	local lines = toLines(editorBox.Text)
	if #lines > Limits.maxLines then
		logToConsole(("Script too long (max %d lines)."):format(Limits.maxLines))
		return
	end
	local ast = parseBlock(lines, 1)
	if countStatements(ast) > Limits.maxTotalStatements then
		logToConsole("Script does too much work (loops too large).")
		return
	end
	lastRunAt = now
	isRunning = true
	logToConsole("-- running --")
	task.spawn(function()
		local ok, errMsg = pcall(runBlock, ast)
		if not ok then
			logToConsole("Runtime error - script stopped.")
			warn("[Assume]", errMsg)
		end
		isRunning = false
		logToConsole("-- done --")
	end)
end)

Features & Information

Many features, you'll see them listed in the script

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts