Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Created with PenguinAnonymous's compiler
- --PenguinAnonymous is not responsible for damages caused to your game
- --This plugin does not remove things
- --PenguinAnonymous cannot be held resonsible for manual deletion for the purpose of testing
- --Keep in mind, any items that cause errors in compilation will be skipped and documented within the last line of the disclaimer comments
- --Thank you for using my plugin and enjoy :)
- --It is free to use
- --If you use this plugin to create your own, please give me credit
- --Z_V edited my plugin to look like his own and published it without giving me credit, and that makes me very angry
- --Errors: UnionOperation,MeshPart
- local runDummyScript = function(f,scri)
- local oldenv = getfenv(f)
- local newenv = setmetatable({}, {
- __index = function(_, k)
- if k:lower() == 'script' then
- return scri
- else
- return oldenv[k]
- end
- end
- })
- setfenv(f, newenv)
- ypcall(function() f() end)
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- mas.Name = "CompiledModel"
- o1 = Instance.new("Model")
- o6 = Instance.new("Part")
- o7 = Instance.new("SpecialMesh")
- o9 = Instance.new("Sound")
- o10 = Instance.new("Part")
- o11 = Instance.new("Sound")
- o12 = Instance.new("Sound")
- o13 = Instance.new("BodyGyro")
- o14 = Instance.new("Script")
- o15 = Instance.new("Script")
- o16 = Instance.new("Script")
- o1.Name = "SCP-173"
- o1.Parent = mas
- o6.Name = "Phys5"
- o6.Parent = o1
- o6.Material = Enum.Material.Concrete
- o6.BrickColor = BrickColor.new("Reddish brown")
- o6.Transparency = 1
- o6.Position = Vector3.new(-19.2606335, 2.94207191, -18.0173988)
- o6.Rotation = Vector3.new(0, 90, 0)
- o6.Anchored = true
- o6.FormFactor = Enum.FormFactor.Custom
- o6.Size = Vector3.new(3.75079608, 5.55895472, 3.24950099)
- o6.CFrame = CFrame.new(-19.2606335, 2.94207191, -18.0173988, -6.33452146e-05, 1.58898172e-09, 1, -1.19373141e-07, 1, 1.58143054e-09, -1, -1.19287023e-07, -6.33452146e-05)
- o6.BottomSurface = Enum.SurfaceType.Smooth
- o6.TopSurface = Enum.SurfaceType.Smooth
- o6.Color = Color3.new(0.411765, 0.25098, 0.156863)
- o6.Position = Vector3.new(-19.2606335, 2.94207191, -18.0173988)
- o7.Parent = o6
- o7.MeshType = Enum.MeshType.Brick
- o9.Name = "Slide"
- o9.Parent = mas
- o9.SoundId = "http://www.roblox.com/asset/?id=149293656"
- o9.Looped = true
- o10.Name = "Face"
- o10.Parent = mas
- o10.Transparency = 1
- o10.Position = Vector3.new(-19.1050835, 6.53591108, -18.4958687)
- o10.Anchored = true
- o10.FormFactor = Enum.FormFactor.Custom
- o10.Size = Vector3.new(1.61000001, 1.41999996, 0.200000048)
- o10.CFrame = CFrame.new(-19.1050835, 6.53591108, -18.4958687, 1, 1.59643188e-09, 6.24958411e-05, 1.58153013e-09, 1, 1.63032712e-10, -6.24958411e-05, -7.69111302e-11, 1)
- o10.Position = Vector3.new(-19.1050835, 6.53591108, -18.4958687)
- o11.Name = "Kill"
- o11.Parent = mas
- o11.SoundId = "http://www.roblox.com/asset/?id=149293645"
- o11.Volume = 1
- o11.PlayOnRemove = true
- o12.Parent = mas
- o12.SoundId = "rbxassetid://150184965"
- o12.Volume = 1
- o12.PlayOnRemove = true
- o13.Parent = mas
- o13.maxTorque = Vector3.new(900000, 0, 900000)
- o13.MaxTorque = Vector3.new(900000, 0, 900000)
- o14.Parent = o13
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- script.Parent.maxTorque = Vector3.new(4e+009, 0, 4e+009)
- end,o14)
- end))
- o15.Name = "Closer"
- o15.Parent = mas
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- local head = script.Parent
- local sound = head:findFirstChild("Sound")
- function onTouched(part)
- local h = part.Parent:findFirstChild("Humanoid")
- if h~=nil then
- sound:play()
- end
- end
- script.Parent.Touched:connect(onTouched)
- end,o15)
- end))
- o16.Parent = mas
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- local soundIds = {150185006,150184965,150185025}
- local sounds = {}
- for i=1,#soundIds do
- local s = Instance.new("Sound")
- s.SoundId = "http://www.roblox.com/asset/?id=" .. soundIds[i]
- s.Volume = 1
- s.Parent = script.Parent
- sounds[#sounds + 1] = s
- end
- fpor = game.Workspace.FindPartOnRay
- seen_dist = 200
- function canSee(subject,viewer)
- if (not subject) or (not viewer) then return false end
- local sh = subject:findFirstChild("Death")
- local vh = viewer:findFirstChild("Head")
- if (not sh) or (not vh) then return false end
- local vec = sh.Position - vh.Position
- local isInFOV = (vec:Dot(vh.CFrame.lookVector) > 0)
- if (isInFOV) and (vec.magnitude < seen_dist) then
- local ray = Ray.new(vh.Position,vec.unit*200)
- local por = fpor(workspace,ray,viewer,false)
- return (por == nil) or (por:IsDescendantOf(subject))
- end
- return false
- end
- function canSee2(subject,viewer)
- if (not subject) or (not viewer) then return false end
- local sh = subject:findFirstChild("Death")
- local vh = viewer:findFirstChild("Head")
- if (not sh) or (not vh) then return false end
- local vec = sh.Position - vh.Position
- if (vec.magnitude < seen_dist) then
- local ray = Ray.new(vh.Position,vec.unit*200)
- local por = fpor(workspace,ray,viewer,false)
- return (por == nil) or (por:IsDescendantOf(subject))
- end
- return false
- end
- function stick(x, y)
- weld = Instance.new("Weld")
- weld.Part0 = x
- weld.Part1 = y
- local HitPos = x.Position
- local CJ = CFrame.new(HitPos)
- local C0 = x.CFrame:inverse() *CJ
- local C1 = y.CFrame:inverse() * CJ
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = x
- x.Anchored = false
- y.Anchored = false
- end
- stick(script.Parent, script.Parent.Parent.Phys)
- function stick2(x, y)
- weld = Instance.new("Weld")
- weld.Part0 = x
- weld.Part1 = y
- local HitPos = x.Position
- local CJ = CFrame.new(HitPos)
- local C0 = x.CFrame:inverse() *CJ
- local C1 = y.CFrame:inverse() * CJ
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = x
- x.Anchored = false
- y.Anchored = false
- end
- stick(script.Parent, script.Parent.Parent.Phys4)
- function stick2(x, y)
- weld = Instance.new("Weld")
- weld.Part0 = x
- weld.Part1 = y
- local HitPos = x.Position
- local CJ = CFrame.new(HitPos)
- local C0 = x.CFrame:inverse() *CJ
- local C1 = y.CFrame:inverse() * CJ
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = x
- x.Anchored = false
- y.Anchored = false
- end
- stick(script.Parent, script.Parent.Parent.Phys5)
- stick(script.Parent, script.Parent.Face)
- function stick2(x, y)
- weld = Instance.new("Weld")
- weld.Part0 = x
- weld.Part1 = y
- local HitPos = x.Position
- local CJ = CFrame.new(HitPos)
- local C0 = x.CFrame:inverse() *CJ
- local C1 = y.CFrame:inverse() * CJ
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = x
- x.Anchored = false
- y.Anchored = false
- end
- stick(script.Parent, script.Parent.Parent.Phys3)
- function stick2(x, y)
- weld = Instance.new("Weld")
- weld.Part0 = x
- weld.Part1 = y
- local HitPos = x.Position
- local CJ = CFrame.new(HitPos)
- local C0 = x.CFrame:inverse() *CJ
- local C1 = y.CFrame:inverse() * CJ
- weld.C0 = C0
- weld.C1 = C1
- weld.Parent = x
- x.Anchored = false
- y.Anchored = false
- end
- stick2(script.Parent, script.Parent.Parent.Phys2)
- while true do
- local minmag = nil
- local minply = nil
- local mindir = nil
- local beingwatched = false
- players = game:GetService("Players"):GetChildren()
- for i=1,#players do
- char = players[i].Character
- if char then
- local foundhead = char:FindFirstChild("Head")
- local foundtorso = char:FindFirstChild("Torso")
- local foundHumanoidRootPart = char:FindFirstChild("HumanoidRootPart")
- local foundhum = char:FindFirstChild("Humanoid")
- if foundhead and foundtorso and foundHumanoidRootPart and foundhum and foundhum.Health > 0 then
- local sub = (script.Parent.CFrame.p - foundhead.CFrame.p)
- local dir = sub.unit
- local mag = sub.magnitude
- if not minmag or minmag > mag then
- minmag = mag
- minply = char:FindFirstChild("HumanoidRootPart")
- mindir = dir
- if canSee(script.Parent.Parent, char) then beingwatched = true end
- end
- end
- end
- end
- if minply and not beingwatched and canSee2(script.Parent.Parent, minply.Parent) then
- if minmag and minmag <= 200 then
- local unit = (script.Parent.Position-minply.Position).unit
- unit = Vector3.new(unit.X,0,unit.Z)
- script.Parent.CFrame = CFrame.new(script.Parent.Position + (unit*-15), Vector3.new(minply.Position.X, script.Parent.Position.Y, minply.Position.Z))
- script.Parent.CFrame = script.Parent.CFrame * CFrame.Angles(0,math.rad(180),0)
- script.Parent.Slide:Play()
- wait(0.000001)
- if minmag < 10 and minply.Parent:FindFirstChild("Humanoid") and minply.Parent.Humanoid.Health > 0 and not beingwatched then
- script.Parent.CFrame = CFrame.new(script.Parent.Position, Vector3.new(minply.Position.X, script.Parent.Position.Y, minply.Position.Z))
- minply.Parent:BreakJoints()
- script.Parent.Kill:Play()
- end
- end
- end
- wait(.000001)
- script.Parent.Slide:Pause()
- wait(.000001)
- end
- end,o16)
- end))
- mas.Parent = workspace
- mas:MakeJoints()
- local mas1 = mas:GetChildren()
- for i=1,#mas1 do
- mas1[i].Parent = workspace
- ypcall(function() mas1[i]:MakeJoints() end)
- end
- mas:Destroy()
- for i=1,#cors do
- coroutine.resume(cors[i])
- end
Advertisement
Add Comment
Please, Sign In to add comment