Advertisement
Animescapetower

okay333

Mar 20th, 2018
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.00 KB | None | 0 0
  1.  
  2. --Converted with ttyyuu12345's model to script plugin v4
  3. function sandbox(var,func)
  4. local env = getfenv(func)
  5. local newenv = setmetatable({},{
  6. __index = function(self,k)
  7. if k=="script" then
  8. return var
  9. else
  10. return env[k]
  11. end
  12. end,
  13. })
  14. setfenv(func,newenv)
  15. return func
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. Model0 = Instance.new("Model")
  20. Part1 = Instance.new("Part")
  21. Decal2 = Instance.new("Decal")
  22. BlockMesh3 = Instance.new("BlockMesh")
  23. Humanoid4 = Instance.new("Humanoid")
  24. Part5 = Instance.new("Part")
  25. Sound6 = Instance.new("Sound")
  26. Sound7 = Instance.new("Sound")
  27. Script8 = Instance.new("Script")
  28. Sound9 = Instance.new("Sound")
  29. Script10 = Instance.new("Script")
  30. Script11 = Instance.new("Script")
  31. Script12 = Instance.new("Script")
  32. BoolValue13 = Instance.new("BoolValue")
  33. Script14 = Instance.new("Script")
  34. Script15 = Instance.new("Script")
  35. Part16 = Instance.new("Part")
  36. SpecialMesh17 = Instance.new("SpecialMesh")
  37. Model0.Name = "SCP-173"
  38. Model0.Parent = mas
  39. Part1.Name = "Phys2"
  40. Part1.Parent = Model0
  41. Part1.Transparency = 1
  42. Part1.Rotation = Vector3.new(0, 0.00999999978, 0)
  43. Part1.Anchored = true
  44. Part1.CanCollide = false
  45. Part1.FormFactor = Enum.FormFactor.Custom
  46. Part1.Size = Vector3.new(1.49034107, 1.19227278, 0.242000014)
  47. Part1.CFrame = CFrame.new(8.15035057, 5.75126219, 10.8641596, 1, -3.53153553e-07, 0.000210747166, 3.53092247e-07, 1, 2.90925698e-07, -0.000210747166, -2.90851261e-07, 1)
  48. Part1.Position = Vector3.new(8.15035057, 5.75126219, 10.8641596)
  49. Part1.Orientation = Vector3.new(0, 0.00999999978, 0)
  50. Decal2.Parent = Part1
  51. Decal2.Transparency = 1
  52. Decal2.Texture = "http://www.roblox.com/asset/?id=163640214"
  53. BlockMesh3.Parent = Part1
  54. BlockMesh3.Scale = Vector3.new(1, 1, 0.615843534)
  55. BlockMesh3.Scale = Vector3.new(1, 1, 0.615843534)
  56. Humanoid4.Parent = Model0
  57. Humanoid4.NameOcclusion = Enum.NameOcclusion.NoOcclusion
  58. Humanoid4.Health = 0
  59. Part5.Name = "Death"
  60. Part5.Parent = Model0
  61. Part5.Transparency = 1
  62. Part5.Rotation = Vector3.new(180, -0.00999999978, 180)
  63. Part5.Anchored = true
  64. Part5.CanCollide = false
  65. Part5.FormFactor = Enum.FormFactor.Custom
  66. Part5.Size = Vector3.new(36.2999992, 2.42000008, 36.2999992)
  67. Part5.CFrame = CFrame.new(8.30980396, 1.21002901, 11.1596584, -1, -4.8547711e-13, -0.000210776969, -4.80887303e-13, 1, -2.1770941e-11, 0.000210776969, -2.17708386e-11, -1)
  68. Part5.BottomSurface = Enum.SurfaceType.Smooth
  69. Part5.TopSurface = Enum.SurfaceType.Smooth
  70. Part5.Position = Vector3.new(8.30980396, 1.21002901, 11.1596584)
  71. Part5.Orientation = Vector3.new(0, -179.98999, 0)
  72. Sound6.Name = "Slide"
  73. Sound6.Parent = Part5
  74. Sound6.SoundId = "http://www.roblox.com/asset/?id=149293656"
  75. Sound6.Volume = 1
  76. Sound6.Looped = true
  77. Sound7.Name = "Kill"
  78. Sound7.Parent = Part5
  79. Sound7.SoundId = "http://www.roblox.com/asset/?id=149293645"
  80. Sound7.Volume = 1
  81. Script8.Parent = Part5
  82. table.insert(cors,sandbox(Script8,function()
  83. local soundIds = {150185006,150184965,150185025}
  84. local sounds = {}
  85. for i=1,#soundIds do
  86. local s = Instance.new("Sound")
  87. s.SoundId = "http://www.roblox.com/asset/?id=" .. soundIds[i]
  88. s.Volume = 1
  89. s.Parent = script.Parent
  90. sounds[#sounds + 1] = s
  91. end
  92. fpor = game.Workspace.FindPartOnRay
  93. seen_dist = 150
  94. function canSee(subject,viewer)
  95. if (not subject) or (not viewer) then return false end
  96. local sh = subject:findFirstChild("Death")
  97. local vh = viewer:findFirstChild("Head")
  98. if (not sh) or (not vh) then return false end
  99. local vec = sh.Position - vh.Position
  100. local isInFOV = (vec:Dot(vh.CFrame.lookVector) > 0)
  101. if (isInFOV) and (vec.magnitude < seen_dist) then
  102. local ray = Ray.new(vh.Position,vec.unit*200)
  103. local por = fpor(workspace,ray,viewer,false)
  104. return (por == nil) or (por:IsDescendantOf(subject))
  105. end
  106. return false
  107. end
  108. function canSee2(subject,viewer)
  109. if (not subject) or (not viewer) then return false end
  110. local sh = subject:findFirstChild("Death")
  111. local vh = viewer:findFirstChild("Head")
  112. if (not sh) or (not vh) then return false end
  113. local vec = sh.Position - vh.Position
  114. if (vec.magnitude < seen_dist) then
  115. local ray = Ray.new(vh.Position,vec.unit*200)
  116. local por = fpor(workspace,ray,viewer,false)
  117. return (por == nil) or (por:IsDescendantOf(subject))
  118. end
  119. return false
  120. end
  121. function stick(x, y)
  122. weld = Instance.new("Weld")
  123. weld.Part0 = x
  124. weld.Part1 = y
  125. local HitPos = x.Position
  126. local CJ = CFrame.new(HitPos)
  127. local C0 = x.CFrame:inverse() *CJ
  128. local C1 = y.CFrame:inverse() * CJ
  129. weld.C0 = C0
  130. weld.C1 = C1
  131. weld.Parent = x
  132. x.Anchored = false
  133. y.Anchored = false
  134. end
  135. stick(script.Parent, script.Parent.Parent.Phys)
  136. function stick2(x, y)
  137. weld = Instance.new("Weld")
  138. weld.Part0 = x
  139. weld.Part1 = y
  140. local HitPos = x.Position
  141. local CJ = CFrame.new(HitPos)
  142. local C0 = x.CFrame:inverse() *CJ
  143. local C1 = y.CFrame:inverse() * CJ
  144. weld.C0 = C0
  145. weld.C1 = C1
  146. weld.Parent = x
  147. x.Anchored = false
  148. y.Anchored = false
  149. end
  150.  
  151. stick2(script.Parent, script.Parent.Parent.Phys2)
  152. while true do
  153. local minmag = nil
  154. local minply = nil
  155. local mindir = nil
  156. local beingwatched = false
  157. players = game:GetService("Players"):GetChildren()
  158. for i=1,#players do
  159. char = players[i].Character
  160. if char then
  161. local foundhead = char:FindFirstChild("Head")
  162. local foundtorso = char:FindFirstChild("Torso")
  163. local foundHumanoidRootPart = char:FindFirstChild("HumanoidRootPart")
  164. local foundhum = char:FindFirstChild("Humanoid")
  165. if foundhead and foundtorso and foundHumanoidRootPart and foundhum and foundhum.Health > 0 then
  166. local sub = (script.Parent.CFrame.p - foundhead.CFrame.p)
  167. local dir = sub.unit
  168. local mag = sub.magnitude
  169. if not minmag or minmag > mag then
  170. minmag = mag
  171. minply = char:FindFirstChild("HumanoidRootPart")
  172. mindir = dir
  173. if canSee(script.Parent.Parent, char) then beingwatched = true end
  174. end
  175. end
  176. end
  177. end
  178.  
  179. if minply and not beingwatched and canSee2(script.Parent.Parent, minply.Parent) then
  180. if minmag and minmag <= 200 then
  181. local unit = (script.Parent.Position-minply.Position).unit
  182. unit = Vector3.new(unit.X,0,unit.Z)
  183. script.Parent.CFrame = CFrame.new(script.Parent.Position + (unit*-20), Vector3.new(minply.Position.X, script.Parent.Position.Y, minply.Position.Z))
  184. script.Parent.CFrame = script.Parent.CFrame * CFrame.Angles(0,math.rad(180),0)
  185. script.Parent.Slide:Play()
  186. if minmag < 15 and minply.Parent:FindFirstChild("Humanoid") and minply.Parent.Humanoid.Health > 0 then
  187. minply.Parent:BreakJoints()
  188. script.Parent.Kill:Play()
  189. end
  190. end
  191. end
  192. wait(.1)
  193. script.Parent.Slide:Pause()
  194. wait(.1)
  195. end
  196. end))
  197. Sound9.Parent = Part5
  198. Sound9.SoundId = "rbxassetid://150185025"
  199. Sound9.Volume = 1
  200. Sound9.PlayOnRemove = true
  201. Script10.Name = "Movement"
  202. Script10.Parent = Part5
  203. table.insert(cors,sandbox(Script10,function()
  204. function findNearestTorso(pos)
  205. local list = game.Workspace:children()
  206. local torso = nil
  207. local dist = 100
  208. local temp = nil
  209. local human = nil
  210. local temp2 = nil
  211. for x = 1, #list do
  212. temp2 = list[x]
  213. if (temp2.className == "Model") and (temp2 ~= script.Parent) then
  214. temp = temp2:findFirstChild("Right Arm")
  215. human = temp2:findFirstChild("Humanoid")
  216. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  217. if (temp.Position - pos).magnitude < dist then
  218. torso = temp
  219. dist = (temp.Position - pos).magnitude
  220. end
  221. end
  222. end
  223. end
  224. return torso
  225. end
  226.  
  227. while true do
  228. wait(math.random(1,5))
  229. if (not script.Parent.Q_Locked.Value) then
  230. script.Parent.Zombie.Jump = false
  231. end
  232. local target = findNearestTorso(script.Parent.Torso.Position)
  233. if target ~= nil then
  234. script.Parent.Zombie:MoveTo(target.Position, target)
  235. end
  236. end
  237.  
  238. end))
  239. Script11.Name = "QuantumLock"
  240. Script11.Parent = Model0
  241. table.insert(cors,sandbox(Script11,function()
  242. --Notes, the distance between the main brick and the others can be as big or small as you want (i set it to 12 or something, but it can be anything)
  243. dist = 50
  244. local StoneColor = "Brick yellow"
  245. local Speed = 30
  246.  
  247. wait(2)
  248. local angel = script.Parent
  249. local torso = angel.Torso
  250. local hum = angel.Zombie
  251. local qlock = angel.Q_Locked
  252.  
  253. local parts = {}
  254. local bcolors = {}
  255. local trans = {}
  256. local refs = {}
  257.  
  258. function Lock()
  259. if (qlock.Value) then return end
  260. qlock.Value = true
  261. hum.WalkSpeed = 0
  262. parts,bcolors,trans,refs = {},{},{},{}
  263. for i,p in pairs(angel:children()) do
  264. if (p:IsA("BasePart")) then
  265. table.insert(parts,p)
  266. table.insert(bcolors,tostring(p.BrickColor))
  267. table.insert(trans,p.Transparency)
  268. table.insert(refs,p.Reflectance)
  269. p.BrickColor = BrickColor.new(StoneColor)
  270. p.Transparency = 1
  271. p.Reflectance = 0
  272. end
  273. end
  274. end
  275.  
  276. function Unlock()
  277. if (not qlock.Value) then return end
  278. qlock.Value = false
  279. hum.WalkSpeed = Speed
  280. for i,p in pairs(parts) do
  281. p.BrickColor = BrickColor.new(bcolors[i])
  282. p.Transparency = trans[i]
  283. p.Reflectance = refs[i]
  284. end
  285. end
  286.  
  287. function CanBeSeen()
  288. for i,v in pairs(game.Players:children()) do
  289. if (v.Character ~= nil) and (v.Character:findFirstChild("Torso") ~= nil) then
  290. if (v.Character.Torso.Position - torso.Position).magnitude < dist then
  291. distA = (torso.Position - (v.Character.Torso.CFrame * CFrame.new(5,0,-10)).p).magnitude
  292. distB= (torso.Position - (v.Character.Torso.CFrame * CFrame.new(-5,0,-10)).p).magnitude
  293. distC= (torso.Position - (v.Character.Torso.CFrame * CFrame.new(0,0,2)).p).magnitude
  294. if distA < distC and distB < distC then return true end
  295. end
  296. end
  297. end
  298. return false end
  299.  
  300. Unlock()
  301. while true do
  302. wait(0.1)
  303. if (CanBeSeen()) then
  304. Lock()
  305. else
  306. Unlock()
  307. end
  308. end
  309.  
  310. --D fl V Y
  311. end))
  312. Script12.Name = "AngelSetup"
  313. Script12.Parent = Model0
  314. table.insert(cors,sandbox(Script12,function()
  315. local angel = script.Parent
  316.  
  317. local w = Instance.new("Weld")
  318. w.Parent = game.JointsService
  319. w.Part0 = angel.Torso
  320.  
  321. for i,p in pairs(angel:children()) do
  322. if (p:IsA("BasePart")) then
  323. p.Anchored = false
  324. end
  325. end
  326.  
  327. end))
  328. BoolValue13.Name = "Q_Locked"
  329. BoolValue13.Parent = Model0
  330. Script14.Name = "Weld"
  331. Script14.Parent = Model0
  332. table.insert(cors,sandbox(Script14,function()
  333. function weld()
  334. local parts,last = {}
  335. local function scan(parent)
  336. for _,v in pairs(parent:GetChildren()) do
  337. if (v:IsA("BasePart")) then
  338. if (last) then
  339. local w = Instance.new("Weld")
  340. w.Name = ("%s_Weld"):format(v.Name)
  341. w.Part0,w.Part1 = last,v
  342. w.C0 = last.CFrame:inverse()
  343. w.C1 = v.CFrame:inverse()
  344. w.Parent = last
  345. end
  346. last = v
  347. table.insert(parts,v)
  348. end
  349. scan(v)
  350. end
  351. end
  352. scan(script.Parent)
  353. for _,v in pairs(parts) do
  354. v.Anchored = false
  355. end
  356. wait(5)
  357. script.Parent.Script.Disabled = false
  358. end
  359.  
  360. weld()
  361. script:Remove()
  362. end))
  363. Script15.Name = "Respawn"
  364. Script15.Parent = Model0
  365. table.insert(cors,sandbox(Script15,function()
  366. name="Humanoid"
  367.  
  368. robo=script.Parent:clone()
  369.  
  370. while true do
  371. wait(1)
  372. if script.Parent.Zombie.Health<1 then
  373. wait(4)
  374. robot=robo:clone()
  375. robot.Parent=script.Parent.Parent
  376. robot:makeJoints()
  377. script.Parent:remove()
  378. end
  379. end
  380.  
  381.  
  382.  
  383.  
  384. end))
  385. Part16.Name = "Phys"
  386. Part16.Parent = Model0
  387. Part16.BrickColor = BrickColor.new("Really red")
  388. Part16.Rotation = Vector3.new(0, 0.00999999978, 0)
  389. Part16.Size = Vector3.new(0.261000007, 7.66799831, 0.230000004)
  390. Part16.CFrame = CFrame.new(8.17468643, 7.19677734, 11.250083, 1, 2.24286183e-07, 0.000210806771, -2.24231556e-07, 1, -2.59079883e-07, -0.000210806771, 2.59032618e-07, 1)
  391. Part16.Color = Color3.new(1, 0, 0)
  392. Part16.Position = Vector3.new(8.17468643, 7.19677734, 11.250083)
  393. Part16.Orientation = Vector3.new(0, 0.00999999978, 0)
  394. Part16.Color = Color3.new(1, 0, 0)
  395. SpecialMesh17.Parent = Part16
  396. SpecialMesh17.MeshId = "rbxassetid://476426932"
  397. SpecialMesh17.Scale = Vector3.new(0.400000006, 0.400000006, 0.400000006)
  398. SpecialMesh17.TextureId = "rbxassetid://436149432"
  399. SpecialMesh17.MeshType = Enum.MeshType.FileMesh
  400. SpecialMesh17.Scale = Vector3.new(0.400000006, 0.400000006, 0.400000006)
  401. for i,v in pairs(mas:GetChildren()) do
  402. v.Parent = workspace
  403. pcall(function() v:MakeJoints() end)
  404. end
  405. mas:Destroy()
  406. for i,v in pairs(cors) do
  407. spawn(function()
  408. pcall(v)
  409. end)
  410. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement