Advertisement
Tetezaza1542

ERROR

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