
KeylessUniversal

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local DEADRAILS = true -- set to false if your not using dead rails
getgenv().deletewhendupefound = true
local lib = loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Lib-18698"))()
lib.makelib("Destroyed. (2AreYouMental110)")
local txtstuff = loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Text-to-Blocks-WIP-20736"))()
local t = lib.maketab("Main")
local r = 0
local localplr = game.Players.LocalPlayer
local radiuscircle = Instance.new("Part")
pcall(function()
sethiddenproperty(game.Players.LocalPlayer,"SimulationRadius",r)
end)
lib.makeslider("Pick Up Radius (more radius = more lag)",t,0,2000,function(n)
r = n
sethiddenproperty(game.Players.LocalPlayer,"SimulationRadius",r)
--radiuscircle.Size = Vector3.new(r,r,r)
end)
radiuscircle.Shape = Enum.PartType.Ball
radiuscircle.Size = Vector3.new(r,r,r)
radiuscircle.CanCollide = false
radiuscircle.Transparency = 1
radiuscircle.Anchored = true
radiuscircle.Parent = workspace
local networkown = {}
local boolz = {}
local connected = {}
local attemptfling = {}
local cb = nil
local rs = 10
local ts = 10
local ss = 1
local every5 = 0
local tofling = {}
local ps = game:GetService("PhysicsService")
local cgs = {}
local noclippedrigs = {}
local noclipped = false
local currcg = "Default"
if not DEADRAILS then
localplr.ReplicationFocus = workspace
end
if localplr.Character and localplr.Character:FindFirstChild("HumanoidRootPart") then
currcg = localplr.Character.HumanoidRootPart.CollisionGroup
elseif not localplr.Character then
coroutine.wrap(function()
local c = localplr.CharacterAdded:Wait()
local hrp = c:WaitForChild("HumanoidRootPart",math.huge)
currcg = hrp.CollisionGroup
end)()
elseif localplr.Character and not localplr.Character:FindFirstChild("HumanoidRootPart") then
local hrp = localplr.Character:FindFirstChildWhichIsA("Part")
if hrp then
currcg = hrp.CollisionGroup
end
end
function retain(part) -- sorry yumm
local rt = {part.CanCollide,part.CanTouch,part.CustomPhysicalProperties,part.CollisionGroup or "Default"}
part.CustomPhysicalProperties = PhysicalProperties.new(0.01,0,0,0,0)
part.CanCollide = false
part.CanTouch = false
return rt
end
function unretain(i,w)
local gg = networkown[i]
networkown[i] = nil
if gg then
--[[if cgs[i.CollisionGroup] then
cgs[i.CollisionGroup][i] = nil
if #cgs[i.CollisionGroup] == 0 then
cgs[i.CollisionGroup] = nil
ps:CollisionGroupSetCollidable(p.CollisionGroup,currcg,gg[5]) -- i said gg 5 times
end
end]]
i.CollisionGroup = gg[5] -- i said gg 5 times
i.CustomPhysicalProperties = gg[4]
--task.wait(w or 3)
i.CanCollide = gg[2]
i.CanTouch = gg[3]
end
if connected[i] then
if connected[i][1] then
connected[i][1]:Disconnect()
end
if connected[i][2] then
connected[i][2]:Disconnect()
end
connected[i] = nil
end
if noclippedrigs[i.Parent] then
noclippedrigs[i.Parent] = nil
end
end
function dopart2(v)
if localplr.Character and not v:IsDescendantOf(localplr.Character) then
local stuff = retain(v)
networkown[v] = {math.random(1,10000000)/100000,stuff[1],stuff[2],stuff[3],stuff[4]}
end
end
local goodwelds = {}
local currpath = {}
function gdp(p)
local unanchored = not p:IsGrounded()
--[[if not cgs[p.CollisionGroup] then
cgs[p.CollisionGroup] = {}
ps:CollisionGroupSetCollidable(p.CollisionGroup,currcg,false)
end
cgs[p.CollisionGroup][v] = unanchored
p.CollisionGroup = "uudbebxjaudvehxyejchs"..tostring(math.random(1,100000000))]]
return unanchored
--[[ i literally did all this code just to realize GetConnectedParts was a thing.. THIS TOOK ME 3 DAYS
if w.Enabled == false then return true end
if w.Part0 == nil or w.Part1 == nil then return true end
print(w.Part0:GetFullName(),w.Part1:GetFullName())
print(currpath[w.Part0],currpath[w.Part1])
if w.Part0 ~= w.Parent and currpath[w.Part0] then
return true
end
if w.Part1 ~= w.Parent and currpath[w.Part1] then
return true
end
if w.Part0.Anchored == false and w.Part1.Anchored == false then -- if both are unanchored
local noweld = true
if w.Part0:FindFirstChildWhichIsA("Weld") then
currpath[w.Part0] = true
local gdp2 = gdp(w.Part0:FindFirstChildWhichIsA("Weld"))
if gdp2 == true then
return true
end
noweld = false
end
if w.Part1:FindFirstChildWhichIsA("Weld") then
currpath[w.Part1] = true
local gdp2 = gdp(w.Part1:FindFirstChildWhichIsA("Weld"))
if gdp2 == true then
return true
end
noweld = false
end
if noweld then
return true
end
else
return false
end
return false
]]
end
function checkweld(p)
return goodwelds[p]
end
function doweld(w,p)
table.insert(connected,w:GetPropertyChangedSignal("Part0"):Connect(function()
goodwelds[p] = gdp(p)
end))
table.insert(connected,w:GetPropertyChangedSignal("Part1"):Connect(function()
goodwelds[p] = gdp(p)
end))
end
table.insert(connected,game:GetService("RunService").Stepped:Connect(function()
for v,i in pairs(noclippedrigs) do
if i == true and v and v:FindFirstChildWhichIsA("Humanoid") then
for i2,v2 in pairs(v:GetDescendants()) do
if v2:IsA("BasePart") then
v2.CanCollide = false
end
end
end
end
end))
function dopart(v)
if v:IsA("BasePart") or v:IsA("UnionOperation") then
for i2,v2 in pairs(game.Players:GetPlayers()) do
if v2.Character and v:IsDescendantOf(v2.Character) then
return
end
end
goodwelds[v] = gdp(v)
if v:FindFirstChildWhichIsA("Weld") then
doweld(v:FindFirstChildWhichIsA("Weld"),v)
end
table.insert(connected,v.ChildAdded:Connect(function(w)
if w:IsA("Weld") then
doweld(w,v)
end
end))
if (v.Parent and game.Players:GetPlayerFromCharacter(v.Parent) == nil) and v.Parent:FindFirstChildWhichIsA("Humanoid") and (noclippedrigs[v.Parent] == nil) then
local cont = true
for i,v in pairs(v.Parent:GetDescendants()) do
if v:IsA("BasePart") and v.Anchored == true then
cont = false
end
end
if cont then
noclippedrigs[v.Parent] = true
else
noclippedrigs[v.Parent] = false
end
end
if v.Anchored == false and not networkown[v] and checkweld(v) == true then
dopart2(v)
end
table.insert(connected,v:GetPropertyChangedSignal("Anchored"):Connect(function()
if v.Anchored == false and not networkown[v] and checkweld(v) == true then
dopart2(v)
elseif (v.Anchored == true and networkown[v]) or checkweld(v) == false then
unretain(v)
end
end))
--[[table.insert(connected,v:GetPropertyChangedSignal("CanCollide"):Connect(function()
if v and v.CanCollide == true and networkown[v] then
print("change?")
v.CanCollide = false
end
end))]]
end
end
for i,v in pairs(workspace:GetDescendants()) do
dopart(v)
end
workspace.DescendantAdded:Connect(function(v)
dopart(v)
end)
local ldi = nil
local uptxt = nil
local partsper = nil
local aop = 0
local autoupdtxt = false
local ctxt = nil
local txtcfr = nil
local display = nil
local ucf = false
local txts = 4
function updatetxt(t,dupd,nocheck)
if ((txtcfr and (game.Players.LocalPlayer.Character:GetPivot().Position - txtcfr.Position).Magnitude > 1) or not txtcfr) or nocheck then
if display then
deletedisplay(display)
display = nil
end
local blocks = txtstuff.getblocks(t)
if not dupd then
txtcfr = game.Players.LocalPlayer.Character:GetPivot()
end
local displayid,pttable,cfrtable = txtstuff.displayblocks(blocks,txtcfr,txts,true,txts,5,0,false,Enum.Material.ForceField)
display = displayid
local newuptxt = {}
aop = 0
local changed = false
for i,v in pairs(cfrtable) do
if not newuptxt[v.Position.X] then
newuptxt[v.Position.X] = {}
end
if not newuptxt[v.Position.X][v.Position.Y] then
newuptxt[v.Position.X][v.Position.Y] = {}
end
newuptxt[v.Position.X][v.Position.Y][v.Position.Z] = {-1,{}}
aop = aop + 1
end
uptxt = newuptxt
end
end
local pucf = nil
local ohb = game:GetService("RunService").Heartbeat:Connect(function(t)
local doit = false
for i,v in pairs(boolz) do
if v == true then
doit = true
end
end
if localplr.Character and doit then
if ldi ~= doit then
for i,v in pairs(workspace:GetDescendants()) do
dopart(v)
end
end
if ctxt and txtcfr and autoupdtxt then
updatetxt(ctxt)
end
local mcfr = localplr.Character:GetPivot()
local mpos = mcfr.Position
local nwo = 0
for i,v in pairs(networkown) do
nwo = nwo + 1
end
for i,v in pairs(networkown) do
if not i then
networkown[i] = nil
else
networkown[i][1] = networkown[i][1]+(t*ss)
local bp = nil
if not i:FindFirstChild("bp") then
local m = i:GetMass()
bp = Instance.new("BodyPosition")
bp.Name = "bp"
bp.P = m/0.64e-5
bp.D = m/0.64e-3
bp.MaxForce = Vector3.new(m/0.64e-6,m/0.64e-6,m/0.64e-6)
bp.Parent = i
else
bp = i:FindFirstChild("bp")
end
--[[local bgr = nil
if not i:FindFirstChild("bgr") then
bgr = Instance.new("BodyVelocity")
bgr.Name = "bgr"
bgr.P = 1e4
bgr.MaxForce = Vector3.new(1e4,1e4,1e4)
bgr.Velocity = Vector3.new(1e4,1e4,1e4)
bgr.Parent = i
else
bgr = i:FindFirstChild("bgr")
end
]]
if cb then
if cb == "cof" then
bp.Position = (mcfr * CFrame.new(0,0,-5)).Position
elseif cb == "ring" then
bp.Position = ((CFrame.new(mpos) * CFrame.Angles(0,v[1]*ss,0)) * CFrame.new(0,0,-rs)).Position
elseif cb == "tornado" then
bp.Position = ((CFrame.new(mpos) * CFrame.Angles(0,v[1]*ss,0)) * CFrame.new(0,v[1]%(ts)-6,-ts+math.random(ts))).Position
elseif cb == "fp" then
local plrtofling = nil
for i2,v2 in pairs(tofling) do
if v2[1] ~= nil and v2[2] == true then
if attemptfling[v2[1]] and attemptfling[v2[1]][2] == i and v2[1].Character then
plrtofling = v2[1]
break
elseif attemptfling[v2[1]] and attemptfling[v2[1]][2] == i and not v2[1].Character then
attemptfling[v2[1]] = nil
end
if v2[1] ~= localplr and v2[1].Character and not attemptfling[v2[1]] and (v2[1].Character:GetPivot().Position - mpos).Magnitude <= r then
attemptfling[v2[1]] = {tick()+5,i}
plrtofling = v2[1]
break
elseif v2[1] ~= localplr and v2[1].Character and attemptfling[v2[1]] and (attemptfling[v2[1]][1] < tick() or (v2[1].Character:FindFirstChild("HumanoidRootPart") and v2[1].Character.HumanoidRootPart.Velocity.Magnitude >= 500)) then
attemptfling[v2[1]] = nil
end
end
end
if plrtofling and plrtofling ~= nil then
local cfr = plrtofling.Character:GetPivot()
bp.Position = (cfr * CFrame.new(0,0,math.random(-15,15))).Position
else
bp.Position = i.Position
end
elseif cb == "txt" and uptxt and aop then
partsper = nwo/aop
partsper = math.floor(partsper)
if partsper < 1 then
partsper = 1
end
local fp = false
for x,v in pairs(uptxt) do
for y,v in pairs(v) do
for z,v in pairs(v) do
if v[1] == -1 then
v[1] = partsper
end
if not v[2][i] and v[1] >= 1 then
v[1] = v[1] - 1
v[2][i] = true
bp.Position = Vector3.new(x,y,z)
fp = true
break
elseif v[2][i] then
bp.Position = Vector3.new(x,y,z)
fp = true
break
end
end
if fp then break end
end
if fp then break end
end
if not fp then
bp.Position = (mcfr * CFrame.new(0,0,-5)).Position
end
end
else
bp.Position = (mcfr * CFrame.new(0,0,-5)).Position
end
networkown[i][6] = bp.Position
if pucf == true and ucf == false then
coroutine.wrap(function()
for i2=1,20 do
task.wait()
i.Velocity = Vector3.new(0,0,0)
i.CFrame = CFrame.new(bp.Position)
end
end)()
end
if ucf then
i.Velocity = Vector3.new(9e9,9e9,9e9)
i.CFrame = CFrame.new(bp.Position)
end
end
end
elseif not doit then
noclipped = true
for i,v in pairs(networkown) do
if i:FindFirstChild("bp") then
i.bp:Destroy()
end
if i:FindFirstChild("bgr") then
i.bgr:Destroy()
end
coroutine.wrap(function()
i.Velocity = Vector3.new(0,0,0)
for i2=1,20 do
task.wait()
if v[6] and ucf then
i.Velocity = Vector3.new(0,0,0)
i.CFrame = CFrame.new(v[6])
end
end
task.wait(.25)
noclipped = false
end)()
coroutine.wrap(function()
unretain(i)
end)()
end
end
pcall(function()
sethiddenproperty(game.Players.LocalPlayer,"SimulationRadius",r)
end)
ldi = doit
pucf = ucf
end)
table.insert(connected,localplr.CharacterAdded:Connect(function(char)
if noclipped == true then
noclippedrigs[localplr.Character] = noclipped
end
end))
lib.makeslider("speed",t,0,10,function(n)
ss = n
end)
lib.makeslider("speed (larger)",t,10,100,function(n)
ss = n
end)
lib.maketoggle("Use CFrame (VERY buggy)",t,function(b)
ucf = b
end)
lib.makelabel("Using CFrame will make the parts instantly goto the spot and have a way more powerful fling, but there will be some or more parts other players don't actually see. (for example, if you see ingame players it might not actually be them.)",t)
lib.maketoggle("Noclip (for parts with collision)",t,function(b)
noclipped = b
noclippedrigs[localplr.Character] = noclipped
end)
lib.makelabel("",t)
lib.maketoggle("parts of fling",t,function(b)
boolz["cof"] = b
if b then
cb = "cof"
else
for i,v in pairs(boolz) do
if v then
cb = i
break
end
end
end
end)
lib.makelabel("",t)
lib.maketoggle("ring of parts",t,function(b)
boolz["ring"] = b
if b then
cb = "ring"
else
for i,v in pairs(boolz) do
if v then
cb = i
break
end
end
end
end)
lib.makeslider("ring size",t,0,150,function(n)
rs = n
end)
lib.makelabel("",t)
lib.maketoggle("tornado of parts (kinda)",t,function(b)
boolz["tornado"] = b
if b then
cb = "tornado"
else
for i,v in pairs(boolz) do
if v then
cb = i
break
end
end
end
end)
lib.makeslider("tornado size",t,0,100,function(n)
ts = n
end)
lib.makelabel("",t)
lib.makeslider("text size",t,0,50,function(n)
txts = n
if ctxt and txtcfr then
updatetxt(ctxt,true,true)
end
end)
lib.maketextbox("enter text",t,function(t)
ctxt = t
updatetxt(t,nil,true)
end)
lib.maketoggle("make parts into text",t,function(b)
boolz["txt"] = b
if b then
cb = "txt"
updatetxt(ctxt,nil,true)
else
if display then
deletedisplay(display)
display = nil
end
for i,v in pairs(boolz) do
if v then
cb = i
break
end
end
end
end)
lib.maketoggle("auto update text positions",t,function(b)
autoupdtxt = b
end)
lib.makelabel("",t)
lib.maketoggle("fling people",t,function(b)
boolz["fp"] = b
if b then
cb = "fp"
else
for i,v in pairs(boolz) do
if v then
cb = i
break
end
end
end
end)
lib.makelabel("select people to fling")
local currplrs = {}
local onlyallbut = true
local allbut = lib.makedropdown("select everyone but the player",t,{},function(n)
for i,v in pairs(tofling) do
if i ~= n then
tofling[i] = {v[1] or nil,true,v[3] or nil}
if v[3] then
v[3].BackgroundColor3 = Color3.fromRGB(0,255,0)
end
else
tofling[i] = {v[1] or nil,false,v[3] or nil}
if v[3] then
v[3].BackgroundColor3 = Color3.fromRGB(255,0,0)
end
end
end
onlyallbut = true
end)
local only = lib.makedropdown("select only the player",t,{},function(n)
for i,v in pairs(tofling) do
if i == n then
tofling[i] = {v[1] or nil,true,v[3] or nil}
if v[3] then
v[3].BackgroundColor3 = Color3.fromRGB(0,255,0)
end
else
tofling[i] = {v[1] or nil,false,v[3] or nil}
if v[3] then
v[3].BackgroundColor3 = Color3.fromRGB(255,0,0)
end
end
end
onlyallbut = false
end)
function doplr(v)
if v == localplr then return end
local name = v.DisplayName
if name ~= v.Name then
name = v.DisplayName.." | "..v.Name
end
local tog = nil
local onoff = onlyallbut
tog = lib.makebutton(name,t,function()
onoff = not onoff
tofling[v.Name] = {v,onoff,tog}
if onoff then
tog.BackgroundColor3 = Color3.fromRGB(0,255,0)
else
tog.BackgroundColor3 = Color3.fromRGB(255,0,0)
end
end)
if onoff then
tog.BackgroundColor3 = Color3.fromRGB(0,255,0)
else
tog.BackgroundColor3 = Color3.fromRGB(255,0,0)
end
tog.BackgroundTransparency = 0.5
tofling[v.Name] = {v,onoff,tog}
currplrs[v.Name] = v.Name
lib.updatedropdown(allbut,currplrs)
lib.updatedropdown(only,currplrs)
end
function removeplr(v)
if v and tofling[v.Name] then
tofling[v.Name][3]:Destroy()
tofling[v.Name] = {v,false}
end
currplrs[v.Name] = nil
lib.updatedropdown(allbut,currplrs)
lib.updatedropdown(only,currplrs)
end
for i,v in pairs(game.Players:GetPlayers()) do
doplr(v)
end
local onplrjoin = game.Players.PlayerAdded:Connect(function(v)
doplr(v)
end)
local onplrleave = game.Players.PlayerRemoving:Connect(function(v)
removeplr(v)
end)
lib.ondestroyedfunc = function()
ohb:Disconnect()
cb = nil
boolz = {}
noclipped = false
if display then
deletedisplay(display)
display = nil
end
for i,v in pairs(networkown) do
if i:FindFirstChild("bp") then
i.bp:Destroy()
end
if i:FindFirstChild("bgr") then
i.bgr:Destroy()
end
coroutine.wrap(function()
unretain(i)
end)()
end
for i,v in pairs(connected) do
if typeof(v) == "table" then
for i,v in pairs(v) do
v:Disconnect()
end
else
v:Disconnect()
end
end
tofling = {}
onplrjoin:Disconnect()
onplrleave:Disconnect()
endNo comments yet for this script.



