Universal Script – Abtibang - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – Abtibang

Universal Scriptivanmasuda172ivanmasuda172 417 views 13 executesUpdated Oct 20, 2026
Unrated
00
Lua Script•202 lines (8755 chars)
-- AntiBang v3 (client) | K = вкл/выкл | RightShift = скрыть/показать окно
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")

local lp = Players.LocalPlayer
local CFG = {
	Distance = 4, -- студы: банг держит атакующего в 1-2 студах от тебя
	HideTime = 0.6, -- секунд под картой (меньше 0.5 он может не успеть уехать следом)
	Key = Enum.KeyCode.K,
	HideKey = Enum.KeyCode.RightShift,
	Whitelist = {}, -- можно вписать сразу: {"Friend1"}
}

local enabled, busy = true, false
local hits, lastName = 0, "-"
local updateUI = function() end

local function notify(t)
	pcall(function()
		StarterGui:SetCore("SendNotification", {Title = "AntiBang", Text = t, Duration = 2})
	end)
end

local function root(plr)
	local c = plr.Character
	return c and c:FindFirstChild("HumanoidRootPart")
end

local function isWhite(name)
	name = name:lower()
	for _, n in ipairs(CFG.Whitelist) do
		if n:lower() == name then return true end
	end
	return false
end

-- ЛОГИКА
local function dive(attacker)
	local me = root(lp)
	if not me then return end
	busy = true
	hits += 1
	lastName = attacker.Name
	updateUI()

	local home = me.CFrame
	local y = workspace.FallenPartsDestroyHeight + 25
	me.CFrame = CFrame.new(home.X, y, home.Z)
	me.AssemblyLinearVelocity = Vector3.zero
	me.Anchored = true
	notify(attacker.Name .. " рядом: ушёл под карту")

	task.delay(CFG.HideTime, function()
		local r = root(lp)
		if r then
			r.Anchored = false
			r.AssemblyLinearVelocity = Vector3.zero
			r.CFrame = home
		end
		busy = false
	end)
end

RunService.Heartbeat:Connect(function()
	if not enabled or busy then return end
	local me = root(lp)
	if not me then return end
	for _, p in ipairs(Players:GetPlayers()) do
		if p ~= lp and not isWhite(p.Name) then
			local r = root(p)
			if r and (r.Position - me.Position).Magnitude < CFG.Distance then
				dive(p)
				break
			end
		end
	end
end)

-- GUI
local function mk(class, props, parent)
	local o = Instance.new(class)
	for k, v in pairs(props) do o[k] = v end
	o.Parent = parent
	return o
end
local function corner(o, r) mk("UICorner", {CornerRadius = UDim.new(0, r or 8)}, o) end

local BG, PANEL, GREEN, RED = Color3.fromRGB(24, 26, 32), Color3.fromRGB(40, 43, 52), Color3.fromRGB(40, 160, 80), Color3.fromRGB(170, 50, 50)

local gui = mk("ScreenGui", {Name = "AntiBangGui", ResetOnSpawn = false}, (gethui and gethui()) or lp:WaitForChild("PlayerGui"))
local main = mk("Frame", {Size = UDim2.fromOffset(240, 280), Position = UDim2.new(0, 12, 0.3, 0), BackgroundColor3 = BG, BorderSizePixel = 0}, gui)
corner(main, 10)

local title = mk("Frame", {Size = UDim2.new(1, 0, 0, 32), BackgroundColor3 = PANEL, BorderSizePixel = 0}, main)
corner(title, 10)
mk("TextLabel", {Size = UDim2.new(1, -40, 1, 0), Position = UDim2.fromOffset(10, 0), BackgroundTransparency = 1, Text = "AntiBang", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 15, TextXAlignment = Enum.TextXAlignment.Left}, title)
local minBtn = mk("TextButton", {Size = UDim2.fromOffset(28, 24), Position = UDim2.new(1, -34, 0, 4), BackgroundColor3 = BG, Text = "–", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 16}, title)
corner(minBtn, 6)

local body = mk("Frame", {Size = UDim2.new(1, 0, 1, -32), Position = UDim2.fromOffset(0, 32), BackgroundTransparency = 1}, main)
mk("UIPadding", {PaddingTop = UDim.new(0, 8), PaddingLeft = UDim.new(0, 8), PaddingRight = UDim.new(0, 8)}, body)
mk("UIListLayout", {Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder}, body)

local function label(text, h, order)
	return mk("TextLabel", {Size = UDim2.new(1, 0, 0, h), BackgroundTransparency = 1, Text = text, TextColor3 = Color3.fromRGB(200, 205, 215), Font = Enum.Font.Gotham, TextSize = 12, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, LayoutOrder = order}, body)
end
local function button(text, w, order, parent)
	local b = mk("TextButton", {Size = UDim2.new(w, 0, 0, 28), BackgroundColor3 = PANEL, Text = text, TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 13, LayoutOrder = order}, parent or body)
	corner(b, 6)
	return b
end

-- вкл/выкл
local toggleBtn = button("", 1, 1)
toggleBtn.Size = UDim2.new(1, 0, 0, 34)

-- степперы
local function stepper(name, order, key, step, min, max)
	local row = mk("Frame", {Size = UDim2.new(1, 0, 0, 28), BackgroundTransparency = 1, LayoutOrder = order}, body)
	mk("TextLabel", {Size = UDim2.new(0.5, 0, 1, 0), BackgroundTransparency = 1, Text = name, TextColor3 = Color3.fromRGB(200, 205, 215), Font = Enum.Font.Gotham, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left}, row)
	local minus = mk("TextButton", {Size = UDim2.fromOffset(28, 28), Position = UDim2.new(0.5, 0, 0, 0), BackgroundColor3 = PANEL, Text = "-", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 16}, row)
	local val = mk("TextLabel", {Size = UDim2.new(0, 44, 1, 0), Position = UDim2.new(0.5, 32, 0, 0), BackgroundTransparency = 1, TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 13}, row)
	local plus = mk("TextButton", {Size = UDim2.fromOffset(28, 28), Position = UDim2.new(1, -28, 0, 0), BackgroundColor3 = PANEL, Text = "+", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 16}, row)
	corner(minus, 6) corner(plus, 6)
	local function set(v)
		CFG[key] = math.clamp(math.floor(v * 10 + 0.5) / 10, min, max)
		val.Text = tostring(CFG[key])
	end
	minus.MouseButton1Click:Connect(function() set(CFG[key] - step) end)
	plus.MouseButton1Click:Connect(function() set(CFG[key] + step) end)
	set(CFG[key])
end
stepper("Дистанция (студы)", 2, "Distance", 1, 2, 30)
stepper("Под картой (сек)", 3, "HideTime", 0.5, 0.5, 5)

-- белый список
local wlRow = mk("Frame", {Size = UDim2.new(1, 0, 0, 28), BackgroundTransparency = 1, LayoutOrder = 4}, body)
local box = mk("TextBox", {Size = UDim2.new(1, -66, 1, 0), BackgroundColor3 = PANEL, PlaceholderText = "ник друга", Text = "", TextColor3 = Color3.new(1, 1, 1), PlaceholderColor3 = Color3.fromRGB(130, 135, 145), Font = Enum.Font.Gotham, TextSize = 12, ClearTextOnFocus = false}, wlRow)
corner(box, 6)
local addBtn = mk("TextButton", {Size = UDim2.fromOffset(28, 28), Position = UDim2.new(1, -62, 0, 0), BackgroundColor3 = GREEN, Text = "+", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 16}, wlRow)
local clrBtn = mk("TextButton", {Size = UDim2.fromOffset(28, 28), Position = UDim2.new(1, -28, 0, 0), BackgroundColor3 = RED, Text = "x", TextColor3 = Color3.new(1, 1, 1), Font = Enum.Font.GothamBold, TextSize = 14}, wlRow)
corner(addBtn, 6) corner(clrBtn, 6)

local wlLabel = label("", 34, 5)
local statLabel = label("", 34, 6)

function updateUI()
	toggleBtn.Text = enabled and "ВКЛЮЧЕНО (K)" or "ВЫКЛЮЧЕНО (K)"
	toggleBtn.BackgroundColor3 = enabled and GREEN or RED
	wlLabel.Text = "Друзья: " .. (#CFG.Whitelist > 0 and table.concat(CFG.Whitelist, ", ") or "нет")
	statLabel.Text = "Срабатываний: " .. hits .. "\nПоследний: " .. lastName
end

local function toggle() enabled = not enabled updateUI() end
toggleBtn.MouseButton1Click:Connect(toggle)

addBtn.MouseButton1Click:Connect(function()
	local n = box.Text:gsub("^%s+", ""):gsub("%s+$", "")
	if n ~= "" and not isWhite(n) then table.insert(CFG.Whitelist, n) end
	box.Text = ""
	updateUI()
end)
clrBtn.MouseButton1Click:Connect(function() CFG.Whitelist = {} updateUI() end)

-- сворачивание
local collapsed = false
minBtn.MouseButton1Click:Connect(function()
	collapsed = not collapsed
	body.Visible = not collapsed
	main.Size = collapsed and UDim2.fromOffset(240, 32) or UDim2.fromOffset(240, 280)
	minBtn.Text = collapsed and "+" or "–"
end)

-- перетаскивание за заголовок (мышь и тач)
do
	local dragging, startPos, startInput
	title.InputBegan:Connect(function(i)
		if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
			dragging, startPos, startInput = true, main.Position, i.Position
			i.Changed:Connect(function()
				if i.UserInputState == Enum.UserInputState.End then dragging = false end
			end)
		end
	end)
	UIS.InputChanged:Connect(function(i)
		if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
			local d = i.Position - startInput
			main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
		end
	end)
end

-- горячие клавиши
UIS.InputBegan:Connect(function(i, gp)
	if gp then return end
	if i.KeyCode == CFG.Key then toggle()
	elseif i.KeyCode == CFG.HideKey then main.Visible = not main.Visible end
end)

updateUI()

How to Execute Universal Script – Abtibang

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

ivanmasuda172
ivanmasuda172
Script User
View Author Profile

Features & Information

Execute Universal Script – Abtibang. Key system required, created by ivanmasuda172, updated Oct 20, 2026. Tested and working on supported executors.

Script Changelog (1)

@ivanmasuda172Oct 20, 2026

Create script

Community Comments (0)

No comments yet for this script.

Frequently Asked Questions

How do I execute Universal Script – Abtibang in Roblox?

To run Universal Script – Abtibang, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – Abtibang keyless or does it require an access key?

Universal Script – Abtibang requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – Abtibang currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.