Created by QualityScripts
Features:
- TRAP ALL PLAYERS
- BUILD SWASTIKA
--Made by QualityScripts on V3rmillion.net, PM me if you want.
--Change these variables if it doesn't work / if people escape
local boxSize = 4 --changes size of the box, higher values may take longer to build and allow escape
-- i recommend 4
local waitTime = 0.3 --[[
the time to wait to build a box after teleporting to a player
low values risk the box not being built at all (server does not think you are in range soon enough)
too high values mean people may escape before the box is built
it works well for me at 0.3
]]
local waitAfterTeleport = 3
--how long to waiat before moving to next player when boxing all players, does not apply when players respawn instead it tries to do it instantly.
local lp = game.Players.LocalPlayer
local lc = lp.Character
local network_contents = game.ReplicatedStorage.shared.network.network_contents
local place_remote = network_contents.place_build
function placeBlock(x,y,z)
place_remote:FireServer(
"White", --color, doesn't even do anything though
x,
y,
z,
CFrame.new(1,0,0,1,0,0,0,1,0,0,0,1), --rotation
1, --no clue
1 --no clue
)
end
function Swastika(pos,size)
network_contents.block_data_remote:InvokeServer(
"transparency",
0
--change transparency of swastika here, 1 is fully transparent, 0 is fully opaque (0)
)
size3 = size*3
center = pos + Vector3.new(0,size3,0)
placeBlock(center.X,center.Y,center.Z)
for i = 3,size3,3 do
--topright
placeBlock(center.x,center.y+i,center.z)
placeBlock(center.x,center.y+size3,center.z+i)
--bottomright
placeBlock(center.x,center.y,center.z+i)
placeBlock(center.x,center.y-i,center.z+size3)
--bottomleft
placeBlock(center.x,center.y-i,center.z)
placeBlock(center.x,center.y-size3,center.z-i)
--topleft
placeBlock(center.x,center.y,center.z-i)
placeBlock(center.x,center.y+i,center.z-size3)
end
end
function makeBox(player,size)
if player == nil or lc == nil then return end
network_contents.block_data_remote:InvokeServer(
"transparency",
0.95
--change transparency of box here, 1 is fully transparent, 0 is fully opaque
)
size3 = size*3
sizehalf3 = size*1.5
lc.HumanoidRootPart.CFrame = player.Character.HumanoidRootPart.CFrame
pos = player.Character.HumanoidRootPart.Position
wait(waitTime)
--Make floor
for i2 = -size,size do
for i = -size,size do
placeBlock(pos.X+3*i,pos.Y-sizehalf3-3,pos.Z+3*i2)
end
end
--Make walls
for i2 = 0,size do
for i = -size,size do
placeBlock(pos.X+3*i,pos.Y-sizehalf3+i2*3,pos.Z+size3)
placeBlock(pos.X+3*i,pos.Y-sizehalf3+i2*3,pos.Z-size3)
placeBlock(pos.X-size3,pos.Y-sizehalf3+i2*3,pos.Z+3*i)
placeBlock(pos.X+size3,pos.Y-sizehalf3+i2*3,pos.Z+3*i)
end
end
--Make roof
for i2 = -size,size do
for i = -size,size do
placeBlock(pos.X+3*i,pos.Y+sizehalf3+3,pos.Z+3*i2)
end
end
Swastika(pos+Vector3.new(0,0,0),size)
end
function boxAll()
for i,v in pairs(game.Players:GetChildren()) do
if v.Name ~= lp.Name and v.Character.HumanoidRootPart ~= nil and lc.HumanoidRootPart ~= nil then
-- checks if selected player is you / localplayer
makeBox(v,boxSize)
wait(waitAfterTeleport)
end
end
end
--Makes the blocks Red in order to make the swastika appear more holy
network_contents.inventory_function:InvokeServer(
"blocks",
"equip",
"Red"
)
boxAll()
function onJoin(player)
player:WaitForChild("HumanoidRootPart")
makeBox(game.Players:FindFirstChild(player.Name),boxSize)
end
for i,v in pairs(game.Players:GetChildren()) do
if v.Name ~= lp.Name then -- checks if selected player is you / localplayer
if v ~= nil then v.CharacterAdded:Connect(onJoin) end
end
end
-- hooks Autobox function to box new players
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(onJoin)
end)
while wait(60) do
--Boxes everyone every few seconds incase they escaped
boxAll()
end
ENJOY!