settings = { color = Color3.fromRGB(255, 255/2, 255), -- The color of the crosshair, takes any Color3. thickness = 2, -- The thickness of the crosshair in pixel, takes any full number. length = 8, -- The length of each side in pixel, takes any full number. opacity = 1, -- The opacity of the crosshair, takes any number, 1 is fully visible and 0 is invisible. x_offset = 0, -- The x offset of the crosshair, takes any positive or negative number. y_offset = 0, -- The y offset of the crosshair, takes any positive or negative number. recenter = true -- Automatically recenter the crosshair if your window was resized, this is an option in case it causes lag for anyone which I highly doubt, if it does for you, then please stop using your Microwave for Roblox. } local cam = workspace.CurrentCamera or workspace:FindFirstChildOfClass("Camera") getgenv().crosshair_x = getgenv().crosshair_x or {} getgenv().crosshair_y = getgenv().crosshair_y or {} local function draw(a1, a2) local obj = Drawing.new(a1) for i, v in pairs(a2) do obj[i] = v end return obj end if getgenv().crosshair_x ~= nil or getgenv().crosshair_x ~= {} then if getgenv().crosshair_x["Line"] then getgenv().crosshair_x["Line"]:Remove() end if getgenv().crosshair_x["Connection"] then getgenv().crosshair_x["Connection"]:Disconnect() end getgenv().crosshair_x = {} end if getgenv().crosshair_y ~= nil or getgenv().crosshair_y ~= {} then if getgenv().crosshair_y["Line"] then getgenv().crosshair_y["Line"]:Remove() end if getgenv().crosshair_y["Connection"] then getgenv().crosshair_y["Connection"]:Disconnect() end getgenv().crosshair_y = {} end getgenv().crosshair_x["Line"] = draw("Line", { To = Vector2.new(((cam.ViewportSize.x / 2) - settings.x_offset) - settings.length, (cam.ViewportSize.y / 2) - settings.y_offset), From = Vector2.new(((cam.ViewportSize.x / 2) - settings.x_offset) + settings.length, (cam.ViewportSize.y / 2) - settings.y_offset), Thickness = settings.thickness, Color = settings.color, Transparency = settings.opacity, Visible = true }) getgenv().crosshair_y["Line"] = draw("Line", { To = Vector2.new((cam.ViewportSize.x / 2) - settings.x_offset, ((cam.ViewportSize.y / 2) - settings.y_offset) - settings.length), From = Vector2.new((cam.ViewportSize.x / 2) - settings.x_offset, ((cam.ViewportSize.y / 2) - settings.y_offset) + settings.length), Thickness = settings.thickness, Color = settings.color, Transparency = settings.opacity, Visible = true }) if settings.recenter then getgenv().crosshair_x["Connection"] = cam:GetPropertyChangedSignal("ViewportSize"):Connect(function() getgenv().crosshair_x["Line"]["To"] = Vector2.new(((cam.ViewportSize.x / 2) - settings.x_offset) - settings.length, (cam.ViewportSize.y / 2) - settings.y_offset) getgenv().crosshair_x["Line"]["From"] = Vector2.new(((cam.ViewportSize.x / 2) - settings.x_offset) + settings.length, (cam.ViewportSize.y / 2) - settings.y_offset) end) getgenv().crosshair_y["Connection"] = cam:GetPropertyChangedSignal("ViewportSize"):Connect(function() getgenv().crosshair_y["Line"]["To"] = Vector2.new((cam.ViewportSize.x / 2) - settings.x_offset, ((cam.ViewportSize.y / 2) - settings.y_offset) - settings.length) getgenv().crosshair_y["Line"]["From"] = Vector2.new((cam.ViewportSize.x / 2) - settings.x_offset, ((cam.ViewportSize.y / 2) - settings.y_offset) + settings.length) end) end