made by chatgpt gun script READ DESCRIPTION
Key RequiredUniversal

made by chatgpt gun script READ DESCRIPTION

Universal Scripth*an51294h*an51294 5.1K views 254 executesUpdated Apr 29, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•232 lines (6708 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local Camera = workspace.CurrentCamera

-- === UI: Center Screen GUI ===

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FakeAimbotOverlay"
screenGui.ResetOnSpawn = false
screenGui.Parent = PlayerGui

-- === Hollow Blue Circle (Center) ===

local circle = Instance.new("Frame")
circle.Size = UDim2.new(0, 160, 0, 160)
circle.Position = UDim2.new(0.5, -80, 0.5, -80)
circle.BackgroundTransparency = 1
circle.BorderSizePixel = 0

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(1, 0)
corner.Parent = circle

local stroke = Instance.new("UIStroke")
stroke.Thickness = 4
stroke.Color = Color3.fromRGB(0, 170, 255)
stroke.Transparency = 0
stroke.Parent = circle

circle.Parent = screenGui

-- === Crosshair (+ sign) ===

local function createCrosshairPart(name, size, position)
	local part = Instance.new("Frame")
	part.Name = name
	part.Size = UDim2.new(0, size.X, 0, size.Y)
	part.Position = UDim2.new(0.5, position.X, 0.5, position.Y)
	part.AnchorPoint = Vector2.new(0.5, 0.5)
	part.BackgroundColor3 = Color3.fromRGB(255, 255, 255)  -- White crosshair
	part.BorderSizePixel = 0
	return part
end

local thickness = 2
local length = 12

local crossV = createCrosshairPart("Vertical", Vector2.new(thickness, length), Vector2.new(0, 0))
local crossH = createCrosshairPart("Horizontal", Vector2.new(length, thickness), Vector2.new(0, 0))

crossV.Parent = screenGui
crossH.Parent = screenGui

-- === Player Highlights ===

local function highlightCharacter(character)
	if not character:FindFirstChild("Highlight") then
		local highlight = Instance.new("Highlight")
		local team = character.Parent:FindFirstChildOfClass("Team")

		-- If the player has a team, set highlight color to the team's color
		if team then
			highlight.FillColor = team.TeamColor.Color
		else
			highlight.FillColor = Color3.fromRGB(255, 255, 0)  -- Default yellow highlight
		end

		highlight.OutlineColor = Color3.fromRGB(0, 0, 0)
		highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
		highlight.Parent = character
	end
end

-- === Beam Lines to Players ===

local function createLaser(fromPart, toPart)
	local attachment0 = Instance.new("Attachment", fromPart)
	local attachment1 = Instance.new("Attachment", toPart)

	local beam = Instance.new("Beam")
	beam.Attachment0 = attachment0
	beam.Attachment1 = attachment1
	beam.FaceCamera = true
	beam.Width0 = 0.1
	beam.Width1 = 0.1
	beam.Color = ColorSequence.new(Color3.fromRGB(0, 170, 255))
	beam.LightInfluence = 0
	beam.Transparency = NumberSequence.new(0)
	beam.Parent = fromPart

	return {beam = beam, a0 = attachment0, a1 = attachment1}
end

local beams = {}

local function connectPlayer(player)
	if player == LocalPlayer then return end

	player.CharacterAdded:Connect(function(char)
		highlightCharacter(char)

		local head = char:WaitForChild("Head", 5)
		local myChar = LocalPlayer.Character
		if not head or not myChar or not myChar:FindFirstChild("Head") then return end

		local myHead = myChar.Head
		local beamParts = createLaser(myHead, head)
		beams[player] = beamParts

		player.AncestryChanged:Connect(function()
			if not player:IsDescendantOf(game) then
				if beams[player] then
					beams[player].beam:Destroy()
					beams[player].a0:Destroy()
					beams[player].a1:Destroy()
					beams[player] = nil
				end
			end
		end)
	end)
end

-- === Setup Existing Players

for _, player in pairs(Players:GetPlayers()) do
	if player ~= LocalPlayer then
		if player.Character then
			highlightCharacter(player.Character)
			connectPlayer(player)
		else
			player.CharacterAdded:Connect(function(char)
				connectPlayer(player)
			end)
		end
	end
end

-- === New Players

Players.PlayerAdded:Connect(function(player)
	connectPlayer(player)
end)

-- === Update Beams When You Respawn ===

LocalPlayer.CharacterAdded:Connect(function()
	wait(1)
	for _, data in pairs(beams) do
		if data.beam and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Head") then
			data.beam.Attachment0.Parent = LocalPlayer.Character.Head
		end
	end
end)

-- === Evil Camera Lock (INSTANT) ===

local isPrankActive = true  -- Controls if prank is active or not

RunService.RenderStepped:Connect(function()
	if not isPrankActive then return end -- If prank is disabled, do nothing

	local myChar = LocalPlayer.Character
	if not myChar or not myChar:FindFirstChild("Head") then return end

	local myHead = myChar.Head
	local closest, closestDist = nil, math.huge

	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then
			local targetHead = player.Character.Head
			local distance = (targetHead.Position - myHead.Position).Magnitude
			if distance < closestDist then
				closest = targetHead
				closestDist = distance
			end
		end
	end

	if closest then
		Camera.CFrame = CFrame.new(Camera.CFrame.Position, closest.Position)
	end
end)

-- === "Disable/Enable" Button ===

local disableButton = Instance.new("TextButton")
disableButton.Size = UDim2.new(0, 200, 0, 50)
disableButton.Position = UDim2.new(0.5, -100, 0, 20)
disableButton.Text = "Disable"
disableButton.TextColor3 = Color3.fromRGB(255, 255, 255)
disableButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)  -- Initially red
disableButton.BorderSizePixel = 0
disableButton.Parent = screenGui

disableButton.MouseButton1Click:Connect(function()
	isPrankActive = not isPrankActive  -- Toggle the prank's state
	if isPrankActive then
		disableButton.Text = "Disable"
		disableButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0)  -- Green when enabled
	else
		disableButton.Text = "Enable"
		disableButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)  -- Red when disabled
	end
end)

-- === Dynamic Lines to Players ===

local function createLaserForAllPlayers()
	local myChar = LocalPlayer.Character
	if not myChar or not myChar:FindFirstChild("Head") then return end

	local myHead = myChar.Head
	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then
			local targetHead = player.Character.Head
			createLaser(myHead, targetHead)
		end
	end
end

-- === First Person Check for Tracers ===
RunService.RenderStepped:Connect(function()
	if isPrankActive then
		local inFirstPerson = Camera.CameraType == Enum.CameraType.Scriptable or Camera.CameraType == Enum.CameraType.Custom and Camera.FieldOfView > 50
		if inFirstPerson then
			-- Only show beams in first-person view
			createLaserForAllPlayers()
		end
	end
end)

Features & Information

this script is made by chatgpt and is aimbot and esp and tracers but keep in mind the tracers dont show if your aimbot is disabled while also being first person and also this script doesnt show the team so thats not very good so you have to be in a FFA gun game to use this
#Universal#Chatgpt#Ai#Aimbot ESP Tracers FFA Free For All#Gun CShootingD

Community Comments (1)

DAVITROLLZDAVITROLLZMay 7, 2025

Tank chatgpt

More Scripts for Universal Scripts