Gaze Hitbox Extender V1.1
Key Required

Gaze Hitbox Extender V1.1

ForsakenGazeGaze 4.6K views 7K executesUpdated Dec 1, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•357 lines (7057 chars)
--========================================================--
-- ui
--========================================================--

local Players = game.Players
local plr = Players.LocalPlayer
local gui = plr:WaitForChild("PlayerGui")

local EnabledMain = true   

local screen = Instance.new("ScreenGui")
screen.ResetOnSpawn = false
screen.Parent = cloneref(game.CoreGui)


local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 60, 0, 60)
btn.Position = UDim2.new(0.05, 0, 0.55, 0)
btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Text = "ON"
btn.Active = true
btn.Draggable = true
btn.Parent = screen

local ar = Instance.new("UIAspectRatioConstraint")
ar.AspectRatio = 1
ar.Parent = btn

btn.MouseButton1Click:Connect(function()
	EnabledMain = not EnabledMain
	btn.Text = EnabledMain and "ON" or "OFF"
end)



--========================================================--
-- checks
--========================================================--

local RunService = game:GetService("RunService")

local keywords = {
	"stab",
	"punch",
	"behead",
	"slash",
	"lacerate",
	"dagger",
	"gashing"
}

local fired = false
local buttons = {}

local function getContainer()
	local ui = gui:WaitForChild("MainUI")
	return ui:WaitForChild("AbilityContainer")
end

local function matchKeyword(name)
	name = name:lower()
	for _, word in ipairs(keywords) do
		if string.find(name, word) then
			return true
		end
	end
	return false
end

local function makeNotice(text)
	if not EnabledMain then return end

	local screen2 = Instance.new("ScreenGui")
	screen2.ResetOnSpawn = false
	screen2.Parent = cloneref(game.CoreGui)

	local label = Instance.new("TextLabel")
	label.Size = UDim2.new(0, 260, 0, 30)
	label.Position = UDim2.new(0, 20, 0.3, 0)
	label.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	label.TextColor3 = Color3.fromRGB(255, 255, 255)
	label.BackgroundTransparency = 0.3
	label.Text = text
	label.Parent = screen2

	task.delay(2, function()
		if screen2 then
			screen2:Destroy()
		end
	end)
end

local function isReady(text)
	if text == "" then
		return true
	end
	


	local n = tonumber(text)
	if n and n <= 0.1 then
		return true
	end
	return false
end

local function hook(btn2)
	if buttons[btn2] then
		return
	end

	local cd = btn2:FindFirstChild("CooldownTime")
	if not cd or not cd:IsA("TextLabel") then
		return
	end
	
	
	

	local info = {
		button = btn2,
		cd = cd,
		ready = isReady(cd.Text),
		coolWait = false
	}

	info.conn = btn2.MouseButton1Click:Connect(function()
		if not EnabledMain then return end

		if info.ready and not info.coolWait then
		if btn2:FindFirstChild("Helpless") then
    return
end
			info.coolWait = true
			task.delay(0.2, function()
				info.coolWait = false
			end)

			if matchKeyword(btn2.Name) then
				makeNotice("Used ability: " .. btn2.Name)

				task.wait(0.1)
				fired = true
				task.wait(1.1)
				fired = false
			end
		end
	end)

	buttons[btn2] = info
end

local function refresh()
	for b, data in pairs(buttons) do
		if not b or not b.Parent then
			data.conn:Disconnect()
			buttons[b] = nil
		end
	end

	local container = getContainer()
	for _, child in ipairs(container:GetChildren()) do
		if child:IsA("ImageButton") then
			hook(child)
		end
	end
end

local function loopCooldowns()
	while true do
		if EnabledMain then
			for _, info in pairs(buttons) do
				info.ready = isReady(info.cd.Text)
			end
		end
		task.wait(0.08)
	end
end

local function setup()
	refresh()
end

plr.CharacterAdded:Connect(function()
	gui = plr:WaitForChild("PlayerGui")
	task.wait(0.2)
	setup()
end)

setup()
task.spawn(loopCooldowns)


--========================================================--
-- VELOCITY SECTION
--========================================================--

local function getRoot(char)
	return char and char:FindFirstChild("HumanoidRootPart")
end

local char = plr.Character or plr.CharacterAdded:Wait()
local root = getRoot(char)

plr.CharacterAdded:Connect(function(newChar)
	char = newChar
	root = getRoot(newChar)
end)

local boxSize = Vector3.new(50, 50, 50)

local function getTeamFolder()
	if char:IsDescendantOf(workspace.Players.Killers) then
		return workspace.Players.Survivors
	end
	if char:IsDescendantOf(workspace.Players.Survivors) then
		return workspace.Players.Killers
	end
	return nil
end

local function isModelInFolder(model, folder)
	if not folder then return false end
	return model:IsDescendantOf(folder)
end

local function findNearestHumanoid()
	if not root then return end
	if not EnabledMain then return end

	local targetFolder = getTeamFolder()
	local cf = root.CFrame
	local parts = workspace:GetPartBoundsInBox(cf, boxSize)

	local closest
	local bestDist = math.huge
	local foundPreferred = false

	for _, part in ipairs(parts) do
		local model = part.Parent
		local hum = model and model:FindFirstChildOfClass("Humanoid")

		if hum and hum.Health > 0 and model ~= char then
			local hrp = model:FindFirstChild("HumanoidRootPart")
			if hrp then
				local dist = (hrp.Position - root.Position).Magnitude

				local inPreferred = isModelInFolder(model, targetFolder)

				if inPreferred then
					-- Prioritize preferred targets
					if not foundPreferred or dist < bestDist then
						foundPreferred = true
						bestDist = dist
						closest = hrp
					end
				elseif not foundPreferred and dist < bestDist then
					-- Only use non preferred if none found yet
					bestDist = dist
					closest = hrp
				end
			end
		end
	end

	return closest, bestDist
end

local function setVelocityWithShake()
	if not root then return end
	if not EnabledMain then return end

	local target, dist = findNearestHumanoid()
	if not target then return end

	local dir = (target.Position - root.Position).Unit

	local forward = root.CFrame.LookVector
	local dot = forward:Dot(dir)

	if dot < 0.5 then
		dir = dir * 1.5
	end

	local shake = Vector3.new(
		math.random(-45, 45),
		math.random(-20, 20),
		math.random(-45, 45)
	)

	local base = 45
	local scale = dist * 5.5
	local speed = base + scale

	root.Velocity = dir * speed + shake
end


--========================================================--
-- REMOVE FALL
--========================================================--

local Reach = true
local loopRunning = false

local function startReach()
	if loopRunning then
		return
	end

	loopRunning = true

	task.spawn(function()
		while Reach do
			RunService.Heartbeat:Wait()

			if not EnabledMain then continue end

			local c = plr.Character
			local r = getRoot(c)
			if not c or not r then continue end

			local savedVel = r.Velocity
			local movel = 0.1

			pcall(function()
				if fired then
					setVelocityWithShake()
				end
			end)

			RunService.RenderStepped:Wait()
			if r then
				pcall(function()
					if fired then
						r.Velocity = savedVel
					end
				end)
			end

			RunService.Stepped:Wait()
			if r then
				pcall(function()
					if fired then
						r.Velocity = savedVel + Vector3.new(0, movel, 0)
					end
				end)
				movel = -movel
			end
		end

		loopRunning = false
	end)
end

startReach()

Features & Information

Its keyless and. So.. it works for nosferatu update and all skins. dont thank me. its my uhh testing thing. Tag: Forsaken Hitbox Extender, Forsaken Keyless, Gaze, nvm im lazy lol
#Forsaken hitbox extender#Forsaken keyless#Gaze

Community Comments (5)

GazeGazeDec 1, 2025

Another gazegpt work, im very lazi

GazeGazeDec 1, 2025

Maybe

mistymistyDec 2, 2025

does this actually extend the other player hitbox or just it just teleport your character forward to make the hitbox longer

GazeGazeDec 3, 2025

@saska4186 fym thats obviously the ui

c00lk144c00lk144Aug 7, 2026

Can i upload this script to support UFE? (Un*led Forsaken Engine) Ill give credit

More Scripts for Forsaken