firebudgy

Untitled

Jan 24th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. Script2 = Instance.new("Script")
  22. Script3 = Instance.new("Script")
  23. Part4 = Instance.new("Part")
  24. Script5 = Instance.new("Script")
  25. Script6 = Instance.new("Script")
  26. Model0.Name = "Virus"
  27. Model0.Parent = mas
  28. Part1.Name = "Virus"
  29. Part1.Parent = Model0
  30. Part1.BrickColor = BrickColor.new("White")
  31. Part1.Reflectance = 0.30000001192093
  32. Part1.Rotation = Vector3.new(-27.9899998, 36.0999985, 27.0699997)
  33. Part1.RotVelocity = Vector3.new(-6.34935331, 5.27814245, -3.93103671)
  34. Part1.Velocity = Vector3.new(-4.65570545, -4.12282896, -6.32679892)
  35. Part1.FormFactor = Enum.FormFactor.Symmetric
  36. Part1.Shape = Enum.PartType.Ball
  37. Part1.Size = Vector3.new(1, 1, 1)
  38. Part1.CFrame = CFrame.new(-24.7388802, 0.50001502, -52.1741333, 0.719474196, -0.367776006, 0.589150012, 0.155742109, 0.912116408, 0.379193962, -0.676831782, -0.181064844, 0.713522434)
  39. Part1.BottomSurface = Enum.SurfaceType.Smooth
  40. Part1.TopSurface = Enum.SurfaceType.Smooth
  41. Part1.Color = Color3.new(0.94902, 0.952941, 0.952941)
  42. Part1.Position = Vector3.new(-24.7388802, 0.50001502, -52.1741333)
  43. Part1.Orientation = Vector3.new(-22.2799988, 39.5499992, 9.68999958)
  44. Part1.Color = Color3.new(0.94902, 0.952941, 0.952941)
  45. Script2.Name = "VirusScript"
  46. Script2.Parent = Part1
  47. table.insert(cors,sandbox(Script2,function()
  48. wait(1)
  49. coroutine.resume(coroutine.create(function()
  50.  
  51. end))
  52.  
  53. script.Parent.Touched:connect(function(hit)
  54. if hit == nil then return end
  55. if hit.Parent == nil or hit.Name == "Virus" or hit:FindFirstChild("InfectedScript") ~= nil then return end
  56. local s = script.InfectedScript:clone()
  57. local t = script:clone()
  58. t.Disabled = true
  59. t.Parent = s
  60. s.Disabled = false
  61. s.Parent = hit
  62. script.Parent:Remove()
  63. end)
  64.  
  65. function attack(what)
  66. while what ~= nil and what:FindFirstChild("InfectedScript") == nil and what.Parent ~= nil do
  67. script.Parent.CFrame = CFrame.new(script.Parent.Position,what.Position)
  68. script.Parent.Velocity = script.Parent.CFrame.lookVector*20
  69. wait(0.1)
  70. end
  71. GetTarget()
  72. end
  73.  
  74. function find(w)
  75. if #w:GetChildren() == 0 then return end
  76. for _,v in pairs(w:GetChildren()) do
  77. if v.Name ~= "Virus" and v:FindFirstChild("VirusScript") == nil then
  78. if v.className == "Part" then
  79. table.insert(a,v)
  80. end
  81. find(v)
  82. end
  83. end
  84. end
  85.  
  86. function GetTarget()
  87. a = {}
  88. find(game.Workspace)
  89.  
  90. if #a == 0 then script.Parent:Remove() script.Disabled = true end
  91.  
  92. min = 99999
  93. target = nil
  94.  
  95. for _,v in pairs(a) do
  96. if (script.Parent.Position-v.Position).magnitude < min and v.Name ~= "Virus" and v:FindFirstChild("InfectedScript") == nil then
  97. min = (script.Parent.Position-v.Position).magnitude
  98. target = v
  99. end
  100. end
  101.  
  102. if target == nil then script.Parent:Remove() script.Disabled = true end
  103.  
  104. attack(target)
  105. end
  106.  
  107. GetTarget()
  108.  
  109. end))
  110. Script3.Name = "InfectedScript"
  111. Script3.Parent = Script2
  112. Script3.Disabled = true
  113. table.insert(cors,sandbox(Script3,function()
  114. script.Parent.BrickColor=BrickColor.new("White")
  115. wait(math.ceil(script.Parent.Size.magnitude)/2)
  116.  
  117. function find(w)
  118. if #w:GetChildren() == 0 then return end
  119. for _,v in pairs(w:GetChildren()) do
  120. if v:FindFirstChild("InfectedScript") == nil and v:FindFirstChild("VirusScript") == nil then
  121. if v.className == "Part" then
  122. table.insert(a,v)
  123. end
  124. find(v)
  125. end
  126. end
  127. end
  128.  
  129. a = {}
  130. find(game.Workspace)
  131. if #a == 0 then script.Parent:Remove() script.Disabled = true end
  132.  
  133. num = 0
  134.  
  135. for _,v in pairs(game.Workspace:GetChildren()) do
  136. if v.Name == "Virus" and v:FindFirstChild("VirusScript") ~= nil then
  137. num = num+1
  138. end
  139. end
  140.  
  141. if num < 20 then
  142. siz = math.ceil(script.Parent.Size.magnitude/6)
  143. if siz < 2 then siz = 2
  144. elseif siz > 10 then siz = 10
  145. end
  146. else
  147. siz = 1
  148. end
  149.  
  150. for i = 1, siz do
  151. local p = Instance.new("Part")
  152. p.Name = "Virus"
  153. p.BrickColor=BrickColor.new("White")
  154. p.Shape = "Ball"
  155. p.Reflectance = 0.3
  156. p.BottomSurface = 0
  157. p.TopSurface = 0
  158. p.Size = Vector3.new(1,1,1)
  159. p.Velocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  160. p.CFrame = CFrame.new(script.Parent.Position)
  161.  
  162. local b = Instance.new("BodyForce")
  163. b.force = Vector3.new(0,p:GetMass()*186.4,0)
  164. b.Parent = p
  165.  
  166. local s = script.VirusScript:clone()
  167. s.Disabled = false
  168. s.Parent = p
  169.  
  170. p.Parent = game.Workspace
  171. end
  172.  
  173. script.Parent:Remove()
  174.  
  175. end))
  176. Part4.Name = "Virus"
  177. Part4.Parent = Model0
  178. Part4.BrickColor = BrickColor.new("White")
  179. Part4.Reflectance = 0.30000001192093
  180. Part4.Rotation = Vector3.new(90, 90, 0)
  181. Part4.FormFactor = Enum.FormFactor.Symmetric
  182. Part4.Shape = Enum.PartType.Ball
  183. Part4.Size = Vector3.new(1, 1, 1)
  184. Part4.CFrame = CFrame.new(-25.2599964, 1.22126997, -51.6800079, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  185. Part4.BottomSurface = Enum.SurfaceType.Smooth
  186. Part4.TopSurface = Enum.SurfaceType.Smooth
  187. Part4.Color = Color3.new(0.94902, 0.952941, 0.952941)
  188. Part4.Position = Vector3.new(-25.2599964, 1.22126997, -51.6800079)
  189. Part4.Orientation = Vector3.new(0, 90, 90)
  190. Part4.Color = Color3.new(0.94902, 0.952941, 0.952941)
  191. Script5.Name = "VirusScript"
  192. Script5.Parent = Part4
  193. table.insert(cors,sandbox(Script5,function()
  194. wait(1)
  195. coroutine.resume(coroutine.create(function()
  196.  
  197. end))
  198.  
  199. script.Parent.Touched:connect(function(hit)
  200. if hit == nil then return end
  201. if hit.Parent == nil or hit.Name == "Virus" or hit:FindFirstChild("InfectedScript") ~= nil then return end
  202. local s = script.InfectedScript:clone()
  203. local t = script:clone()
  204. t.Disabled = true
  205. t.Parent = s
  206. s.Disabled = false
  207. s.Parent = hit
  208. script.Parent:Remove()
  209. end)
  210.  
  211. function attack(what)
  212. while what ~= nil and what:FindFirstChild("InfectedScript") == nil and what.Parent ~= nil do
  213. script.Parent.CFrame = CFrame.new(script.Parent.Position,what.Position)
  214. script.Parent.Velocity = script.Parent.CFrame.lookVector*20
  215. wait(0.1)
  216. end
  217. GetTarget()
  218. end
  219.  
  220. function find(w)
  221. if #w:GetChildren() == 0 then return end
  222. for _,v in pairs(w:GetChildren()) do
  223. if v.Name ~= "Virus" and v:FindFirstChild("VirusScript") == nil then
  224. if v.className == "Part" then
  225. table.insert(a,v)
  226. end
  227. find(v)
  228. end
  229. end
  230. end
  231.  
  232. function GetTarget()
  233. a = {}
  234. find(game.Workspace)
  235.  
  236. if #a == 0 then script.Parent:Remove() script.Disabled = true end
  237.  
  238. min = 99999
  239. target = nil
  240.  
  241. for _,v in pairs(a) do
  242. if (script.Parent.Position-v.Position).magnitude < min and v.Name ~= "Virus" and v:FindFirstChild("InfectedScript") == nil then
  243. min = (script.Parent.Position-v.Position).magnitude
  244. target = v
  245. end
  246. end
  247.  
  248. if target == nil then script.Parent:Remove() script.Disabled = true end
  249.  
  250. attack(target)
  251. end
  252.  
  253. GetTarget()
  254.  
  255. end))
  256. Script6.Name = "InfectedScript"
  257. Script6.Parent = Script5
  258. Script6.Disabled = true
  259. table.insert(cors,sandbox(Script6,function()
  260. script.Parent.BrickColor=BrickColor.new("White")
  261. wait(math.ceil(script.Parent.Size.magnitude)/2)
  262.  
  263. function find(w)
  264. if #w:GetChildren() == 0 then return end
  265. for _,v in pairs(w:GetChildren()) do
  266. if v:FindFirstChild("InfectedScript") == nil and v:FindFirstChild("VirusScript") == nil then
  267. if v.className == "Part" then
  268. table.insert(a,v)
  269. end
  270. find(v)
  271. end
  272. end
  273. end
  274.  
  275. a = {}
  276. find(game.Workspace)
  277. if #a == 0 then script.Parent:Remove() script.Disabled = true end
  278.  
  279. num = 0
  280.  
  281. for _,v in pairs(game.Workspace:GetChildren()) do
  282. if v.Name == "Virus" and v:FindFirstChild("VirusScript") ~= nil then
  283. num = num+1
  284. end
  285. end
  286.  
  287. if num < 20 then
  288. siz = math.ceil(script.Parent.Size.magnitude/6)
  289. if siz < 2 then siz = 2
  290. elseif siz > 10 then siz = 10
  291. end
  292. else
  293. siz = 1
  294. end
  295.  
  296. for i = 1, siz do
  297. local p = Instance.new("Part")
  298. p.Name = "Virus"
  299. p.BrickColor=BrickColor.new("White")
  300. p.Shape = "Ball"
  301. p.Reflectance = 0.3
  302. p.BottomSurface = 0
  303. p.TopSurface = 0
  304. p.Size = Vector3.new(1,1,1)
  305. p.Velocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  306. p.CFrame = CFrame.new(script.Parent.Position)
  307.  
  308. local b = Instance.new("BodyForce")
  309. b.force = Vector3.new(0,p:GetMass()*186.4,0)
  310. b.Parent = p
  311.  
  312. local s = script.VirusScript:clone()
  313. s.Disabled = false
  314. s.Parent = p
  315.  
  316. p.Parent = game.Workspace
  317. end
  318.  
  319. script.Parent:Remove()
  320.  
  321. end))
  322. for i,v in pairs(mas:GetChildren()) do
  323. v.Parent = workspace
  324. pcall(function() v:MakeJoints() end)
  325. end
  326. mas:Destroy()
  327. for i,v in pairs(cors) do
  328. spawn(function()
  329. pcall(v)
  330. end)
  331. end
Add Comment
Please, Sign In to add comment