Advertisement
Guest User

FE The Glitch - Roblox Script

a guest
Aug 18th, 2018
2,797
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.66 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4. print("FE Compatibility code by Mokiros")
  5. script.Parent = Player.Character
  6.  
  7. --RemoteEvent for communicating
  8. local Event = Instance.new("RemoteEvent")
  9. Event.Name = "UserInput_Event"
  10.  
  11. --Fake event to make stuff like Mouse.KeyDown work
  12. local function fakeEvent()
  13. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14. t.connect = t.Connect
  15. return t
  16. end
  17.  
  18. --Creating fake input objects with fake variables
  19. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23. end}
  24. --Merged 2 functions into one by checking amount of arguments
  25. CAS.UnbindAction = CAS.BindAction
  26.  
  27. --This function will trigger the events that have been :Connect()'ed
  28. local function te(self,ev,...)
  29. local t = m[ev]
  30. if t and t._fakeEvent and t.Function then
  31. t.Function(...)
  32. end
  33. end
  34. m.TrigEvent = te
  35. UIS.TrigEvent = te
  36.  
  37. Event.OnServerEvent:Connect(function(plr,io)
  38. if plr~=Player then return end
  39. if io.isMouse then
  40. m.Target = io.Target
  41. m.Hit = io.Hit
  42. else
  43. local b = io.UserInputState == Enum.UserInputState.Begin
  44. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46. end
  47. for _,t in pairs(CAS.Actions) do
  48. for _,k in pairs(t.Keys) do
  49. if k==io.KeyCode then
  50. t.Function(t.Name,io.UserInputState,io)
  51. end
  52. end
  53. end
  54. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56. end
  57. end)
  58. Event.Parent = NLS([==[
  59. local Player = game:GetService("Players").LocalPlayer
  60. local Event = script:WaitForChild("UserInput_Event")
  61.  
  62. local UIS = game:GetService("UserInputService")
  63. local input = function(io,a)
  64. if a then return end
  65. --Since InputObject is a client-side instance, we create and pass table instead
  66. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67. end
  68. UIS.InputBegan:Connect(input)
  69. UIS.InputEnded:Connect(input)
  70.  
  71. local Mouse = Player:GetMouse()
  72. local h,t
  73. --Give the server mouse data 30 times every second, but only if the values changed
  74. --If player is not moving their mouse, client won't fire events
  75. while wait(1/30) do
  76. if h~=Mouse.Hit or t~=Mouse.Target then
  77. h,t=Mouse.Hit,Mouse.Target
  78. Event:FireServer({isMouse=true,Target=t,Hit=h})
  79. end
  80. end]==],Player.Character)
  81. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83. -- [ GlitchMaster ] --
  84. -- [ Cucumber Quest ] --
  85. wait()
  86. LoudVolume = false
  87. Music = true
  88. script.Name = "GlitchMaster"
  89. Player = game.Players.LocalPlayer
  90. c = game.Players.LocalPlayer.Character
  91. Head = c.Head
  92. anim = c.Humanoid.Animator
  93. rage = false
  94. Battle = false
  95. p = game.Players.LocalPlayer
  96. Music = false
  97. PhaseEnabled = true
  98. TeleportEnabled = true
  99. c.Archivable = true
  100. WholeBody = c:clone()
  101. local Effects = {}
  102. attack = false
  103. local attacking = false
  104. vt = Vector3.new
  105. bc = BrickColor.new
  106. br = BrickColor.random
  107. it = Instance.new
  108. cf = CFrame.new
  109. euler = CFrame.fromEulerAnglesXYZ
  110. angles = CFrame.Angles
  111. matr = math.random
  112. mouse = Player:GetMouse()
  113.  
  114.  
  115. local S10 = Instance.new("Sound") local S11 = Instance.new("ParticleEmitter")
  116.  
  117. c.Humanoid.WalkSpeed = 24 c.Humanoid.JumpPower = 50
  118.  
  119. RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  120. RSC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  121. LSC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  122. LSC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  123. RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  124. RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  125. LHC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  126. LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  127. NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  128. NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  129. RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  130. RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  131. RS = c.Torso:FindFirstChild("Right Shoulder")
  132. LS = c.Torso:FindFirstChild("Left Shoulder")
  133. RH = c.Torso:FindFirstChild("Right Hip")
  134. LH = c.Torso:FindFirstChild("Left Hip")
  135. RJ = c.HumanoidRootPart:FindFirstChild("RootJoint")
  136. N = c.Torso:FindFirstChild("Neck")
  137. cf = CFrame.new
  138. ang = CFrame.Angles
  139. rd = math.rad
  140. rd2 = math.random
  141.  
  142. function swait(num)
  143. if num==0 or num==nil then
  144. game:service'RunService'.Heartbeat:wait(0)
  145. else
  146. for i=0,num do
  147. game:service'RunService'.Heartbeat:wait(0)
  148. end
  149. end
  150. end
  151.  
  152. function AnimDis()
  153. if c.Animate.Disabled == false then
  154. c.Animate.Disabled = true
  155. anim.Parent = nil
  156. else
  157. anim.Parent = c.Humanoid
  158. c.Animate.Disabled = false
  159. end
  160. end
  161. function lerpz(joint, prop, cfrmz, alp)
  162. joint[prop] = joint[prop]:lerp(cfrmz, alp)
  163. end
  164. function resetlerp()
  165. RJ.C0 = RJC0
  166. RJ.C1 = RJC1
  167. N.C0 = NC0
  168. N.C1 = NC1
  169. RS.C0 = RSC0
  170. RS.C1 = RSC1
  171. LS.C0 = LSC0
  172. LS.C1 = LSC1
  173. RH.C0 = RHC0
  174. RH.C1 = RHC1
  175. LH.C0 = LHC0
  176. LH.C1 = LHC1
  177. end
  178.  
  179. game:GetService('UserInputService').InputBegan:connect(function(InputObj)
  180. if InputObj.KeyCode == Enum.KeyCode.Slash then
  181. local finishEvent = nil
  182. isTyping = true
  183. finishEvent = game:GetService('UserInputService').InputBegan:connect(function(InputObj)
  184. if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
  185. isTyping = false
  186. finishEvent:disconnect()
  187. end
  188. end)
  189. end
  190. end)
  191.  
  192. function VirusDestroy(H)
  193. spawn(function()
  194. for i = 1,1000 do
  195. H.Transparency = H.Transparency + 1/1000
  196. swait()
  197. end
  198. game.Debris:AddItem(H,3)H.Anchored = true
  199. end)
  200. end
  201.  
  202. function HitInfect(Part)
  203. Part.Touched:connect(function(Hit)
  204. if Hit.Size.Y <= 30 and Hit.Size.X <= 30 and Hit.Size.Z <= 30 and Hit.Transparency < 1 and Hit:findFirstChild("Glitch")== nil and Hit.Parent ~= c then
  205. local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
  206. Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") HitInfect(Hit) VirusDestroy(Hit)
  207. for i = 1,2 do
  208. local tra = S11:clone() tra.Parent = Hit
  209. tra.Texture = "rbxassetid://744949545"
  210. tra.LightEmission = 0
  211. if i == 1 then
  212. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  213. tra.ZOffset = 2.5
  214. else
  215. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  216. tra.ZOffset = 3
  217. end
  218. local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
  219. tra.Lifetime = NumberRange.new(1,3)
  220. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize,0),NumberSequenceKeypoint.new(1,0,0)})
  221. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  222. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
  223. tra.LockedToPart = true
  224. tra.Rate = 15
  225. tra.VelocityInheritance = 0.2
  226. if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
  227. if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
  228. Hit.Mesh.TextureId = "rbxassetid://64619306"
  229. end
  230. elseif Hit.Name ~= "Head" then
  231. local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  232. M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
  233. end
  234. end
  235. end
  236. end)
  237. end
  238. function Virusify(Hit)
  239. local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
  240. Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
  241. for i = 1,2 do
  242. local tra = S11:clone() tra.Parent = Hit
  243. tra.Texture = "rbxassetid://744949545"
  244. tra.LightEmission = 0
  245. if i == 1 then
  246. tra.Name = "Glitch"
  247. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  248. tra.ZOffset = 2.5
  249. else
  250. tra.Name = "Glitch2"
  251. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  252. tra.ZOffset = 3
  253. end
  254. local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
  255. tra.Lifetime = NumberRange.new(1,3)
  256. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)})
  257. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  258. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
  259. tra.LockedToPart = true
  260. tra.Rate = 15+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5
  261. tra.VelocityInheritance = 0.2
  262. if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
  263. if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
  264. Hit.Mesh.TextureId = "rbxassetid://64619306"
  265. end
  266. elseif Hit.Name ~= "Head" then
  267. local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  268. M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
  269. end
  270. end
  271. end
  272.  
  273. function Virusify2(Hit)
  274. Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
  275. for i = 1,2 do
  276. local tra = S11:clone() tra.Parent = Hit
  277. tra.Texture = "rbxassetid://744949545"
  278. tra.LightEmission = 0
  279. if i == 1 then
  280. tra.Name = "Glitch"
  281. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  282. tra.ZOffset = 2.5
  283. else
  284. tra.Name = "Glitch2"
  285. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  286. tra.ZOffset = 3
  287. end
  288. local PSize = (Hit.Size.Y)/4
  289. tra.Lifetime = NumberRange.new(0.5)
  290. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)})
  291. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  292. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
  293. tra.LockedToPart = true
  294. tra.Rate = 50
  295. tra.VelocityInheritance = 0.2
  296. if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
  297. if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
  298. Hit.Mesh.TextureId = "rbxassetid://64619306"
  299. end
  300. elseif Hit.Name ~= "Head" then
  301. local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  302. M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
  303. end
  304. end
  305. end
  306.  
  307. function Virusify3(Hit)
  308. local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
  309. Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
  310. for i2 = 1,2 do
  311. for i = 1,2 do
  312. local tra = S11:clone() tra.Parent = Hit
  313. tra.Texture = "rbxassetid://744949545"
  314. tra.LightEmission = 0
  315. if i == 1 then
  316. tra.Name = "Glitch"
  317. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  318. tra.ZOffset = 2.5
  319. else
  320. tra.Name = "Glitch2"
  321. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  322. tra.ZOffset = 3
  323. end
  324. if i2 == 1 then
  325. tra.LockedToPart = true
  326. else
  327. tra.LockedToPart = false
  328. end
  329. local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
  330. tra.Lifetime = NumberRange.new(1,3)
  331. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)})
  332. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  333. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
  334. tra.Rate = 35+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5
  335. tra.VelocityInheritance = 0.2
  336. if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
  337. if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
  338. Hit.Mesh.TextureId = "rbxassetid://64619306"
  339. end
  340. elseif Hit.Name ~= "Head" then
  341. local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  342. M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
  343. end
  344. end
  345. end
  346. end
  347.  
  348. local S = Instance.new("Sound",c.HumanoidRootPart)S.Volume = 0.4 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
  349.  
  350. for i,v in pairs(c:children()) do
  351. if v.ClassName == "Accessory" then
  352. v:remove()
  353. end
  354. end
  355.  
  356. if c:findFirstChild("Body Colors") then
  357. c:findFirstChild("Body Colors"):remove()
  358. end
  359. for i,v in pairs (c:children()) do
  360. if v.ClassName == "Part" then
  361. if v.Name ~= "HumanoidRootPart" then
  362. HitInfect(v)
  363. v.Material = "Sand" v.BrickColor = BrickColor.new("Really black")
  364. for i2 = 1,2 do
  365. for i = 1,2 do
  366. local tra = S11:clone() tra.Parent = v
  367. tra.Texture = "rbxassetid://744949545"
  368. tra.LightEmission = 0
  369. if i == 1 then
  370. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  371. tra.ZOffset = 2.5
  372. else
  373. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  374. tra.ZOffset = 3
  375. end
  376. tra.Rate = 15
  377. tra.Lifetime = NumberRange.new(1,3)
  378. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,0.15,0),NumberSequenceKeypoint.new(1,0,0)})
  379. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  380. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
  381. if i2 == 1 then
  382. tra.LockedToPart = true
  383. tra.Rate = 10
  384. else
  385. tra.LockedToPart = false
  386. tra.ZOffset = tra.ZOffset - 2.25
  387. end
  388. tra.VelocityInheritance = 0.2
  389. end
  390. if v.Name ~= "Head" then
  391. local M = Instance.new("SpecialMesh",v)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  392. M.Scale = Vector3.new(v.Size.X*2,v.Size.Y*2,v.Size.Z*2)
  393. end
  394. end
  395. end
  396. end
  397. end
  398. c.Head.Transparency = 1
  399. local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart"
  400. local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head
  401. local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97)
  402. wait()
  403. c.Head:FindFirstChild("face").Texture = ""
  404. if c:findFirstChild("Shirt")~=nil then
  405. c:findFirstChild("Shirt"):remove()
  406. end
  407. if c:findFirstChild("Pants")~=nil then
  408. c:findFirstChild("Pants"):remove()
  409. end
  410.  
  411. local flying = false
  412. local deb = true
  413. local ctrl = {f = 0, b = 0, l = 0, r = 0}
  414. local lastctrl = {f = 0, b = 0, l = 0, r = 0}
  415. local maxspeed = 25
  416. local speed = 0
  417.  
  418. function Fly()
  419. local bg = Instance.new("BodyGyro", c.HumanoidRootPart)
  420. bg.P = 100000 bg.D = 100
  421. bg.maxTorque = Vector3.new(math.huge, 0, math.huge)
  422. bg.cframe = c.HumanoidRootPart.CFrame
  423. local bv = Instance.new("BodyVelocity", c.HumanoidRootPart)
  424. bv.velocity = Vector3.new(0,0.1,0)
  425. bv.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  426. repeat wait()
  427. c.Humanoid.PlatformStand = true
  428. if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
  429. speed = speed+1+(speed/maxspeed)
  430. if speed > maxspeed then
  431. speed = maxspeed
  432. end
  433. elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
  434. speed = speed-1
  435. if speed < 0 then
  436. speed = 0
  437. end
  438. end
  439. if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
  440. bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
  441. lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
  442. elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
  443. bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
  444. else
  445. bv.velocity = Vector3.new(0,0.1,0)
  446. end
  447. until not flying
  448. ctrl = {f = 0, b = 0, l = 0, r = 0}
  449. lastctrl = {f = 0, b = 0, l = 0, r = 0}
  450. speed = 0
  451. bv:Destroy()
  452. c.Humanoid.PlatformStand = false
  453. end
  454.  
  455. Cloud = false
  456. function CloudForm()
  457. if Cloud == false then
  458. S.Volume = 1
  459. attack = true Cloud = true
  460. for i = 1,10 do
  461. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  462. lerpz(N, "C0", NC0 * cf(0, 0, -1) * ang(rd(0), rd(0), rd(0)), 0.1)
  463. lerpz(RS, "C0", RSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1)
  464. lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  465. lerpz(LS, "C0", LSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1)
  466. lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  467. lerpz(RH, "C0", RHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  468. lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  469. lerpz(LH, "C0", LHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  470. lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
  471. swait()
  472. end
  473. lerpz(RJ, "C0", RJC0 * cf(0, 0, 2500) * ang(rd(0), rd(0), rd(0)), 1)
  474. local Cl = Instance.new("Part",c)Cl.Size = Vector3.new(10,10,10) Cl.CanCollide = false Cl.Anchored = false Cl.CFrame = c.HumanoidRootPart.CFrame
  475. Cl.CustomPhysicalProperties = PhysicalProperties.new(0,0.3,0.5)
  476. Cl.Material = "Sand" Cl.BrickColor = BrickColor.new("Really black") Cl.Name = "Cloud"
  477. HitInfect(Cl)
  478. for i2 = 1,2 do
  479. for i = 1,2 do
  480. local tra = S11:clone() tra.Parent = CL
  481. tra.Texture = "rbxassetid://744949545"
  482. tra.LightEmission = 0
  483. if i == 1 then
  484. tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
  485. tra.ZOffset = 2.5
  486. else
  487. tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
  488. tra.ZOffset = 3
  489. end
  490. tra.Lifetime = NumberRange.new(1,3)
  491. tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)})
  492. tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
  493. tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
  494. if i2 == 1 then
  495. tra.LockedToPart = true
  496. tra.Speed = NumberRange.new(0.5)
  497. else
  498. tra.LockedToPart = false
  499. tra.Speed = NumberRange.new(4)
  500. end
  501. tra.Rate = 250
  502. tra.VelocityInheritance = 0.2
  503. end
  504. end
  505. local W = Instance.new("Weld",c.HumanoidRootPart)W.Part0 = c.HumanoidRootPart W.Part1 = Cl
  506. local M = Instance.new("SpecialMesh",Cl)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
  507. for i = 1,80 do
  508. M.Scale = Vector3.new(i/4,i/4,i/4)
  509. c.HumanoidRootPart.CFrame = c.HumanoidRootPart.CFrame*CFrame.new(0,3,0)
  510. swait()
  511. end
  512. flying = true attack = false
  513. Fly()
  514. else
  515. attack = true S.Volume = 0.4
  516. if c:findFirstChild("Cloud") ~= nil then
  517. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
  518. if c.HumanoidRootPart:findFirstChild("Smile")~= nil then
  519. for i = 1,20 do
  520. c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05
  521. swait()
  522. end
  523. c.HumanoidRootPart.Smile:remove()
  524. end
  525. for i,v in pairs(c:findFirstChild("Cloud"):children()) do
  526. if v.Name == "Glitch" then
  527. v.Enabled = false
  528. end
  529. end
  530. for i = 1,80 do
  531. c:findFirstChild("Cloud").Mesh.Scale = c:findFirstChild("Cloud").Mesh.Scale - Vector3.new(0.25,0.25,0.25)
  532. swait()
  533. end
  534. game.Debris:AddItem(c:findFirstChild("Cloud"),2)
  535. Cloud = false end flying = false
  536. wait(2)
  537. attack = false
  538. end
  539. end
  540.  
  541. function CloudFace()
  542. if c.HumanoidRootPart:findFirstChild("Smile")~= nil then
  543. for i = 1,20 do
  544. c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05
  545. swait()
  546. end
  547. c.HumanoidRootPart.Smile:remove()
  548. else
  549. local BillBoard = Instance.new("BillboardGui",c.HumanoidRootPart)BillBoard.Name = "Smile" BillBoard.AlwaysOnTop = true BillBoard.Size = UDim2.new(10,0,10,0)
  550. local Im = Instance.new("ImageLabel",BillBoard) Im.BackgroundTransparency = 1 Im.Size = UDim2.new(1,0,1,0)Im.Image = "rbxassetid://915081021"
  551. end
  552. end
  553.  
  554.  
  555. function VirusExplosion(Pos)
  556. for i = 1,10 do
  557. for i2 = 1,8 do
  558. local V = Instance.new("Part")V.Size = Vector3.new(1+i*20,0.5,10)V.Anchored = true V.CanCollide = false
  559. V.CFrame = Pos*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V)
  560. V.CFrame = V.CFrame*CFrame.new(0,3,2*i)HitInfect(V) V.Parent = game.Workspace
  561. end
  562. swait()
  563. end
  564. end
  565.  
  566. function VirusFade(H)
  567. spawn(function()
  568. for i = 1,10 do
  569. H.Transparency = H.Transparency + 1/10
  570. swait()
  571. end
  572. H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false
  573. game.Debris:AddItem(H,0.2)
  574. end)
  575. end
  576.  
  577. function VirusFade2(H)
  578. spawn(function()
  579. for i = 1,25 do
  580. H.Transparency = H.Transparency + 1/25
  581. swait()
  582. end
  583. H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false
  584. game.Debris:AddItem(H,4)
  585. end)
  586. end
  587.  
  588. function HammerSlam()
  589. c.HumanoidRootPart.Anchored = true
  590. attack = true
  591. AnimDis()
  592. for i = 1,15 do
  593. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2)-- Y, X, Z
  594. lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2) -- Y, X, Z
  595. lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.2) -- Z, X, Y
  596. lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.2) -- Z, X, Y
  597. lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2)
  598. lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2)
  599. swait()
  600. end
  601. local H = Instance.new("Part",c)H.Size = Vector3.new(1,1,15)H.CanCollide = false
  602. local H2 = Instance.new("Part",c)H2.Size = Vector3.new(5,10,5)H2.CanCollide = false
  603. local W = Instance.new("Weld",c["Torso"])W.Part0 = c["Torso"] W.Part1 = H W.C0 = CFrame.new(0,-2,0)
  604. local W2 = Instance.new("Weld",H2)W2.Part0 = H2 W2.Part1 = H W2.C0 = CFrame.new(0,0,-4)
  605. Virusify(H) Virusify(H2)HitInfect(H)HitInfect(H2)
  606. for i = 1,45 do
  607. W.C0 = CFrame.new(0,2,4)*CFrame.Angles(math.rad(5),0,0)
  608. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2)-- Y, X, Z
  609. lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2) -- Y, X, Z
  610. lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(220)), 0.2) -- Z, X, Y
  611. lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(-220)), 0.2) -- Z, X, Y
  612. lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2)
  613. lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2)
  614. swait()
  615. end
  616. W.C0 = CFrame.new(0,3,-8)*CFrame.Angles(math.rad(200),0,0)
  617. for i = 1,15 do
  618. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5)-- Y, X, Z
  619. lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5) -- Y, X, Z
  620. lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.5) -- Z, X, Y
  621. lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.5) -- Z, X, Y
  622. lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.5)
  623. lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.5)
  624. swait()
  625. end
  626. local S = Instance.new("Sound",H2)S.Volume = 2 S.SoundId = "rbxassetid://211062246" S:Play()
  627. for i = 1,45 do
  628. for i2 = 1,8 do
  629. local V = Instance.new("Part")V.Size = Vector3.new(10+i*4,1,10)V.Anchored = true V.CanCollide = false
  630. V.CFrame = H2.CFrame*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V)
  631. V.CFrame = V.CFrame*CFrame.new(0,3,5*i)HitInfect(V) V.Parent = game.Workspace
  632. end
  633. swait()
  634. end
  635. H.Anchored = true H2.Anchored = true
  636. W:remove() W2:remove()
  637. c.HumanoidRootPart.Anchored = false
  638. AnimDis()
  639. attack = false
  640. spawn(function()
  641. wait(3) H.Transparency = 1 H2.Transparency = 1
  642. H:findFirstChild("Glitch").Enabled = false H2:findFirstChild("Glitch").Enabled = false
  643. H:findFirstChild("Glitch2").Enabled = false H2:findFirstChild("Glitch2").Enabled = false
  644. game.Debris:AddItem(H,4) game.Debris:AddItem(H2,4)
  645. end)
  646. end
  647.  
  648. function Missiles()
  649. attack = true
  650. local Mis = Instance.new("Part",game.Workspace)Mis.Name = "GlitchMissle" Mis.Size = Vector3.new(2,2,12) Mis.CFrame = c.HumanoidRootPart.CFrame Virusify3(Mis)
  651. Mis.CFrame = CFrame.new(Mis.CFrame:toWorldSpace(CFrame.new(0,0,0)).p,mouse.hit.p+Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)))
  652. Mis.CanCollide = false local BV = Instance.new("BodyVelocity",Mis)BV.Velocity = Mis.CFrame.lookVector*150 BV.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  653. local hit = false
  654. Mis.Touched:connect(function(Hit)
  655. if Hit.Parent ~= c then
  656. if hit == false then hit = true
  657. Mis.Anchored = true VirusFade2(Mis)
  658. VirusExplosion(CFrame.new(Mis.Position))
  659. end
  660. end
  661. end)
  662. wait(0.1)
  663. attack = false
  664. end
  665.  
  666. mouse.KeyDown:connect(function(key)
  667. if c.Humanoid.Health <= 0 then return end
  668. if attack == true then return end
  669. if Cloud == true then
  670. if key == "f" then
  671. CloudFace()
  672. end
  673. if key == "z" then
  674. Missiles()
  675. end
  676. elseif Cloud == false then
  677. if key == "z" then
  678. HammerSlam()
  679. end
  680. end
  681. if key == "m" then
  682. CloudForm()
  683. end
  684. end)
  685.  
  686. local LastPos = c.HumanoidRootPart.CFrame
  687. local Resetting = false
  688. function Reset()
  689. if Resetting == false then Resetting = true
  690. c.Parent = nil
  691. c.Humanoid.Health = math.huge c.Humanoid.MaxHealth = math.huge
  692. for i,v in pairs(c:children()) do if v.ClassName == "Part" then v:remove() end end
  693. local Tors = Instance.new("Part",c)Tors.Name = "Torso" Tors.Size = Vector3.new(2,2,1) Virusify(Tors)
  694. local Hed = Instance.new("Part",c)Hed.Name = "Head" Hed.Size = Vector3.new(2,1,1) Virusify(Hed) Hed.Transparency = 1
  695. makejoint(c.Torso, NC0, NC1, c.Torso, c.Head, "Neck")
  696. local Hum = Instance.new("Part",c)Hum.Name = "HumanoidRootPart" Hum.Size = Vector3.new(2,2,1) Hum.Transparency = 1
  697. makejoint(c.HumanoidRootPart, RJC0, RJC1, c.HumanoidRootPart, c.Torso, "RootJoint")
  698. local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart"
  699. local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head
  700. local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97)
  701. local RiArm = Instance.new("Part",c)RiArm.Name = "Right Arm" RiArm.Size = Vector3.new(1,2,1) Virusify(RiArm)
  702. makejoint(c.Torso, RSC0, RSC1, c.Torso, RiArm, "Right Shoulder")
  703. local LeArm = Instance.new("Part",c)LeArm.Name = "Left Arm" LeArm.Size = Vector3.new(1,2,1) Virusify(LeArm)
  704. makejoint(c.Torso, LSC0, LSC1, c.Torso, LeArm, "Left Shoulder")
  705. local RiLeg = Instance.new("Part",c)RiLeg.Name = "Right Leg" RiLeg.Size = Vector3.new(1,2,1) Virusify(RiLeg)
  706. makejoint(c.Torso, RHC0, RHC1, c.Torso, RiLeg, "Right Hip")
  707. local LeLeg = Instance.new("Part",c)LeLeg.Name = "Left Leg" LeLeg.Size = Vector3.new(1,2,1) Virusify(LeLeg)
  708. makejoint(c.Torso, LHC0, LHC1, c.Torso, LeLeg, "Left Hip")
  709. c.HumanoidRootPart.CFrame = LastPos*CFrame.new(math.random(-5,5),0,math.random(-5,5))
  710. Resetting = false c.Humanoid.Died:connect(Reset) c.Parent = game.Workspace
  711. end
  712. end
  713. c.Humanoid.Died:connect(Reset)
  714.  
  715. function onKeyPress(inputObject, gameProcessedEvent)
  716. if isTyping == true then return end
  717. if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 1 end
  718. if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = -1 end
  719. if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = -1 end
  720. if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 1 end
  721. end
  722. game:GetService("UserInputService").InputBegan:connect(onKeyPress)
  723.  
  724. function onKeyLift(inputObject, gameProcessedEvent)
  725. if isTyping == true then return end
  726. if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 0 end
  727. if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = 0 end
  728. if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = 0 end
  729. if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 0 end
  730. end
  731. game:GetService("UserInputService").InputEnded:connect(onKeyLift)
  732.  
  733. WholeBody = c:clone()
  734.  
  735. function makejoint(paren, co, ci, parto, parti, nam)local gloo = Instance.new("Motor6D")gloo.Name = nam gloo.C0 = co gloo.C1 = ci gloo.Part0 = parto gloo.Part1 = parti gloo.Parent = paren end
  736. idletime = 0
  737. sine = 0
  738. game:GetService("RunService").RenderStepped:connect(function()
  739. c.Humanoid.MaxHealth = c.Humanoid.MaxHealth + math.huge c.Humanoid.Health = c.Humanoid.Health + math.huge
  740. if Resetting == false then
  741. if c:findFirstChild("Head")== nil or c:findFirstChild("Torso")== nil or c:findFirstChild("HumanoidRootPart")== nil or c.HumanoidRootPart:findFirstChild("RootJoint")== nil then
  742. Reset()
  743. else
  744. LastPos = c.HumanoidRootPart.CFrame
  745. end
  746. if c.Torso:findFirstChild("Right Shoulder") == nil or c:findFirstChild("Right Arm")== nil then print("RA")
  747. local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
  748. makejoint(c.Torso, RSC0, RSC1, c.Torso, BodyPart, "Right Shoulder")
  749. end
  750. if c.Torso:findFirstChild("Left Shoulder") == nil or c:findFirstChild("Left Arm")== nil then print("LA")
  751. local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
  752. makejoint(c.Torso, LSC0, LSC1, c.Torso, BodyPart, "Left Shoulder")
  753. end
  754. if c.Torso:findFirstChild("Right Hip") == nil or c:findFirstChild("Right Leg")== nil then print("RL")
  755. local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
  756. makejoint(c.Torso, RHC0, RHC1, c.Torso, BodyPart, "Right Hip")
  757. end
  758. if c.Torso:findFirstChild("Left Hip") == nil or c:findFirstChild("Left Leg")== nil then print("LL")
  759. local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
  760. makejoint(c.Torso, LHC0, LHC1, c.Torso, BodyPart, "Left Hip")
  761. end
  762. local r = math.random(1,15)
  763. if r == 1 then S.PlaybackSpeed = math.random(1,50)/10 end
  764. if attack == false and Cloud == false then
  765. local r2 = math.random(1,50)
  766. if r2 == 1 then
  767. lerpz(RJ, "C0", RJC0 * cf(math.random(-5,5)/10, math.random(-5,5)/10, math.random(-5,5)/10) * ang(rd(0), rd(0), rd(0)), 1)-- Y, X, Z
  768. lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Y, X, Z
  769. lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
  770. lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
  771. lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
  772. lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
  773. lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
  774. lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
  775. lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
  776. lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
  777. end
  778. lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)-- Y, X, Z
  779. lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Y, X, Z
  780. lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
  781. lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
  782. lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
  783. lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
  784. lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
  785. lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
  786. lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
  787. lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
  788. end
  789. end
  790. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement