Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- x10Shield --
- local me = game:GetService("Players").LocalPlayer
- local ShieldSize = 8
- local canCollide = true
- local isLocked = false
- local defaultTransparency = 0
- local whitelist = {"", "", "", ""}
- local scriptBreak = false
- local followPart = me.Character.HumanoidRootPart
- local actualList = {}
- local playerList = {}
- table.insert(playerList, me)
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- for _,wplay in pairs(whitelist) do
- if v.Name:lower() == wplay:lower() then
- table.insert(playerList, v)
- end
- end
- end
- local MainLocation = me.Character.Torso
- function createShield()
- pcall(function()
- pcall(function()
- for i,v in pairs(MainLocation:GetChildren()) do
- if v.Name == "weinershield" then
- v:Destroy()
- end
- end
- end)
- local mod = Instance.new("Model", MainLocation)
- mod.Name = "weinershield"
- local p1 = Instance.new("Part", mod)
- p1.Name = "front"
- p1.Size = Vector3.new(ShieldSize,ShieldSize,1)
- p1.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y, followPart.Position.Z+(ShieldSize/2))
- local b = Instance.new("BlockMesh", p1)
- b.Scale = Vector3.new(1, 1, 0)
- local p2 = Instance.new("Part", mod)
- p2.Name = "back"
- p2.Size = Vector3.new(ShieldSize,ShieldSize,1)
- p2.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y, followPart.Position.Z-(ShieldSize/2))
- local b = Instance.new("BlockMesh", p2)
- b.Scale = Vector3.new(1, 1, 0)
- local p3 = Instance.new("Part", mod)
- p3.Name = "left"
- p3.Size = Vector3.new(1,ShieldSize,ShieldSize)
- p3.CFrame = CFrame.new(followPart.Position.X+(ShieldSize/2), followPart.Position.Y, followPart.Position.Z)
- local b = Instance.new("BlockMesh", p3)
- b.Scale = Vector3.new(0, 1, 1)
- local p4 = Instance.new("Part", mod)
- p4.Name = "right"
- p4.Size = Vector3.new(1,ShieldSize,ShieldSize)
- p4.CFrame = CFrame.new(followPart.Position.X-(ShieldSize/2), followPart.Position.Y, followPart.Position.Z)
- local b = Instance.new("BlockMesh", p4)
- b.Scale = Vector3.new(0, 1, 1)
- local p5 = Instance.new("Part", mod)
- p5.Name = "top"
- p5.Size = Vector3.new(ShieldSize,1,ShieldSize)
- p5.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y+(ShieldSize/2), followPart.Position.Z)
- local b = Instance.new("BlockMesh", p5)
- b.Scale = Vector3.new(1, 0, 1)
- local p6 = Instance.new("Part", mod)
- p6.Name = "bottom"
- p6.Size = Vector3.new(ShieldSize,1,ShieldSize)
- p6.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y-(ShieldSize/2), followPart.Position.Z)
- local b = Instance.new("BlockMesh", p6)
- b.Scale = Vector3.new(1, 0, 1)
- for i,v in pairs(mod:GetChildren()) do
- v.Anchored = true
- v.Transparency = defaultTransparency
- v.Material = "Neon"
- v.TopSurface = "Smooth"
- v.BottomSurface = "Smooth"
- v.CanCollide = canCollide
- end
- mod.ChildRemoved:connect(function(a)
- game:GetService("RunService").Stepped:wait()
- if a.ClassName == "Part" then
- createShield()
- end
- end)
- end)
- end
- function updateShield()
- pcall(function()
- char = me.Character
- for i,v in pairs(MainLocation:findFirstChild("weinershield"):GetChildren()) do
- v.Anchored = true
- v.Transparency = defaultTransparency
- v.Material = "Neon"
- v.TopSurface = "Smooth"
- v.BottomSurface = "Smooth"
- v.CanCollide = canCollide
- end
- MainLocation:findFirstChild("weinershield").front.Size = Vector3.new(ShieldSize,ShieldSize,1)
- MainLocation:findFirstChild("weinershield").front.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y, followPart.Position.Z+(ShieldSize/2))
- MainLocation:findFirstChild("weinershield").back.Size = Vector3.new(ShieldSize,ShieldSize,1)
- MainLocation:findFirstChild("weinershield").back.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y, followPart.Position.Z-(ShieldSize/2))
- MainLocation:findFirstChild("weinershield").left.Size = Vector3.new(1,ShieldSize,ShieldSize)
- MainLocation:findFirstChild("weinershield").left.CFrame = CFrame.new(followPart.Position.X+(ShieldSize/2), followPart.Position.Y, followPart.Position.Z)
- MainLocation:findFirstChild("weinershield").right.Size = Vector3.new(1,ShieldSize,ShieldSize)
- MainLocation:findFirstChild("weinershield").right.CFrame = CFrame.new(followPart.Position.X-(ShieldSize/2), followPart.Position.Y, followPart.Position.Z)
- MainLocation:findFirstChild("weinershield").top.Size = Vector3.new(ShieldSize,1,ShieldSize)
- MainLocation:findFirstChild("weinershield").top.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y+(ShieldSize/2), followPart.Position.Z)
- MainLocation:findFirstChild("weinershield").bottom.Size = Vector3.new(ShieldSize,1,ShieldSize)
- MainLocation:findFirstChild("weinershield").bottom.CFrame = CFrame.new(followPart.Position.X, followPart.Position.Y-(ShieldSize/2), followPart.Position.Z)
- end)
- end
- local function CreateRegion3FromLocAndSize(Position, Size)
- local SizeOffset = Size/2
- local Point1 = Position - SizeOffset
- local Point2 = Position + SizeOffset
- return Region3.new(Point1, Point2)
- end
- createShield()
- game:GetService("RunService").Heartbeat:connect(function()
- if not scriptBreak then
- local me = game:GetService("Players").LocalPlayer
- local char = workspace:findFirstChild(me.Name)
- actualList = {}
- for i,v in pairs(playerList) do
- pcall(function()
- table.insert(actualList, workspace:findFirstChild(v.Name))
- end)
- end
- if MainLocation:findFirstChild("weinershield") ~= nil then
- updateShield()
- else
- createShield()
- end
- pcall(function()
- local Region = CreateRegion3FromLocAndSize(followPart.Position, Vector3.new(ShieldSize+1,ShieldSize+1,ShieldSize+1))
- for _,Part in pairs(workspace:FindPartsInRegion3WithIgnoreList(Region,actualList,math.huge)) do
- if Part.Name ~= "Base" and not Part:isDescendantOf(MainLocation:findFirstChild("weinershield")) then
- Part:Destroy()
- end
- end
- end)
- pcall(function()
- for i,v in pairs(actualList) do
- if v:findFirstChild("Humanoid") ~= nil then
- v.Humanoid.MaxHealth = math.huge
- v.Humanoid.Health = math.huge
- else
- Instance.new("Humanoid", v)
- end
- end
- end)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement