Powerful
Key Required

Powerful

Troll Slapping Towerareyoumental110areyoumental110 39.6K views 2.8K executesUpdated May 22, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•639 lines (19957 chars)
getgenv().deletewhendupefound = true
local localplr = game.Players.LocalPlayer
local lib = loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Lib-18698"))()

lib.makelib("Troll Slapping Tower (2AreYouMental110)")

local maintab = lib.maketab("Main")
local slaptab = lib.maketab("Gloves")
local buildtab = lib.maketab("Build")

lib.makelabel("ALTS: normalxsx_casual1, normalxsx_casual2, normalxsx_casual3, normalxsx_casual4, normalxsx_casual5",maintab)

local apb = false
local ofs = -3.5
local conn = {}
lib.maketoggle("Auto Place Block (Requires Block Glove)",maintab,function(bool)
    apb = bool
    while apb do
        task.wait()
        pcall(function()
            (workspace:FindFirstChild("BlockSlap",true) or game.Players:FindFirstChild("BlockSlap",true)).PlaceBlock:FireServer((localplr.Character.HumanoidRootPart.CFrame + Vector3.new(0,ofs,0)) * CFrame.fromEulerAnglesYXZ(math.rad(90),0,0))
        end)
    end
end)
lib.maketextbox("Set Height Offset (-3.5 for floating platform)",maintab,function(txt)
    ofs = tonumber(txt)
end)
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Anti-Slap-or-Fling-FOR-TROLL-GAMES-40702"))()
local av = true
lib.maketoggle("Infinite Yield Anti-Void",maintab,function(bool)
    av = bool
end,true)
local af = false
lib.maketoggle("Anti-Time Stop (client sided)",maintab,function(bool)
    af = bool
end)
function da(c)
	if c:IsA("BasePart") then
		c:GetPropertyChangedSignal("Anchored"):Connect(function()
			if af and c.Anchored == true then
				c.Anchored = false
			end
		end)
	elseif c:IsA("Humanoid") then
		c:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
			if af and c.WalkSpeed < 16 then
				c.WalkSpeed = 16
			end
		end)
		c:GetPropertyChangedSignal("JumpPower"):Connect(function()
			if af and c.JumpPower < 50 then
				c.JumpPower = 50
			end
		end)
	end
end
local OrgDestroyHeight = workspace.FallenPartsDestroyHeight
workspace.FallenPartsDestroyHeight = -500000
local antivoidloop = game:GetService("RunService").Stepped:Connect(function()
    local root = (localplr.Character and localplr.Character:FindFirstChild("HumanoidRootPart"))
    if av and root and root.Position.Y <= OrgDestroyHeight + 25 then
        root.Velocity = root.Velocity + Vector3.new(0, 250, 0)
    end
end)
function onca(c)
    table.insert(conn,c.DescendantAdded:Connect(function(child)
        if nse and string.find(child.Name,"Velocity") then
            child:Destroy()
            localplr.Character.Humanoid.Sit = false
            localplr.Character.Humanoid.PlatformStand = false
        end
        da(child)
    end))
    table.insert(conn,c.ChildAdded:Connect(function(child)
        da(child)
    end))
    for i,v in pairs(c:GetChildren()) do
    	da(v)
    end
end
if localplr.Character then
    onca(localplr.Character)
end
table.insert(conn,localplr.CharacterAdded:Connect(onca))
local aw = false
local amtw = 1
lib.maketextbox("Set Win Multiplier (DO NOT SET HIGHER THAN 10/20 OTHERWISE YOU MAY CRASH!)",maintab,function(txt)
    amtw = tonumber(txt)
end)
lib.maketoggle("Auto Win",maintab,function(bool)
    aw = bool
    local winpad = nil
    for i,v in pairs(workspace:GetChildren()) do
        if v:IsA("BasePart") and v.Color == Color3.fromRGB(0,255,0) and v:FindFirstChildWhichIsA("ProximityPrompt") then
            winpad = v
        end
    end
    while aw do
        task.wait()
		for i=1,amtw do
			localplr.Character:PivotTo(winpad.CFrame)
			winpad.ProximityPrompt.HoldDuration = 0
			fireproximityprompt(winpad.ProximityPrompt,0)
		end
    end
end)
local fxyz = Vector3.new(0,10,0)
lib.maketextbox("Set Fling XYZ (seperate with commas, example: 0,10,0)",maintab,function(txt)
    local xyz = string.split(txt,",")
    fxyz = Vector3.new(tonumber(xyz[1]),tonumber(xyz[2]),tonumber(xyz[3]))
end)
lib.makebutton("Fling All Players",maintab,function()
	local event = nil
	for i,v in pairs(game.Players:GetPlayers()) do
		if v:FindFirstChild("Backpack") and v.Backpack:FindFirstChild("IsSlapTool",true) then
			event = v.Backpack:FindFirstChild("IsSlapTool",true).Parent.Event
			break
		elseif v.Character and v.Character:FindFirstChild("IsSlapTool",true) then
			event = v.Character:FindFirstChild("IsSlapTool",true).Parent.Event
			break
		end
	end
	if event then
		for i,v in pairs(game.Players:GetPlayers()) do
			if v.Character and v ~= localplr then
				task.wait()
				event:FireServer("slash",v.Character,fxyz)
			end
		end
	end
end)
local plrnames = {}
local plrs = {}
local plrdd = lib.makedropdown("Fling Player",maintab,{},function(plr)
	local event = nil
	local splr = plrs[plr]
	for i,v in pairs(game.Players:GetPlayers()) do
		if v:FindFirstChild("Backpack") and v.Backpack:FindFirstChild("IsSlapTool",true) then
			event = v.Backpack:FindFirstChild("IsSlapTool",true).Parent.Event
			break
		elseif v.Character and v.Character:FindFirstChild("IsSlapTool",true) then
			event = v.Character:FindFirstChild("IsSlapTool",true).Parent.Event
			break
		end
	end
	if event then
		event:FireServer("slash",splr.Character,fxyz)
	end
end)
function getname(plr)
	if plr then
		if plr.DisplayName == plr.Name then
			return plr.Name
		else
			return plr.DisplayName.."/"..plr.Name
		end
	end
end
lib.makebutton("Bring All Players",maintab,function()
	local event = nil
	if not localplr.Character:FindFirstChild("SwapperSlap") and not localplr.Backpack:FindFirstChild("SwapperSlap") then
		game.ReplicatedStorage.EquipSlapEvent:FireServer("SwapperSlap")
		localplr.Backpack:WaitForChild("SwapperSlap",99999).Parent = localplr.Character
		event = localplr.Character.SwapperSlap.Event
	elseif localplr.Backpack:FindFirstChild("SwapperSlap") then
		localplr.Backpack.SwapperSlap.Parent = localplr.Character
		event = localplr.Character.SwapperSlap.Event
	end
	if event then
		for i,v in pairs(game.Players:GetPlayers()) do
			if v.Character and v ~= localplr then
				event:FireServer("swap",localplr.Character.HumanoidRootPart.Position,localplr.Character.HumanoidRootPart.Position,v)
			end
		end
	end
end)
local plrdd2 = lib.makedropdown("Bring Player",maintab,{},function(plr)
	local event = nil
	local splr = plrs[plr]
	if not localplr.Character:FindFirstChild("SwapperSlap") and not localplr.Backpack:FindFirstChild("SwapperSlap") then
		game.ReplicatedStorage.EquipSlapEvent:FireServer("SwapperSlap")
		localplr.Backpack:WaitForChild("SwapperSlap",99999).Parent = localplr.Character
		event = localplr.Character.SwapperSlap.Event
	elseif localplr.Backpack:FindFirstChild("SwapperSlap") then
		localplr.Backpack.SwapperSlap.Parent = localplr.Character
		event = localplr.Character.SwapperSlap.Event
	end
	if event then
		event:FireServer("swap",localplr.Character.HumanoidRootPart.Position,localplr.Character.HumanoidRootPart.Position,splr)
	end
end)
function dp(plr,ns)
	local name = getname(plr)
	table.insert(plrnames,name)
	table.sort(plrnames,function(a,b)
    	return a:lower() < b:lower()
	end)
	if not ns then
		lib.updatedropdown(plrdd,plrnames)
		lib.updatedropdown(plrdd2,plrnames)
	end
	plrs[name] = plr
end
for i,v in pairs(game.Players:GetPlayers()) do
	dp(v,true)
end
lib.updatedropdown(plrdd,plrnames)
lib.updatedropdown(plrdd2,plrnames)
table.insert(conn,game.Players.PlayerAdded:Connect(dp))
table.insert(conn,game.Players.PlayerRemoving:Connect(function()
	local name = getname(plr)
	pcall(function()
		plrs[name] = nil
		table.remove(plrnames,table.find(plrnames,name))
	end)
	table.sort(plrnames,function(a,b)
    	return a:lower() < b:lower()
	end)
	lib.updatedropdown(plrdd,plrnames)
	lib.updatedropdown(plrdd2,plrnames)
end))
local asb = false
lib.maketoggle("Auto Spam Bricks (Requires Brick Glove)",maintab,function(bool)
    asb = bool
    while asb do
        task.wait()
        pcall(function()
            (workspace:FindFirstChild("BrickSlap",true) or game.Players:FindFirstChild("BrickSlap",true)).Event:FireServer("lego")
        end)
    end
end)
local asbh = false
lib.maketoggle("Auto Spam Black Holes (Requires Galaxy Glove)",maintab,function(bool)
    asbh = bool
    while asbh do
        task.wait()
        pcall(function()
            (workspace:FindFirstChild("GalaxySlap",true) or game.Players:FindFirstChild("GalaxySlap",true)).BlackholeEvent:FireServer()
        end)
    end
end)
local ass = false -- lol
local resetsw = 0
lib.maketoggle("Auto Spam Swapper (PERMANENT DAMAGE)",maintab,function(bool)
	ass = bool
	while ass do
		task.wait(.2)
		resetsw += 1
		local event = nil
		if resetsw%3 == 0 then
			if localplr.Character:FindFirstChild("SwapperSlap") then
				localplr.Character.SwapperSlap:Destroy()
			elseif localplr.Backpack:FindFirstChild("SwapperSlap") then
				localplr.Backpack.SwapperSlap:Destroy()
			end
			game.ReplicatedStorage.EquipSlapEvent:FireServer("SwapperSlap")
			localplr.Backpack:WaitForChild("SwapperSlap",99999).Parent = localplr.Character
			event = localplr.Character.SwapperSlap.Event
		else
			if localplr.Character:FindFirstChild("SwapperSlap") then
				event = localplr.Character.SwapperSlap.Event
			elseif localplr.Backpack:FindFirstChild("SwapperSlap") then
				event = localplr.Backpack.SwapperSlap.Event
			end
		end
		if event then
			for i,v in pairs(game.Players:GetPlayers()) do
				if v.Character and v ~= localplr then
					pcall(function()
						event:FireServer("swap",v.Character.HumanoidRootPart.Position,localplr.Character.HumanoidRootPart.Position,v)
					end)
				end
			end
		end
	end
end)
local nkbd = false
function dkb(kb)
	if kb:IsA("BasePart") and (kb.Color == Color3.fromRGB(175,0,175) or kb.Color == Color3.fromRGB(17,17,17) or kb.Color == Color3.fromRGB(107,50,124) or kb.Color == Color3.fromRGB(255,0,0)) and kb:FindFirstChildWhichIsA("TouchTransmitter") then
		kb.CanTouch = not nkbd
	end
end
function dnkbd()
	for i,v in pairs(workspace:GetChildren()) do
		if v:IsA("BasePart") then
			dkb(v)
		elseif v:IsA("Model") then
			for i,v in pairs(v:GetChildren()) do
				dkb(v)
			end
		end
	end
end
lib.maketoggle("No Killbrick Damage",maintab,function(bool)
	nkbd = bool
	dnkbd()
end)

local cd = nil
local cd2 = nil
local slapsize = Vector3.new(2.46, 3.255954, 0.915844)
function set0mass(part)
	part.Massless = true
end
table.insert(conn,localplr.Backpack.ChildAdded:Connect(function(child)
	if cd and child:IsA("Tool") and child:FindFirstChild("Speed") then
		child.Speed.Value = cd
	end
	if cd2 and child:IsA("Tool") and child:FindFirstChild("IsSlapTool") then
		set0mass(child.Handle)
		child.Handle.Size = slapsize*cd2
	end
end))
lib.maketextbox("Set Cooldown for Gloves (-1 to default)",slaptab,function(txt)
	txt = tonumber(txt)
	if txt == -1 then
		cd = nil
	else
		cd = txt
	end
	if cd then
		for i,v in pairs(localplr.Backpack:GetChildren()) do
			if v:IsA("Tool") and v:FindFirstChild("Speed") then
				v.Speed.Value = cd
			end
		end
		for i,v in pairs(localplr.Character:GetChildren()) do
			if v:IsA("Tool") and v:FindFirstChild("Speed") then
				v.Speed.Value = cd
			end
		end
	end
end)
lib.maketextbox("Set Size for Gloves (-1 to default)",slaptab,function(txt)
	txt = tonumber(txt)
	if txt == -1 then
		cd2 = nil
	else
		cd2 = txt
	end
	if cd2 then
		for i,v in pairs(localplr.Backpack:GetChildren()) do
			if v:IsA("Tool") and v:FindFirstChild("IsSlapTool") then
				set0mass(v.Handle)
				v.Handle.Size = slapsize*cd2
			end
		end
		for i,v in pairs(localplr.Character:GetChildren()) do
			if v:IsA("Tool") and v:FindFirstChild("IsSlapTool") then
				set0mass(v.Handle)
				v.Handle.Size = slapsize*cd2
			end
		end
	end
end)
lib.makelabel("Gloves",slaptab)
local names = {}
for i,v in pairs(game.ReplicatedStorage.SlapTools:GetChildren()) do
	local sgs = string.gsub(v.Name,"Slap"," Glove")
    table.insert(names,sgs)
end
table.sort(names,function(a,b)
    return a:lower() < b:lower()
end)
for i,v in pairs(names) do
    lib.makebutton("Get "..v,slaptab,function()
    	local sgs = string.gsub(v," Glove","Slap")
    	if localplr.Backpack:FindFirstChild(sgs) then
    		localplr.Backpack[sgs]:Destroy()
    	end
        game.ReplicatedStorage.EquipSlapEvent:FireServer(sgs)
        localplr.Backpack:WaitForChild(sgs,99999).Parent = localplr.Character
    end)
end
local partcfr = {}
if getgenv().savedblockz then
	partcfr = getgenv().savedblockz
end
lib.makelabel("\u{26A0}\u{FE0F} Building does not save across servers!",buildtab)
lib.makelabel("\u{26A0}\u{FE0F} Going higher than ~400 parts will start to glitch building!",buildtab)
local pa = lib.makelabel("Part Amount: 0",buildtab)
local wt = lib.makelabel("Wait Time: ??",buildtab)
local awt = lib.makelabel("Actual Wait Time: ??",buildtab)
local mouse = localplr:GetMouse()
local singleframe = 1/60
local credit = " (BY 2AreYouMental110)"
local display = Instance.new("Part")
display.Anchored = true
display.Transparency = 1
display.Color = Color3.fromRGB(117,112,116)
display.Size = Vector3.new(8,10,1)
display.CanCollide = false
display.CastShadow = false
display.Name = "DisplayBuild"
display.CanQuery = false
display.Parent = workspace
local display2 = Instance.new("Highlight")
display2.FillTransparency = 1
display2.OutlineColor = Color3.fromRGB(255,0,0)
display2.DepthMode = Enum.HighlightDepthMode.Occluded
display2.Parent = game.CoreGui
local on = true
local obs = false
local mb = true
local dist = 10
local snapcf = false
local snapcf2 = false
function convrot(int)
    return (int*360)/(math.pi*2)
end
function snap(cframe)
	local x,y,z = cframe:ToOrientation()
	local cfr2 = {math.rad(math.round(convrot(x)/45)*45),math.rad(math.round(convrot(y)/45)*45),math.rad(math.round(convrot(z)/45)*45)}
	return CFrame.new(cframe.Position) * CFrame.fromOrientation(table.unpack(cfr2))
end
function snap2(cframe)
	return CFrame.new(math.round(cframe.Position.X),math.round(cframe.Position.Y),math.round(cframe.Position.Z)) * (cframe - cframe.Position)
end
function getpos()
	local cfr = (CFrame.new(((mouse.Hit.Position - localplr.Character:GetPivot().Position).Unit * dist)) * mouse.Hit.Rotation) + localplr.Character:GetPivot().Position
	if snapcf then
		cfr = snap(cfr)
	end
	if snapcf2 then
		cfr = snap2(cfr)
	end
	return cfr
end
local deq = false
lib.makebutton("Get Build Tools",buildtab,function()
	if localplr.Backpack:FindFirstChild("funny build"..credit) then
		localplr.Backpack["funny build"..credit]:Destroy()
	end
	if localplr.Character:FindFirstChild("funny build"..credit) then
		localplr.Character["funny build"..credit]:Destroy()
	end
	if localplr.Backpack:FindFirstChild("funny delete"..credit) then
		localplr.Backpack["funny delete"..credit]:Destroy()
	end
	if localplr.Character:FindFirstChild("funny delete"..credit) then
		localplr.Character["funny delete"..credit]:Destroy()
	end
	local fb = Instance.new("Tool")
	fb.Name = "funny build"..credit
	fb.RequiresHandle = false
	fb.Equipped:Connect(function()
		display.Transparency = 0.6
	end)
	fb.Unequipped:Connect(function()
		display.Transparency = 1
	end)
	fb.Parent = localplr.Backpack
	fb.Activated:Connect(function()
		local hit = mouse.Hit
		if snapcf then
			hit = snap(hit)
		end
		if obs then
			hit = getpos()
		end
		if snapcf2 then
			hit = snap2(hit)
		end
		table.insert(partcfr,hit)
		lib.updatelabel("Part Amount: "..tostring(#partcfr),pa)
		local plcbl = workspace:FindFirstChild("PlaceBlock",true) or game.Players:FindFirstChild("PlaceBlock",true)
		if plcbl then
			plcbl:FireServer(hit)
		end
	end)
	local fb = Instance.new("Tool")
	fb.Name = "funny delete"..credit
	fb.RequiresHandle = false
	fb.Equipped:Connect(function()
		deq = true
	end)
	fb.Unequipped:Connect(function()
		deq = false
	end)
	fb.Parent = localplr.Backpack
	fb.Activated:Connect(function()
		if display2.Adornee ~= nil then
			for i,v in pairs(partcfr) do
				if v.Position == display2.Adornee.Position then
					partcfr[i] = nil
					lib.updatelabel("Part Amount: "..tostring(#partcfr),pa)
					break
				end
			end
		end
	end)
end)
lib.maketoggle("Make Blocks",buildtab,function(bool)
	mb = bool
end,true)
lib.makebutton("Delete Last Block",buildtab,function()
	partcfr[#partcfr] = nil
	lib.updatelabel("Part Amount: "..tostring(#partcfr),pa)
end)
lib.makebutton("Delete All Blocks",buildtab,function()
	partcfr = {}
	lib.updatelabel("Part Amount: "..tostring(#partcfr),pa)
end)
lib.maketoggle("Use other build positioning system",buildtab,function(bool)
	obs = bool
end)
lib.makeslider("Set Block Distance",buildtab,0,50,function(num)
	dist = num
end)
lib.maketoggle("Snap Rotation",buildtab,function(bool)
	snapcf = bool
end)
lib.maketoggle("Snap Position",buildtab,function(bool)
	snapcf2 = bool
end)
coroutine.wrap(function()
	while on do
		task.wait()
		pcall(function()
			if obs then
				display.CFrame = getpos()
			else
				local hit = mouse.Hit
				if snapcf then
					hit = snap(hit)
				end
				if snapcf2 then
					hit = snap2(hit)
				end
				display.CFrame = hit
			end
			if mouse.Target and mouse.Target.Name == "PlacedBlock" and deq then
				display2.Adornee = mouse.Target
			else
				display2.Adornee = nil
			end
		end)
	end
end)()
function getping()
	local ping = nil
	pcall(function()
		local ps = game.CoreGui:FindFirstChild("PerformanceStats",true)
		for i,v in pairs(ps:GetChildren()) do
			if v:FindFirstChild("StatsMiniTextPanelClass") and v.StatsMiniTextPanelClass.TitleLabel.Text == "Ping" then
				ping = tonumber(string.sub(v.StatsMiniTextPanelClass.ValueLabel.Text,1,string.find(v.StatsMiniTextPanelClass.ValueLabel.Text,"ms")-1))/1000
			end
		end
	end)
	if not ping then
		ping = 0.5
	end
	return ping
end
coroutine.wrap(function()
	while on do
		local s = tick()
		local waittime = ((2-(#partcfr/15)*singleframe))-getping()
		task.wait(waittime)
		if mb and (workspace:FindFirstChild("PlaceBlock",true) or game.Players:FindFirstChild("PlaceBlock",true)) then
			local plcbl = workspace:FindFirstChild("PlaceBlock",true) or game.Players:FindFirstChild("PlaceBlock",true)
			for i,v in pairs(partcfr) do
				if i%15 == 0 then
					task.wait()
				end
				plcbl:FireServer(v)
			end
		elseif localplr.Backpack:FindFirstChild("funny build"..credit) or localplr.Character:FindFirstChild("funny build"..credit) then
			game.ReplicatedStorage.EquipSlapEvent:FireServer("BlockSlap")
		end
		lib.updatelabel("Wait Time: "..tostring(waittime+((#partcfr/15)*singleframe)),wt)
		lib.updatelabel("Actual Wait Time: "..tostring(tick() - s),awt)
	end
end)()
local plrf = Instance.new("Folder")
plrf.Name = "PLRFOLDER"
plrf.Parent = workspace
mouse.TargetFilter = plrf
function oca(c)
	c.Parent = plrf
end
function opa(p)
	if p.Character then
		oca(p.Character)
	end
	table.insert(conn,p.CharacterAdded:Connect(oca))
end
table.insert(conn,game.Players.PlayerAdded:Connect(opa))
for i,v in pairs(game.Players:GetPlayers()) do
	opa(v)
end
lib.ondestroyedfunc = function()
    apb = false
    nse = false
    aw = false
    asb = false
    asbh = false
    ass = false
	nkbd = false
	on = false
	av = false
	af = false
	dnkbd()
	for i,v in pairs(conn) do
		v:Disconnect()
	end
	for i,v in pairs(localplr.Backpack:GetChildren()) do
		if v:IsA("Tool") and v:FindFirstChild("IsSlapTool") then
			v.Handle.Massless = false
			v.Handle.Size = slapsize
		end
	end
	for i,v in pairs(localplr.Character:GetChildren()) do
		if v:IsA("Tool") and v:FindFirstChild("IsSlapTool") then
			v.Handle.Massless = false
			v.Handle.Size = slapsize
		end
	end
	if localplr.Backpack:FindFirstChild("funny build"..credit) then
		localplr.Backpack["funny build"..credit]:Destroy()
	end
	if localplr.Character:FindFirstChild("funny build"..credit) then
		localplr.Character["funny build"..credit]:Destroy()
	end
	if localplr.Backpack:FindFirstChild("funny delete"..credit) then
		localplr.Backpack["funny delete"..credit]:Destroy()
	end
	if localplr.Character:FindFirstChild("funny delete"..credit) then
		localplr.Character["funny delete"..credit]:Destroy()
	end
	display:Destroy()
	display2:Destroy()
	workspace.FallenPartsDestroyHeight = OrgDestroyHeight
	for i,v in pairs(plrf:GetChildren()) do
		v.Parent = workspace
	end
	plrf:Destroy()
	getgenv().savedblockz = partcfr
end

Features & Information

If you are gonna take some code from this script, please credit me! Auto Place Block (platform under you) Set height of block No Slap Effect/Fling Auto Win (5k per second) Anti Void Anti Freeze/Time Stop Fling players with a custom XYZ Value (X = left/right, Y = up/down, Z = back/front) Fling All Players Bring Player Bring All Players No Killbrick Damage Spam Bricks (makes players stunned) Spam Black Holes (attracts players) Spam Swapper (lags server & does permanent damage) Get ALL gloves Edit glove cooldown/size BUILD TOOL DELETE TOOL (ONLY FOR BUILT BLOCKS)

Community Comments (1)

___jso___jsoOct 23, 2025

Put this in pastebin pls

More Scripts for Troll Slapping Tower