CHROMATIC crosshair
Key RequiredUniversal

CHROMATIC crosshair

Universal Scripthiryuhiryu 1.6K views 56 executesUpdated Aug 29, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•82 lines (2014 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera

local player = Players.LocalPlayer

-- === CONFIG ===
local LineCount = 4
local Radius = 7
local LineLength = 15
local LabelText = "CHROMATIC"

-- === CROSSHAIR OBJECTS ===
local CrosshairLines = {}

for i = 1, LineCount do
	local line = Drawing.new("Line")
	line.Thickness = 2
	line.Visible = true
	table.insert(CrosshairLines, line)
end

local Dot = Drawing.new("Circle")
Dot.Radius = 2
Dot.Filled = true
Dot.Visible = true

local Label = Drawing.new("Text")
Label.Text = LabelText
Label.Size = 16
Label.Center = true
Label.Outline = true
Label.Visible = true
Label.Font = 2

-- === MOUSE HIDING ===
local function hideMouse()
	UserInputService.MouseIconEnabled = false
end

-- === Hide mouse on respawn too ===
player.CharacterAdded:Connect(function()
	task.wait(0.5)
	hideMouse()
end)

-- Initial hide
hideMouse()

-- === FUNCTION: Get rainbow color (HSV to RGB) ===
local function getRainbowColor(timeOffset)
	local hue = (tick() + timeOffset) % 5 / 5 -- cycle every 5 seconds
	return Color3.fromHSV(hue, 1, 1)
end

-- === MAIN ANIMATION LOOP ===
local angle = 0
RunService.RenderStepped:Connect(function()
	local mousePos = UserInputService:GetMouseLocation()
	local center = Vector2.new(mousePos.X, mousePos.Y)

	local rainbowColor = getRainbowColor(0)

	-- Update crosshair lines
	for i, line in ipairs(CrosshairLines) do
		local a = angle + (math.pi * 2 / LineCount) * (i - 1)
		local from = Vector2.new(center.X + math.cos(a) * Radius, center.Y + math.sin(a) * Radius)
		local to = Vector2.new(center.X + math.cos(a) * (Radius + LineLength), center.Y + math.sin(a) * (Radius + LineLength))
		line.From = from
		line.To = to
		line.Color = rainbowColor
	end

	Dot.Position = center
	Dot.Color = rainbowColor

	Label.Position = Vector2.new(center.X, center.Y + 25)
	Label.Color = rainbowColor

	angle += 0.05
end)

Features & Information

same thing as my other script except rainbow

Community Comments (1)

It's not a crosshair

More Scripts for Universal Scripts