Rose UNM        Universal Keyless Aimbot
Key RequiredUniversal

Rose UNM Universal Keyless Aimbot

Universal Scriptbagoratobagorato 12.5K views 390 executesUpdated May 4, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•353 lines (11519 chars)
-- [Core Services]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

-- [Config]
local AIM_PART = "Head"
local FOV_RADIUS = 150
local SMOOTHNESS = 0.35
local SNAP_THRESHOLD = 5

-- [Toggles]
local aimbotEnabled = false
local teamCheckEnabled = true
local stickyAimEnabled = false
local invincibilityCheckEnabled = true  -- New toggle for invincibility check
local stickyTarget = nil
local guiVisible = true

-- [FOV Circle]
local fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 2
fovCircle.Filled = false
fovCircle.Radius = FOV_RADIUS
fovCircle.Transparency = 1
fovCircle.Visible = true
fovCircle.Color = Color3.fromRGB(255, 102, 178) -- rose pink

-- [Watermark 🌹]
local watermark = Drawing.new("Text")
watermark.Text = "🌹 UNM Aimbot by Rat_InBag 🌹"
watermark.Size = 13
watermark.Position = Vector2.new(10, 10)
watermark.Color = Color3.fromRGB(255, 182, 193)
watermark.Outline = true
watermark.Center = false
watermark.Transparency = 0.9
watermark.Visible = true

-- [GUI Setup 🌹]
local gui = Instance.new("ScreenGui", PlayerGui)
gui.Name = "UNMAimbotGUI"
gui.ResetOnSpawn = false

local panel = Instance.new("Frame", gui)
panel.Size = UDim2.new(0, 180, 0, 280) -- Increased height for additional toggle
panel.Position = UDim2.new(0, 10, 0, 10)
panel.BackgroundColor3 = Color3.fromRGB(255, 228, 237)
panel.BorderSizePixel = 0
panel.Visible = guiVisible

local uilist = Instance.new("UIListLayout", panel)
uilist.FillDirection = Enum.FillDirection.Vertical
uilist.Padding = UDim.new(0, 5)

local function updateToggleText()
	for _, obj in pairs(panel:GetChildren()) do
		if obj:IsA("TextButton") then
			if obj.Name == "Aimbot" then
				obj.Text = "🌹 Aimbot: " .. (aimbotEnabled and "ON" or "OFF")
			elseif obj.Name == "TeamCheck" then
				obj.Text = "🌹 Team Check: " .. (teamCheckEnabled and "ON" or "OFF")
			elseif obj.Name == "StickyAim" then
				obj.Text = "🌹 Sticky Aim: " .. (stickyAimEnabled and "ON" or "OFF")
			elseif obj.Name == "FOVCircle" then
				obj.Text = "🌹 FOV Circle: " .. (fovCircle.Visible and "ON" or "OFF")
			elseif obj.Name == "InvincibilityCheck" then
				obj.Text = "🌹 Invincibility Check: " .. (invincibilityCheckEnabled and "ON" or "OFF")
			end
		end
	end
end

-- [FOV Radius Input 🌹]
local fovInputFrame = Instance.new("Frame", panel)
fovInputFrame.Size = UDim2.new(1, 0, 0, 30)
fovInputFrame.BackgroundTransparency = 1

local fovTextBox = Instance.new("TextBox", fovInputFrame)
fovTextBox.Size = UDim2.new(0.6, 0, 1, 0)
fovTextBox.Position = UDim2.new(0, 0, 0, 0)
fovTextBox.BackgroundColor3 = Color3.fromRGB(255, 192, 203)
fovTextBox.TextColor3 = Color3.fromRGB(60, 0, 40)
fovTextBox.Font = Enum.Font.SourceSansBold
fovTextBox.TextSize = 14
fovTextBox.Text = tostring(FOV_RADIUS)
fovTextBox.PlaceholderText = "Enter FOV"

local fovSetButton = Instance.new("TextButton", fovInputFrame)
fovSetButton.Size = UDim2.new(0.4, -5, 1, 0)
fovSetButton.Position = UDim2.new(0.6, 5, 0, 0)
fovSetButton.BackgroundColor3 = Color3.fromRGB(255, 182, 193)
fovSetButton.TextColor3 = Color3.fromRGB(80, 0, 60)
fovSetButton.Font = Enum.Font.SourceSansBold
fovSetButton.TextSize = 14
fovSetButton.Text = "Set"

fovSetButton.MouseButton1Click:Connect(function()
	local newRadius = tonumber(fovTextBox.Text)
	if newRadius and newRadius > 0 and newRadius <= 1000 then
		FOV_RADIUS = newRadius
		fovCircle.Radius = FOV_RADIUS
		fovTextBox.Text = tostring(FOV_RADIUS)
	else
		fovTextBox.Text = tostring(FOV_RADIUS)
	end
end)

-- [Create Toggle Buttons 🌹]
local function createToggle(name, toggleFunc)
	local btn = Instance.new("TextButton", panel)
	btn.Name = name
	btn.Size = UDim2.new(1, 0, 0, 30)
	btn.BackgroundColor3 = Color3.fromRGB(255, 182, 193)
	btn.TextColor3 = Color3.fromRGB(80, 0, 60)
	btn.Font = Enum.Font.SourceSansBold
	btn.TextSize = 14
	btn.Text = "🌹 " .. name .. ": OFF"
	btn.MouseButton1Click:Connect(function()
		toggleFunc()
		updateToggleText()
	end)
end

createToggle("Aimbot", function()
	aimbotEnabled = not aimbotEnabled
	UserInputService.MouseBehavior = aimbotEnabled and Enum.MouseBehavior.LockCenter or Enum.MouseBehavior.Default
	if not aimbotEnabled then stickyAimEnabled = false stickyTarget = nil end
end)

createToggle("TeamCheck", function()
	teamCheckEnabled = not teamCheckEnabled
end)

createToggle("StickyAim", function()
	stickyAimEnabled = not stickyAimEnabled
	stickyTarget = stickyAimEnabled and getClosestTarget() or nil
end)

createToggle("FOVCircle", function()
	fovCircle.Visible = not fovCircle.Visible
end)

-- New toggle for invincibility check
createToggle("InvincibilityCheck", function()
	invincibilityCheckEnabled = not invincibilityCheckEnabled
end)

-- [Arrow to hide GUI 🌹]
local arrow = Instance.new("TextButton", gui)
arrow.Size = UDim2.new(0, 20, 0, 20)
arrow.Position = UDim2.new(0, panel.AbsoluteSize.X + 12, 0, 10)
arrow.Text = "<"
arrow.TextColor3 = Color3.fromRGB(255, 255, 255)
arrow.BackgroundColor3 = Color3.fromRGB(200, 100, 120)

arrow.MouseButton1Click:Connect(function()
	guiVisible = not guiVisible
	panel.Visible = guiVisible
	arrow.Text = guiVisible and "<" or ">"
end)

-- [Input Shortcuts 🌹]
UserInputService.InputBegan:Connect(function(input, gpe)
	if gpe then return end
	if input.KeyCode == Enum.KeyCode.V then
		aimbotEnabled = not aimbotEnabled
		UserInputService.MouseBehavior = aimbotEnabled and Enum.MouseBehavior.LockCenter or Enum.MouseBehavior.Default
		if not aimbotEnabled then stickyAimEnabled = false stickyTarget = nil end
	elseif input.KeyCode == Enum.KeyCode.T then
		teamCheckEnabled = not teamCheckEnabled
	elseif input.KeyCode == Enum.KeyCode.C and aimbotEnabled then
		stickyAimEnabled = not stickyAimEnabled
		stickyTarget = stickyAimEnabled and getClosestTarget() or nil
	elseif input.KeyCode == Enum.KeyCode.I then  -- New shortcut for invincibility check
		invincibilityCheckEnabled = not invincibilityCheckEnabled
	end
	updateToggleText()
end)

-- [Utility Functions]
local function isAlive(player)
	local char = player.Character
	local hum = char and char:FindFirstChildOfClass("Humanoid")
	return hum and hum.Health > 0
end

local function isEnemy(player)
	return player ~= LocalPlayer and (not teamCheckEnabled or player.Team ~= LocalPlayer.Team)
end

-- Updated function to check if player is invincible/has forcefield
local function isVulnerable(player)
	if not invincibilityCheckEnabled then return true end  -- Skip check if disabled
	if not player.Character then return false end
	
	-- Check for forcefield
	if player.Character:FindFirstChild("ForceField") then
		return false
	end
	
	-- Check for other invincibility indicators (modify as needed for the game)
	local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
	if humanoid then
		-- Check for godmode (some games set MaxHealth to 0 or math.huge)
		if humanoid.MaxHealth <= 0 or humanoid.MaxHealth == math.huge then
			return false
		end
		
		-- Check if health is locked (some games use this for invincibility)
		if humanoid:GetAttribute("HealthLocked") then
			return false
		end
	end
	
	return true
end

function getClosestTarget()
	local closest, minDist = nil, FOV_RADIUS
	for _, player in ipairs(Players:GetPlayers()) do
		if isEnemy(player) and isAlive(player) and isVulnerable(player) and player.Character and player.Character:FindFirstChild(AIM_PART) then
			local part = player.Character[AIM_PART]
			local screenPos, onScreen = Camera:WorldToViewportPoint(part.Position)
			if onScreen then
				local mousePos = UserInputService:GetMouseLocation()
				local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
				if dist < minDist then
					minDist = dist
					closest = part
				end
			end
		end
	end
	return closest
end

local function snapAim(targetPosition)
	local currentCFrame = Camera.CFrame
	local targetCFrame = CFrame.new(currentCFrame.Position, targetPosition)
	local angle = math.deg(currentCFrame:ToObjectSpace(targetCFrame).LookVector.Y)
	return math.abs(angle) < SNAP_THRESHOLD and targetCFrame or currentCFrame:Lerp(targetCFrame, SMOOTHNESS)
end

-- [ESP 🌹]
local espObjects = {}

local function updateESP()
	for _, drawing in pairs(espObjects) do
		for _, obj in pairs(drawing) do
			obj.Visible = false
		end
	end

	for _, player in pairs(Players:GetPlayers()) do
		if isEnemy(player) and isAlive(player) and player.Character then
			local root = player.Character:FindFirstChild("HumanoidRootPart")
			local head = player.Character:FindFirstChild("Head")
			local hum = player.Character:FindFirstChildOfClass("Humanoid")
			if root and head and hum then
				local cf = root.CFrame
				local size = Vector3.new(4, 6, 1)

				local topLeft, onScreen1 = Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, size.Y, 0)).Position)
				local bottomRight, onScreen2 = Camera:WorldToViewportPoint((cf * CFrame.new(size.X, -size.Y, 0)).Position)

				if onScreen1 and onScreen2 and topLeft.X == topLeft.X and bottomRight.X == bottomRight.X then
					local box = espObjects[player]
					if not box then
						box = {
							Rect = Drawing.new("Square"),
							Health = Drawing.new("Text"),
							Name = Drawing.new("Text")
						}
						box.Rect.Thickness = 1
						box.Rect.Color = Color3.fromRGB(255, 182, 193)
						box.Rect.Filled = false
						box.Health.Size = 14
						box.Health.Color = Color3.fromRGB(255, 255, 255)
						box.Health.Outline = true
						box.Health.Center = true
						box.Name.Size = 14
						box.Name.Color = Color3.fromRGB(255, 105, 180)
						box.Name.Outline = true
						box.Name.Center = true
						espObjects[player] = box
					end

					local w, h = bottomRight.X - topLeft.X, bottomRight.Y - topLeft.Y
					box.Rect.Position = Vector2.new(topLeft.X, topLeft.Y)
					box.Rect.Size = Vector2.new(w, h)
					box.Rect.Visible = true

					box.Health.Position = Vector2.new(topLeft.X + w / 2, bottomRight.Y + 10)
					box.Health.Text = "HP: " .. math.floor(hum.Health)
					box.Health.Visible = true

					box.Name.Position = Vector2.new(topLeft.X + w / 2, topLeft.Y - 15)
					box.Name.Text = player.Name
					box.Name.Visible = true
				end
			end
		end
	end
end

-- [Color Cycle 🌹]
local colorIndex = 0
local rainbowColors = {
	Color3.fromRGB(255, 105, 180),
	Color3.fromRGB(255, 182, 193),
	Color3.fromRGB(255, 192, 203),
	Color3.fromRGB(255, 20, 147),
	Color3.fromRGB(255, 99, 71),
	Color3.fromRGB(255, 160, 122),
	Color3.fromRGB(219, 112, 147),
}
local lastColorChange = tick()

-- [Main Loop 🌹]
RunService.RenderStepped:Connect(function()
	local mousePos = UserInputService:GetMouseLocation()
	fovCircle.Position = Vector2.new(mousePos.X, mousePos.Y)
	fovCircle.Radius = FOV_RADIUS

	if tick() - lastColorChange >= 0.5 then
		fovCircle.Color = rainbowColors[colorIndex + 1]
		colorIndex = (colorIndex + 1) % #rainbowColors
		lastColorChange = tick()
	end

	updateESP()

	if aimbotEnabled then
		if stickyAimEnabled and stickyTarget and stickyTarget.Parent then
			local player = Players:GetPlayerFromCharacter(stickyTarget.Parent)
			if player and isEnemy(player) and isAlive(player) and isVulnerable(player) then
				Camera.CFrame = snapAim(stickyTarget.Position)
			else
				stickyTarget = nil
			end
		else
			local target = getClosestTarget()
			if target then
				Camera.CFrame = snapAim(target.Position)
				if stickyAimEnabled then stickyTarget = target end
			end
		end
	end
end)

Features & Information

=Aimbot (Activation key is V) =Team Check (Activation key is T and also its automatically enabled to turn it off just press T) =Sticky Aim(Activation key is C and you have to activate aimbot first) =Alive Check =ESP =God check
#Aimbot#Universal aimbot#Universal#keyless#Keyless universal aimbot

Community Comments (2)

mannybakmannybakJun 24, 2025

gay

gigachadhangalgigachadhangalMay 6, 2026

*

More Scripts for Universal Scripts