Free Gui For Gun Games
Key RequiredUniversal

Free Gui For Gun Games

Universal Scriptaemox65aemox65 409 views 172 executesUpdated Apr 25, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•185 lines (4869 chars)
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "Free"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

-- FRAME
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 190, 0, 260)
frame.Position = UDim2.new(0.1,0,0.2,0)
frame.BackgroundColor3 = Color3.fromRGB(25,25,25)
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,10)

-- HEADER (TITLE)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,35)
title.BackgroundColor3 = Color3.fromRGB(15,15,15)
title.Text = "Free GUI"
title.Font = Enum.Font.SourceSansBold
title.TextSize = 18
title.TextColor3 = Color3.fromRGB(255,255,255)
title.Parent = frame

-- 🔥 ANIMATION
task.spawn(function()
	while true do
		TweenService:Create(title, TweenInfo.new(0.4), {TextSize = 22}):Play()
		title.TextColor3 = Color3.fromRGB(255,0,0)
		task.wait(0.4)

		TweenService:Create(title, TweenInfo.new(0.4), {TextSize = 18}):Play()
		title.TextColor3 = Color3.fromRGB(0,255,255)
		task.wait(0.4)
	end
end)

-- BUTTON MAKER
local function btn(text, y)
	local b = Instance.new("TextButton")
	b.Size = UDim2.new(1,-10,0,35)
	b.Position = UDim2.new(0,5,0,y)
	b.Text = text
	b.BackgroundColor3 = Color3.fromRGB(40,40,40)
	b.TextColor3 = Color3.fromRGB(255,255,255)
	b.Parent = frame
	Instance.new("UICorner", b).CornerRadius = UDim.new(0,8)
	return b
end

local noclipBtn = btn("Noclip: OFF", 45)
local speedBtn  = btn("Speed: OFF", 85)
local espBtn    = btn("ESP: OFF", 125)
local jumpBtn   = btn("Jump: OFF", 165)

-- INPUTS
local speedBox = Instance.new("TextBox", frame)
speedBox.Size = UDim2.new(1,-10,0,25)
speedBox.Position = UDim2.new(0,5,0,205)
speedBox.PlaceholderText = "Speed (50)"
speedBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
speedBox.TextColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", speedBox).CornerRadius = UDim.new(0,6)

local jumpBox = Instance.new("TextBox", frame)
jumpBox.Size = UDim2.new(1,-10,0,25)
jumpBox.Position = UDim2.new(0,5,0,235)
jumpBox.PlaceholderText = "Jump (100)"
jumpBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
jumpBox.TextColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", jumpBox).CornerRadius = UDim.new(0,6)

-- 🎯 DRAG (SADECE HEADER)
local dragging = false
local dragStart, startPos

title.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 
	or input.UserInputType == Enum.UserInputType.Touch then

		dragging = true
		dragStart = input.Position
		startPos = frame.Position
	end
end)

title.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 
	or input.UserInputType == Enum.UserInputType.Touch then
		dragging = false
	end
end)

UIS.InputChanged:Connect(function(input)
	if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement 
	or input.UserInputType == Enum.UserInputType.Touch) then

		local delta = input.Position - dragStart
		frame.Position = UDim2.new(
			startPos.X.Scale,
			startPos.X.Offset + delta.X,
			startPos.Y.Scale,
			startPos.Y.Offset + delta.Y
		)
	end
end)

-- STATES
local noclip,speedOn,espOn,jumpOn = false,false,false,false
local speedValue,jumpValue = 16,50

-- BUTTONS
noclipBtn.MouseButton1Click:Connect(function()
	noclip = not noclip
	noclipBtn.Text = noclip and "Noclip: ON" or "Noclip: OFF"
end)

speedBtn.MouseButton1Click:Connect(function()
	speedOn = not speedOn
	speedBtn.Text = speedOn and "Speed: ON" or "Speed: OFF"
end)

espBtn.MouseButton1Click:Connect(function()
	espOn = not espOn
	espBtn.Text = espOn and "ESP: ON" or "ESP: OFF"
end)

jumpBtn.MouseButton1Click:Connect(function()
	jumpOn = not jumpOn
	jumpBtn.Text = jumpOn and "Jump: ON" or "Jump: OFF"
end)

-- INPUT
speedBox.FocusLost:Connect(function()
	local n = tonumber(speedBox.Text)
	if n then speedValue = n end
end)

jumpBox.FocusLost:Connect(function()
	local n = tonumber(jumpBox.Text)
	if n then jumpValue = n end
end)

-- ESP
local function esp(char,state)
	local h = char:FindFirstChild("Highlight")
	if state then
		if not h then
			h = Instance.new("Highlight", char)
			h.FillColor = Color3.fromRGB(255,0,0)
		end
	else
		if h then h:Destroy() end
	end
end

-- LOOP
game:GetService("RunService").Stepped:Connect(function()
	local char = player.Character
	if not char then return end

	local hum = char:FindFirstChildOfClass("Humanoid")

	if noclip then
		for _,v in pairs(char:GetDescendants()) do
			if v:IsA("BasePart") then
				v.CanCollide = false
			end
		end
	end

	if speedOn and hum then hum.WalkSpeed = speedValue end
	if jumpOn and hum then
		hum.UseJumpPower = true
		hum.JumpPower = jumpValue
	end

	for _,p in pairs(game.Players:GetPlayers()) do
		if p.Character then esp(p.Character,espOn) end
	end
end)

Features & Information

.
#Free#Emox

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts