ViziX esp
Key RequiredUniversal

ViziX esp

Universal Scripttuxx_tuxx_ 65 views 252 executesUpdated Aug 14, 2026
Unrated
00
Lua Script•190 lines (9222 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local UIS = game:GetService("UserInputService")
local SoundService = game:GetService("SoundService")

local player = Players.LocalPlayer
local espEnabled, teamEspEnabled, uiVisible, rainbowChams = false, false, true, false
local espHighlights, espTags, bKeys, isBinding = {}, {}, {}, nil

local function playClickSound(pitch)
	local sound = Instance.new("Sound", workspace)
	sound.SoundId = "rbxassetid://130114015"
	sound.Volume = 0.5
	sound.Pitch = pitch or 1
	SoundService:PlayLocalSound(sound)
	sound.Destroying:Connect(function() sound:Destroy() end)
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "viziX_Menu"
screenGui.ResetOnSpawn = false
pcall(function() screenGui.Parent = CoreGui end)
if not screenGui.Parent then screenGui.Parent = player:WaitForChild("PlayerGui") end

local main = Instance.new("Frame", screenGui)
main.Size, main.Position, main.BackgroundColor3, main.BorderSizePixel, main.Active, main.Draggable = UDim2.new(0, 240, 0, 165), UDim2.new(0.5, -120, 0.5, -82), Color3.fromRGB(20, 20, 20), 2, true, true

local title = Instance.new("TextLabel", main)
title.Size, title.BackgroundColor3, title.BorderSizePixel, title.Text, title.TextColor3, title.Font, title.TextSize, title.TextXAlignment = UDim2.new(1, -30, 0, 24), Color3.fromRGB(10, 10, 10), 0, " [ viziX esp ] ", Color3.fromRGB(255, 255, 255), Enum.Font.Code, 13, Enum.TextXAlignment.Left

local close = Instance.new("TextButton", main)
close.Size, close.Position, close.BackgroundColor3, close.BorderSizePixel, close.Text, close.TextColor3, close.Font, close.TextSize = UDim2.new(0, 30, 0, 24), UDim2.new(1, -30, 0, 0), Color3.fromRGB(10, 10, 10), 0, "[X]", Color3.fromRGB(255, 255, 255), Enum.Font.Code, 13

local tabs = {Main = Instance.new("Frame", main), Settings = Instance.new("Frame", main)}
for k, frame in pairs(tabs) do
	frame.Size, frame.Position, frame.BackgroundTransparency = UDim2.new(1, 0, 1, -50), UDim2.new(0, 0, 0, 50), 1
	local btn = Instance.new("TextButton", main)
	btn.Size, btn.Position, btn.BackgroundColor3, btn.BorderSizePixel, btn.Text, btn.TextColor3, btn.Font, btn.TextSize = UDim2.new(0, k == "Main" and 60 or 70, 0, 18), UDim2.new(0, k == "Main" and 10 or 75, 0, 28), Color3.fromRGB(k == "Main" and 30 or 15, k == "Main" and 30 or 15, k == "Main" and 30 or 15), 1, k, Color3.fromRGB(255, 255, 255), Enum.Font.Code, 12
	btn.MouseButton1Click:Connect(function()
		playClickSound(1.2)
		for _, f in pairs(tabs) do f.Visible = false end
		frame.Visible = true
	end)
end
tabs.Settings.Visible = false

local function createToggle(parent, yPos, text, callback)
	local f = Instance.new("Frame", parent) f.Size, f.Position, f.BackgroundTransparency = UDim2.new(1, 0, 0, 25), UDim2.new(0, 0, 0, yPos), 1
	local b = Instance.new("TextButton", f) b.Size, b.Position, b.BackgroundColor3, b.BorderSizePixel, b.Text, b.Font, b.TextSize = UDim2.new(0, 14, 0, 14), UDim2.new(0, 15, 0.5, -7), Color3.fromRGB(50, 50, 50), 1, "", Enum.Font.Code, 11
	local l = Instance.new("TextLabel", f) l.Size, l.Position, l.BackgroundTransparency, l.Text, l.TextColor3, l.Font, l.TextSize, l.TextXAlignment = UDim2.new(1, -45, 1, 0), UDim2.new(0, 38, 0, 0), 1, text, Color3.fromRGB(255, 255, 255), Enum.Font.Code, 12, Enum.TextXAlignment.Left
	b.MouseButton1Click:Connect(function() 
		playClickSound(1)
		b.Text = callback() and "X" or "" 
	end)
	return b
end

local espBtn = createToggle(tabs.Main, 5, "Enable ESP", function()
	espEnabled = not espEnabled
	for _, h in pairs(espHighlights) do if h.Parent then h.Enabled = espEnabled end end
	for _, tag in pairs(espTags) do if tag.Parent then tag.Enabled = espEnabled end end
	return espEnabled
end)

local teamBtn = createToggle(tabs.Main, 32, "Team ESP Color", function() teamEspEnabled = not teamEspEnabled return teamEspEnabled end)

local chamsBtn = createToggle(tabs.Main, 59, "Rainbow Chams Mode", function() rainbowChams = not rainbowChams return rainbowChams end)

local function createBind(yPos, label, type)
	local f = Instance.new("Frame", tabs.Settings) f.Size, f.Position, f.BackgroundTransparency = UDim2.new(1, 0, 0, 20), UDim2.new(0, 0, 0, yPos), 1
	local l = Instance.new("TextLabel", f) l.Size, l.Position, l.BackgroundTransparency, l.Text, l.TextColor3, l.Font, l.TextSize, l.TextXAlignment = UDim2.new(0, 110, 1, 0), UDim2.new(0, 15, 0, 0), 1, label, Color3.fromRGB(255, 255, 255), Enum.Font.Code, 11, Enum.TextXAlignment.Left
	local b = Instance.new("TextButton", f) b.Size, b.Position, b.BackgroundColor3, b.BorderSizePixel, b.Text, b.TextColor3, b.Font, b.TextSize = UDim2.new(0, 80, 0, 14), UDim2.new(1, -95, 0.5, -7), Color3.fromRGB(40, 40, 40), 1, "[ NONE ]", Color3.fromRGB(255, 255, 255), Enum.Font.Code, 11
	b.MouseButton1Click:Connect(function() 
		playClickSound(0.8)
		isBinding = type 
		b.Text = "[ PRESS ]" 
	end)
	return b
end
local bEspBtn = createBind(5, "Bind ESP Key:", "ESP")
local bTeamBtn = createBind(32, "Bind Team Key:", "Team")

local wm = Instance.new("TextLabel", main) wm.Size, wm.Position, wm.BackgroundTransparency, wm.Text, wm.TextColor3, wm.Font, wm.TextSize, wm.TextXAlignment = UDim2.new(1, -16, 0, 16), UDim2.new(0, 8, 1, -18), 1, "made by tuxx", Color3.fromRGB(120, 120, 120), Enum.Font.Code, 10, Enum.TextXAlignment.Right

local function updateUI(color)
	main.BorderColor3 = color title.TextColor3 = color close.TextColor3 = color
	espBtn.BorderColor3 = color espBtn.TextColor3 = color teamBtn.BorderColor3 = color teamBtn.TextColor3 = color
	chamsBtn.BorderColor3 = color chamsBtn.TextColor3 = color
	bEspBtn.BorderColor3 = color bTeamBtn.BorderColor3 = color
end

RunService.RenderStepped:Connect(function()
	if not main or not main.Parent then return end
	updateUI(Color3.fromHSV((os.clock() * 0.2) % 1, 1, 1))
end)

local function notify()
	playClickSound(1.5)
	game:GetService("StarterGui"):SetCore("SendNotification", {Title = "viziX esp", Text = "Minimized. Press [ L ] to restore.", Duration = 1.5})
end

close.MouseButton1Click:Connect(function() uiVisible = false main.Visible = false notify() end)

local function applyESP(p)
	if p == player then return end
	local function chAdded(c)
		if espHighlights[p] then espHighlights[p]:Destroy() end
		if espTags[p] then espTags[p]:Destroy() end
		
		local head = c:WaitForChild("Head", 10)
		local root = c:WaitForChild("HumanoidRootPart", 10)
		if not head or not root then return end
		
		local h = Instance.new("Highlight", c) h.FillTransparency, h.OutlineColor, h.OutlineTransparency, h.Adornee, h.Enabled = 0.5, Color3.fromRGB(255, 255, 255), 0, c, espEnabled
		espHighlights[p] = h
		
		local bb = Instance.new("BillboardGui")
		bb.Name = "viziX_Tag"
		bb.Size = UDim2.new(0, 200, 0, 40)
		bb.AlwaysOnTop = true
		bb.ExtentsOffset = Vector3.new(0, 2.5, 0)
		bb.Enabled = espEnabled
		bb.Adornee = head
		bb.Parent = screenGui
		espTags[p] = bb
		
		local tl = Instance.new("TextLabel", bb)
		tl.Size = UDim2.new(1, 0, 1, 0)
		tl.BackgroundTransparency = 1
		tl.Font = Enum.Font.Code
		tl.TextSize = 12
		tl.TextStrokeTransparency = 0
		tl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
		
		RunService.RenderStepped:Connect(function()
			if not h or not h.Parent or not bb or not bb.Parent or not tl or not root or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end
			local targetColor
			if espEnabled and teamEspEnabled and p.Team then
				targetColor = p.TeamColor.Color
			elseif rainbowChams then
				targetColor = Color3.fromHSV((os.clock() * 0.4) % 1, 1, 1)
			else
				targetColor = Color3.fromRGB(255, 0, 120)
			end
			h.FillColor = targetColor
			tl.TextColor3 = targetColor
			
			local distance = math.round((player.Character.HumanoidRootPart.Position - root.Position).Magnitude)
			tl.Text = p.Name .. " [" .. distance .. " studs]"
		end)
	end
	if p.Character then chAdded(p.Character) end p.CharacterAdded:Connect(chAdded)
end

--loll get fucking out
for _, p in ipairs(Players:GetPlayers()) do applyESP(p) end Players.PlayerAdded:Connect(applyESP)
Players.PlayerRemoving:Connect(function(p) 
	if espHighlights[p] then espHighlights[p]:Destroy() espHighlights[p] = nil end 
	if espTags[p] then espTags[p]:Destroy() espTags[p] = nil end 
end)

local function tESP() 
	espEnabled = not espEnabled 
	espBtn.Text = espEnabled and "X" or "" 
	for _, h in pairs(espHighlights) do h.Enabled = espEnabled end 
	for _, tag in pairs(espTags) do tag.Enabled = espEnabled end 
end
local function tTeam() teamEspEnabled = not teamEspEnabled teamBtn.Text = teamEspEnabled and "X" or "" end

UIS.InputBegan:Connect(function(input, gpe)
	if isBinding then
		bKeys[isBinding] = input.KeyCode
		local b = isBinding == "ESP" and bEspBtn or bTeamBtn
		b.Text = "[ " .. input.KeyCode.Name .. " ]"
		isBinding = nil
		playClickSound(1.1)
		return
	end
	if gpe then return end
	if input.KeyCode == Enum.KeyCode.L then 
		uiVisible = not uiVisible 
		main.Visible = uiVisible 
		if not uiVisible then notify() else playClickSound(1.4) end
	elseif bKeys.ESP and input.KeyCode == bKeys.ESP then 
		tESP() 
	elseif bKeys.Team and input.KeyCode == bKeys.Team then 
		tTeam() 
	end
end)

Features & Information

why viziX? Visual ESP (Extra Sensory Perception): Track enemies through solid geometry and walls effortlessly. Team Check Filter: Toggle visibility for teammates to keep your screen clutter-free. CoreGui Bypass Insertion: Securely injects directly into CoreGui to stay hidden from basic in-game screenshot tools .Custom Keybind System: Fully rebindable toggle keys to hide or show the menu instantly. (and also it never been updated)

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts