INFERNO LOCK made by chatgpt
Key RequiredUniversal

INFERNO LOCK made by chatgpt

Universal ScriptIdkYayayayaIdkYayayaya 855 views 1.1K executesUpdated Jan 29, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•197 lines (5202 chars)
--// 🔥 INFERNO LOCK SYSTEM 🔥

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

--// SETTINGS
local Settings = {
	MaxDistance = 160,
	Prediction = 0.18,
	Smooth = 0.15,
	Offset = Vector3.new(2.5,2,8)
}

--// MODES
local Modes = {
	"HARD","SOFT","SNAP","CINEMATIC","FREEFLOW",
	"AGGRESSIVE","STEADY","FLOAT","TIGHT","WIDE",
	"HUNTER","ORBIT","SHARP","LOCKED","FUNNY"
}

local currentMode = 1
local lockOn = false
local target = nil
local renderConn

--// GUI
local gui = Instance.new("ScreenGui", player.PlayerGui)
gui.Name = "InfernoGUI"
gui.ResetOnSpawn = false
gui.Enabled = false

local clickSound = Instance.new("Sound", gui)
clickSound.SoundId = "rbxassetid://12221967"
clickSound.Volume = 1

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0,210,0,280)
frame.Position = UDim2.new(0,-250,0.5,-140)
frame.BackgroundColor3 = Color3.fromRGB(25,10,5)
frame.Active = true
frame.Draggable = true
frame.BorderSizePixel = 0

Instance.new("UICorner", frame).CornerRadius = UDim.new(0,16)

local stroke = Instance.new("UIStroke", frame)
stroke.Color = Color3.fromRGB(255,120,0)
stroke.Thickness = 2

local layout = Instance.new("UIListLayout", frame)
layout.Padding = UDim.new(0,6)

local function makeButton(text)
	local b = Instance.new("TextButton")
	b.Size = UDim2.new(1,-10,0,45)
	b.BackgroundColor3 = Color3.fromRGB(60,20,10)
	b.TextColor3 = Color3.fromRGB(255,170,0)
	b.Font = Enum.Font.GothamBold
	b.TextScaled = true
	b.Text = text
	b.Parent = frame
	Instance.new("UICorner", b).CornerRadius = UDim.new(0,12)
	return b
end

local title = makeButton("🔥 INFERNO LOCK")
title.BackgroundColor3 = Color3.fromRGB(80,30,10)

local onBtn = makeButton("LOCK ON")
local offBtn = makeButton("LOCK OFF")
local modeBtn = makeButton("MODE: "..Modes[currentMode])

--// INTRO ANIMATION
gui.Enabled = true
TweenService:Create(frame, TweenInfo.new(0.8, Enum.EasingStyle.Back), {
	Position = UDim2.new(0,15,0.5,-140)
}):Play()

--// HELPERS
local function char() return player.Character end
local function hrp(c) return c and c:FindFirstChild("HumanoidRootPart") end
local function hum(c) return c and c:FindFirstChildOfClass("Humanoid") end

local function valid(m)
	return m and m ~= char() and hum(m) and hum(m).Health > 0 and hrp(m)
end

local function getClosest()
	local best,dist=nil,math.huge
	local myhrp = hrp(char())
	if not myhrp then return end
	for _,m in pairs(workspace:GetDescendants()) do
		if m:IsA("Model") and valid(m) then
			local d = (hrp(m).Position - myhrp.Position).Magnitude
			if d < dist and d < Settings.MaxDistance then
				dist=d
				best=m
			end
		end
	end
	return best
end

local function resetCam()
	camera.CameraType = Enum.CameraType.Custom
	UserInputService.MouseBehavior = Enum.MouseBehavior.Default
end

--// LOCK LOOP
local function startLock()
	if renderConn then return end
	lockOn = true
	camera.CameraType = Enum.CameraType.Scriptable
	UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter

	renderConn = RunService.RenderStepped:Connect(function()
		if not lockOn then return end
		local c = char()
		local myhrp = hrp(c)
		if not myhrp then return end

		if not valid(target) then
			target = getClosest()
		end
		if not valid(target) then return end

		local tpos = hrp(target).Position + hrp(target).Velocity * Settings.Prediction

		-- Character rotation (ALL MODES)
		myhrp.CFrame = CFrame.new(myhrp.Position, Vector3.new(tpos.X,myhrp.Position.Y,tpos.Z))

		local smooth = Settings.Smooth
		local offset = Settings.Offset

		if Modes[currentMode] == "SNAP" then smooth = 0.9 end
		if Modes[currentMode] == "CINEMATIC" then smooth = 0.05 offset = Vector3.new(4,3,12) end
		if Modes[currentMode] == "TIGHT" then offset = Vector3.new(1.5,1.5,5) end
		if Modes[currentMode] == "WIDE" then offset = Vector3.new(6,4,14) end
		if Modes[currentMode] == "ORBIT" then
			offset = Vector3.new(math.sin(tick()*2)*6,3,math.cos(tick()*2)*6)
		end

		-- FUNNY MODE (CHAOS)
		if Modes[currentMode] == "FUNNY" then
			offset = Vector3.new(
				math.sin(tick()*12)*8,
				math.cos(tick()*15)*6 + math.random(-2,2),
				8 + math.sin(tick()*20)*4
			)
			smooth = 1
			camera.FieldOfView = 70 + math.sin(tick()*10)*20
		else
			camera.FieldOfView = 70
		end

		local camPos = myhrp.CFrame:ToWorldSpace(CFrame.new(offset))
		local camCF = CFrame.new(camPos.Position, tpos)
		camera.CFrame = camera.CFrame:Lerp(camCF, smooth)
	end)
end

local function stopLock()
	lockOn=false
	target=nil
	if renderConn then renderConn:Disconnect() end
	renderConn=nil
	resetCam()
	camera.FieldOfView = 70
end

--// BUTTONS
onBtn.MouseButton1Click:Connect(function()
	clickSound:Play()
	startLock()
end)

offBtn.MouseButton1Click:Connect(function()
	clickSound:Play()
	stopLock()
end)

modeBtn.MouseButton1Click:Connect(function()
	clickSound:Play()
	currentMode += 1
	if currentMode > #Modes then currentMode = 1 end
	modeBtn.Text = "MODE: "..Modes[currentMode]
end)

player.CharacterAdded:Connect(function()
	task.wait(.5)
	stopLock()
end)

Features & Information

{NOTE:this script is made by chat gpt for a test to see it's potential, u can suggest things, and say bugs & etc} Looks like u got in hell, welp, u keep losing games cuz of the STUPID sensitivity? Well I got ya With the INFERNO LOCK u can be the best gamer ever This script has 15 different versions on total! Ill constantly update it too with ur suggestions Cyaaa
#Lock on#Universal#Cool script#Lock#Lock camera

Community Comments (3)

*nalproplayer141*nalproplayer141Jan 29, 2026

how do you make the chatgpt to create script for ya?

Replying to @*nalproplayer141
IdkYayayayaIdkYayayayaJan 29, 2026

@nalproplayer141 jst say "make a roblox script of (thing u want) " jst don't say a game's name or it will say bs

TEz_Andy68TEz_Andy68Feb 18, 2026

This is good but when you get hit you get ragdoll

More Scripts for Universal Scripts