Advertisement
Void_scripter0

Vacuum

Jun 6th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.69 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
  2. do
  3. script.Parent = owner.Character
  4. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  5. local function NewFakeEvent()
  6. local Bind = Instance.new("BindableEvent")
  7. local Fake;Fake = {Connections = {},
  8. fakeEvent=true;
  9. Connect=function(self,Func)
  10. Bind.Event:connect(Func)
  11. self.Connections[Bind] = true
  12. return setmetatable({Connected = true},{
  13. __index = function (self,Index)
  14. if Index:lower() == "disconnect" then
  15. return function() Fake.Connections[Bind] = false;self.Connected = false end
  16. end
  17. return Fake[Index]
  18. end;
  19. __tostring = function() return "Connection" end;
  20. })
  21. end}
  22. Fake.connect = Fake.Connect;return Fake;
  23. end
  24. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  25. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  26. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  27. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  28. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  29. local function TriggerEvent(self,Event,...)
  30. local Trigger = Mouse[Event]
  31. if Trigger and Trigger.fakeEvent and Trigger.Connections then
  32. for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
  33. end
  34. end
  35. Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
  36. Event.OnServerEvent:Connect(function(FiredBy,Input)
  37. if FiredBy.Name ~= owner.Name then return end
  38. if Input.MouseEvent then
  39. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  40. else
  41. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  42. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
  43. for _,Action in pairs(ContextActionService.Actions) do
  44. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  45. end
  46. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  47. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  48. end
  49. end)
  50. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  51. Event.Parent = NLS([[
  52. local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
  53. local Input = function(Input,gameProcessedEvent)
  54. if gameProcessedEvent then return end
  55. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  56. end
  57. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  58. local Hit,Target
  59. while wait(1/30) do
  60. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  61. Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  62. end
  63. end
  64. ]],owner.Character)
  65. end
  66. RealGame = game;game = setmetatable({},{
  67. __index = function (self,Index)
  68. local Sandbox = function (Thing)
  69. if Thing:IsA("Player") then
  70. local RealPlayer = Thing
  71. return setmetatable({},{
  72. __index = function (self,Index)
  73. local Type = type(RealPlayer[Index])
  74. if Type == "function" then
  75. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  76. return function (self)return InternalData["Mouse"] end
  77. end
  78. return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  79. end
  80. return RealPlayer[Index]
  81. end;
  82. __tostring = function(self) return RealPlayer.Name end
  83. })
  84. end
  85. end
  86. if RealGame[Index] then
  87. local Type = type(RealGame[Index])
  88. if Type == "function" then
  89. if Index:lower() == "getservice" or Index:lower() == "service" then
  90. return function (self,Service)
  91. local FakeServices = {
  92. ["players"] = function()
  93. return setmetatable({},{
  94. __index = function (self2,Index2)
  95. local RealService = RealGame:GetService(Service)
  96. local Type2 = type(Index2)
  97. if Type2 == "function" then
  98. return function (self,...) return RealService[Index2](RealService,...)end
  99. else
  100. if Index2:lower() == "localplayer" then return Sandbox(owner) end
  101. return RealService[Index2]
  102. end
  103. end;
  104. __tostring = function(self) return RealGame:GetService(Service).Name end
  105. })
  106. end;
  107. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  108. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  109. ["runservice"] = function()
  110. return setmetatable({},{
  111. __index = function(self2,Index2)
  112. local RealService = RealGame:GetService(Service)
  113. local Type2 = type(Index2)
  114. if Type2 == "function" then
  115. return function (self,...) return RealService[Index2](RealService,...) end
  116. else
  117. local RunServices = {
  118. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  119. ["renderstepped"] = function() return RealService["Stepped"] end
  120. }
  121. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  122. return RealService[Index2]
  123. end
  124. end
  125. })
  126. end
  127. }
  128. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  129. return RealGame:GetService(Service)
  130. end
  131. end
  132. return function (self,...) return RealGame[Index](RealGame,...) end
  133. else
  134. if game:GetService(Index) then return game:GetService(Index) end
  135. return RealGame[Index]
  136. end
  137. end
  138. return nil
  139. end
  140. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
  141. --//====================================================\\--
  142. --|| CREATED BY SHACKLUSTER
  143. --\\====================================================//--
  144.  
  145.  
  146.  
  147. wait(0.2)
  148.  
  149.  
  150.  
  151. Player = game:GetService("Players").LocalPlayer
  152. PlayerGui = Player.PlayerGui
  153. Cam = workspace.CurrentCamera
  154. Backpack = Player.Backpack
  155. Character = Player.Character
  156. Humanoid = Character.Humanoid
  157. Mouse = Player:GetMouse()
  158. RootPart = Character["HumanoidRootPart"]
  159. Torso = Character["Torso"]
  160. Head = Character["Head"]
  161. RightArm = Character["Right Arm"]
  162. LeftArm = Character["Left Arm"]
  163. RightLeg = Character["Right Leg"]
  164. LeftLeg = Character["Left Leg"]
  165. RootJoint = RootPart["RootJoint"]
  166. Neck = Torso["Neck"]
  167. RightShoulder = Torso["Right Shoulder"]
  168. LeftShoulder = Torso["Left Shoulder"]
  169. RightHip = Torso["Right Hip"]
  170. LeftHip = Torso["Left Hip"]
  171. local sick = Instance.new("Sound",Torso)
  172. sick.SoundId = "rbxassetid://319444224"
  173. sick.Looped = true
  174. sick.Pitch = 1
  175. sick.Volume = 1
  176. local succing = {}
  177.  
  178. IT = Instance.new
  179. CF = CFrame.new
  180. VT = Vector3.new
  181. RAD = math.rad
  182. C3 = Color3.new
  183. UD2 = UDim2.new
  184. BRICKC = BrickColor.new
  185. ANGLES = CFrame.Angles
  186. EULER = CFrame.fromEulerAnglesXYZ
  187. COS = math.cos
  188. ACOS = math.acos
  189. SIN = math.sin
  190. ASIN = math.asin
  191. ABS = math.abs
  192. MRANDOM = math.random
  193. FLOOR = math.floor
  194.  
  195. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  196. local NEWMESH = IT(MESH)
  197. if MESH == "SpecialMesh" then
  198. NEWMESH.MeshType = MESHTYPE
  199. if MESHID ~= "nil" and MESHID ~= "" then
  200. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  201. end
  202. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  203. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  204. end
  205. end
  206. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  207. NEWMESH.Scale = SCALE
  208. NEWMESH.Parent = PARENT
  209. return NEWMESH
  210. end
  211.  
  212. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  213. local NEWPART = IT("Part")
  214. NEWPART.formFactor = FORMFACTOR
  215. NEWPART.Reflectance = REFLECTANCE
  216. NEWPART.Transparency = TRANSPARENCY
  217. NEWPART.CanCollide = false
  218. NEWPART.Locked = true
  219. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  220. NEWPART.Name = NAME
  221. NEWPART.Size = SIZE
  222. NEWPART.Position = Torso.Position
  223. NEWPART.Material = MATERIAL
  224. NEWPART:BreakJoints()
  225. NEWPART.Parent = PARENT
  226. return NEWPART
  227. end
  228.  
  229.  
  230. --//=================================\\
  231. --|| CUSTOMIZATION
  232. --\\=================================//
  233.  
  234. Class_Name = "Template"
  235. Weapon_Name = "Add-ons"
  236.  
  237. Custom_Colors = {
  238. Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
  239. Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
  240.  
  241. Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
  242. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  243. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  244. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  245. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  246.  
  247. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  248. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  249. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  250. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  251. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  252. }
  253.  
  254.  
  255. Player_Size = 1 --Size of the player.
  256. Animation_Speed = 3
  257. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  258.  
  259. local Speed = 16
  260. local Effects2 = {}
  261.  
  262. --//=================================\\
  263. --|| END OF CUSTOMIZATION
  264. --\\=================================//
  265.  
  266. local function weldBetween(a, b)
  267. local weldd = Instance.new("ManualWeld")
  268. weldd.Part0 = a
  269. weldd.Part1 = b
  270. weldd.C0 = CFrame.new()
  271. weldd.C1 = b.CFrame:inverse() * a.CFrame
  272. weldd.Parent = a
  273. return weldd
  274. end
  275.  
  276. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  277. local acs = Instance.new("Part")
  278. acs.CanCollide = false
  279. acs.Anchored = false
  280. acs.Size = Vector3.new(0,0,0)
  281. acs.CFrame = attachmentpart.CFrame
  282. acs.Parent = Character
  283. acs.BrickColor = color
  284. local meshs = Instance.new("SpecialMesh")
  285. meshs.MeshId = mesh
  286. meshs.TextureId = texture
  287. meshs.Parent = acs
  288. meshs.Scale = scale
  289. meshs.Offset = offset
  290. weldBetween(attachmentpart,acs)
  291. end
  292.  
  293. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  294. if TYPE == "Gem" then
  295. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  296. acs.Anchored = false
  297. acs.CanCollide = false
  298. acs.CFrame = PART.CFrame
  299. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  300. weldBetween(PART,acs)
  301. elseif TYPE == "Skull" then
  302. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  303. acs.Anchored = false
  304. acs.CanCollide = false
  305. acs.CFrame = PART.CFrame
  306. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  307. weldBetween(PART,acs)
  308. elseif TYPE == "Eye" then
  309. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  310. acs.Anchored = false
  311. acs.CanCollide = false
  312. acs.CFrame = PART.CFrame
  313. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  314. weldBetween(PART,acs)
  315. end
  316. end
  317.  
  318. --//=================================\\
  319. --|| USEFUL VALUES
  320. --\\=================================//
  321.  
  322. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  323. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  324. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  325. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  326. local CO1 = 0
  327. local CO2 = 0
  328. local CO3 = 0
  329. local CO4 = 0
  330. local CHANGEDEFENSE = 0
  331. local CHANGEDAMAGE = 0
  332. local CHANGEMOVEMENT = 0
  333. local ANIM = "Idle"
  334. local ATTACK = false
  335. local EQUIPPED = false
  336. local HOLD = false
  337. local COMBO = 1
  338. local LASTPOINT = nil
  339. local BLCF = nil
  340. local SCFR = nil
  341. local STAGGERHITANIM = false
  342. local STAGGERANIM = false
  343. local STUNANIM = false
  344. local CRITCHANCENUMBER = 0
  345. local IDLENUMBER = 0
  346. local DONUMBER = 0
  347. local HANDIDLE = false
  348. local SINE = 0
  349. local CHANGE = 2 / Animation_Speed
  350. local WALKINGANIM = false
  351. local WALK = 0
  352. local DISABLEJUMPING = false
  353. local HASBEENBLOCKED = false
  354. local STUNDELAYNUMBER = 0
  355. local MANADELAYNUMBER = 0
  356. local SECONDARYMANADELAYNUMBER = 0
  357. local ROBLOXIDLEANIMATION = IT("Animation")
  358. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  359. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  360. --ROBLOXIDLEANIMATION.Parent = Humanoid
  361. local WEAPONGUI = IT("ScreenGui", nil)
  362. WEAPONGUI.Name = "Weapon GUI"
  363. local WEAPONTOOL = IT("HopperBin", nil)
  364. WEAPONTOOL.Name = Weapon_Name
  365. local Weapon = IT("Model")
  366. Weapon.Name = Weapon_Name
  367. local Effects = IT("Folder", Weapon)
  368. Effects.Name = "Effects"
  369. local ANIMATOR = Humanoid.Animator
  370. local ANIMATE = Character.Animate
  371. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  372. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  373. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  374. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  375. local UNANCHOR = true
  376. local MAGICPARTICLE = "655109389"
  377.  
  378. --//=================================\\
  379. --\\=================================//
  380.  
  381.  
  382. --//=================================\\
  383. --|| DEBUFFS / BUFFS
  384. --\\=================================//
  385.  
  386. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  387. DEFENSECHANGE1.Name = "ChangeDefense"
  388. DEFENSECHANGE1.Value = 0
  389.  
  390. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  391. MOVEMENTCHANGE1.Name = "ChangeMovement"
  392. MOVEMENTCHANGE1.Value = 0
  393.  
  394. --//=================================\\
  395. --\\=================================//
  396.  
  397.  
  398.  
  399.  
  400.  
  401. --//=================================\\
  402. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  403. --\\=================================//
  404.  
  405. ArtificialHB = Instance.new("BindableEvent", script)
  406. ArtificialHB.Name = "ArtificialHB"
  407.  
  408. script:WaitForChild("ArtificialHB")
  409.  
  410. frame = Frame_Speed
  411. tf = 0
  412. allowframeloss = false
  413. tossremainder = false
  414. lastframe = tick()
  415. script.ArtificialHB:Fire()
  416.  
  417. game:GetService("RunService").Heartbeat:connect(function(s, p)
  418. tf = tf + s
  419. if tf >= frame then
  420. if allowframeloss then
  421. script.ArtificialHB:Fire()
  422. lastframe = tick()
  423. else
  424. for i = 1, math.floor(tf / frame) do
  425. script.ArtificialHB:Fire()
  426. end
  427. lastframe = tick()
  428. end
  429. if tossremainder then
  430. tf = 0
  431. else
  432. tf = tf - frame * math.floor(tf / frame)
  433. end
  434. end
  435. end)
  436.  
  437. --//=================================\\
  438. --\\=================================//
  439.  
  440.  
  441.  
  442.  
  443.  
  444. --//=================================\\
  445. --|| SOME FUNCTIONS
  446. --\\=================================//
  447.  
  448. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  449. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  450. end
  451.  
  452. function PositiveAngle(NUMBER)
  453. if NUMBER >= 0 then
  454. NUMBER = 0
  455. end
  456. return NUMBER
  457. end
  458.  
  459. function NegativeAngle(NUMBER)
  460. if NUMBER <= 0 then
  461. NUMBER = 0
  462. end
  463. return NUMBER
  464. end
  465.  
  466. function Swait(NUMBER)
  467. if NUMBER == 0 or NUMBER == nil then
  468. ArtificialHB.Event:wait()
  469. else
  470. for i = 1, NUMBER do
  471. ArtificialHB.Event:wait()
  472. end
  473. end
  474. end
  475.  
  476. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  477. local label = IT("TextLabel")
  478. label.BackgroundTransparency = 1
  479. label.Size = UD2(1, 0, 1, 0)
  480. label.Position = UD2(0, 0, 0, 0)
  481. label.TextColor3 = C3(255, 255, 255)
  482. label.TextStrokeTransparency = STROKETRANSPARENCY
  483. label.TextTransparency = TRANSPARENCY
  484. label.FontSize = TEXTFONTSIZE
  485. label.Font = TEXTFONT
  486. label.BorderSizePixel = BORDERSIZEPIXEL
  487. label.TextScaled = true
  488. label.Text = TEXT
  489. label.Name = NAME
  490. label.Parent = PARENT
  491. return label
  492. end
  493.  
  494. function NoOutlines(PART)
  495. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  496. end
  497.  
  498.  
  499. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  500. local NEWWELD = IT(TYPE)
  501. NEWWELD.Part0 = PART0
  502. NEWWELD.Part1 = PART1
  503. NEWWELD.C0 = C0
  504. NEWWELD.C1 = C1
  505. NEWWELD.Parent = PARENT
  506. return NEWWELD
  507. end
  508.  
  509. function CreateSound(ID, PARENT, VOLUME, PITCH)
  510. local NEWSOUND = nil
  511. coroutine.resume(coroutine.create(function()
  512. NEWSOUND = IT("Sound", PARENT)
  513. NEWSOUND.Volume = VOLUME
  514. NEWSOUND.Pitch = PITCH
  515. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  516. Swait()
  517. NEWSOUND:play()
  518. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  519. end))
  520. return NEWSOUND
  521. end
  522.  
  523. --//=================================\\
  524. --\\=================================//
  525.  
  526.  
  527. --//=================================\\
  528. --|| WEAPON CREATION
  529. --\\=================================//
  530.  
  531. if Player_Size ~= 1 then
  532. for _, v in pairs (Weapon:GetChildren()) do
  533. if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
  534. local p1 = v.Part1
  535. v.Part1 = nil
  536. local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
  537. v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
  538. v.Part1 = p1
  539. elseif v.ClassName == "Part" then
  540. for _, b in pairs (v:GetChildren()) do
  541. if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
  542. b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
  543. end
  544. end
  545. end
  546. end
  547. end
  548.  
  549. for _, c in pairs(Weapon:GetChildren()) do
  550. if c.ClassName == "Part" then
  551. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  552. end
  553. end
  554.  
  555. Weapon.Parent = Character
  556.  
  557. Humanoid.Died:connect(function()
  558. ATTACK = true
  559. end)
  560.  
  561. print(Class_Name.." loaded.")
  562.  
  563. --//=================================\\
  564. --\\=================================//
  565.  
  566.  
  567. local backpack = IT("Part",Weapon)
  568. backpack.Size = VT(0.15,0.15,0.15)
  569. local mesh = IT("SpecialMesh",backpack)
  570. mesh.MeshId = "rbxassetid://84313478"
  571. mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
  572. backpack.CFrame = Torso.CFrame * CF(0,0.2,1)
  573. backpack.BrickColor = BRICKC("Black")
  574. weldBetween(Torso,backpack)
  575.  
  576. local hose = IT("Part",Weapon)
  577. hose.Size = VT(0.15,0.15,0.15)
  578. local mesh = IT("SpecialMesh",hose)
  579. mesh.MeshId = "http://www.roblox.com/asset/?id=84313555"
  580. mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
  581. mesh.Scale = VT(2,2,2)
  582. mesh.Offset = VT(0, -0.4, -0.7)
  583. hose.CFrame = Torso.CFrame * CF(1.5,0.5,0.2) * ANGLES(RAD(90),RAD(35),RAD(180))
  584. hose.BrickColor = BRICKC("Black")
  585. weldBetween(Torso,hose)
  586.  
  587. local succ = IT("Part",Weapon)
  588. succ.Size = VT(2,2,2)
  589. succ.CanCollide = false
  590. succ.CFrame = Torso.CFrame * CF(1.5,1.3,-4) * ANGLES(RAD(90),RAD(0),RAD(180))
  591. succ.Transparency = 1
  592. succ.BrickColor = BRICKC("Black")
  593. weldBetween(Torso,succ)
  594.  
  595. for _, c in pairs(Weapon:GetChildren()) do
  596. if c.ClassName == "Part" then
  597. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  598. end
  599. end
  600.  
  601. local EyeSizes={
  602. NumberSequenceKeypoint.new(0,0.5,0),
  603. NumberSequenceKeypoint.new(1,0.2,0)
  604. }
  605. local EyeTrans={
  606. NumberSequenceKeypoint.new(0,0,0),
  607. NumberSequenceKeypoint.new(1,1,0)
  608. }
  609. local PE=Instance.new("ParticleEmitter")
  610. PE.LightEmission=0.3
  611. PE.Size=NumberSequence.new(EyeSizes)
  612. PE.Transparency=NumberSequence.new(EyeTrans)
  613. PE.Rotation=NumberRange.new(0,360)
  614. PE.LockedToPart = false
  615. PE.Speed = NumberRange.new(0,0,0)
  616. PE.ZOffset = 0.3
  617. PE.Rate = 999
  618. PE.VelocitySpread = 25
  619. PE.Name = "Particles"
  620.  
  621. function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
  622. local particle = nil
  623. coroutine.resume(coroutine.create(function(PART)
  624. particle = PE:Clone()
  625. Swait()
  626. particle.Rate = 999
  627. particle.Parent = art
  628. particle.Acceleration = accel
  629. if type == "Fire" then
  630. local EyeSizes={
  631. NumberSequenceKeypoint.new(0,size,size/2),
  632. NumberSequenceKeypoint.new(1,size/4,size/8)
  633. }
  634. particle.Size = NumberSequence.new(EyeSizes)
  635. elseif type == "Smoke" then
  636. local EyeSizes={
  637. NumberSequenceKeypoint.new(0,size/5,0),
  638. NumberSequenceKeypoint.new(1,size*2,0.5)
  639. }
  640. particle.Size = NumberSequence.new(EyeSizes)
  641. elseif type == "Solid" then
  642. local EyeSizes={
  643. NumberSequenceKeypoint.new(0,size,0),
  644. NumberSequenceKeypoint.new(1,size,0)
  645. }
  646. particle.Size = NumberSequence.new(EyeSizes)
  647. end
  648. particle.Lifetime=NumberRange.new(lifetime)
  649. particle.Drag = drag
  650. if locked == true then
  651. particle.LockedToPart = true
  652. end
  653. particle.Speed = NumberRange.new(speed*0.8,speed)
  654. particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
  655. particle.Enabled = isenabledbydefault
  656. particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
  657. end))
  658. return particle
  659. end
  660.  
  661. local poop = CreateParticles(succ,VT(0,0,0),5,2,"Smoke",false,false,5,35)
  662. local poop2 = CreateParticles(succ,VT(0,0,0),5,1,"Smoke",false,false,2,15)
  663.  
  664. --//=================================\\
  665. --|| DAMAGING
  666. --\\=================================//
  667.  
  668. function succnearest(position,range)
  669. for i,v in ipairs(workspace:GetChildren()) do
  670. local body = v:GetChildren()
  671. for part = 1, #body do
  672. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  673. if(body[part].Position - position).Magnitude < range then
  674. local bv = Instance.new("BodyVelocity")
  675. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  676. bv.velocity = CF(body[part].Position,succ.Position).lookVector*80
  677. bv.Parent = body[part]
  678. bv.Name = "SUCC"
  679. game:GetService("Debris"):AddItem(bv, 0.1)
  680. end
  681. end
  682. end
  683. if v.ClassName == "Part" then
  684. if v.Anchored == false and (v.Position - position).Magnitude < range then
  685. local bv = Instance.new("BodyVelocity")
  686. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  687. bv.velocity = CF(v.Position,succ.Position).lookVector*80
  688. bv.Parent = v
  689. bv.Name = "SUCC"
  690. game:GetService("Debris"):AddItem(bv, 0.1)
  691. end
  692. end
  693. end
  694. end
  695.  
  696. function cover(position,range)
  697. for i,v in ipairs(workspace:GetChildren()) do
  698. local body = v:GetChildren()
  699. for part = 1, #body do
  700. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  701. if(body[part].Position - position).Magnitude < range then
  702. CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
  703. if v:FindFirstChild("Humanoid") then
  704. v.Humanoid.PlatformStand = true
  705. end
  706. end
  707. end
  708. end
  709. if v.ClassName == "Part" then
  710. if v.Anchored == false and (v.Position - position).Magnitude < range then
  711. CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
  712. end
  713. end
  714. end
  715. end
  716.  
  717. function cough()
  718. CreateSound("328460122", succ, 3, 1)
  719. poop.VelocitySpread = 25
  720. poop:Emit(150)
  721. cover(CF(succ.Position)*CF(0,0,-1).p,15)
  722. end
  723.  
  724. --//=================================\\
  725. --|| ATTACK FUNCTIONS AND STUFF
  726. --\\=================================//
  727.  
  728. function CheckTableForString(Table, String)
  729. for i, v in pairs(Table) do
  730. if string.find(string.lower(String), string.lower(v)) then
  731. return true
  732. end
  733. end
  734. return false
  735. end
  736.  
  737. function CheckIntangible(Hit)
  738. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  739. if Hit and Hit.Parent then
  740. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  741. return true
  742. end
  743. end
  744. return false
  745. end
  746.  
  747. Debris = game:GetService("Debris")
  748.  
  749. function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  750. local Direction = CFrame.new(StartPos, Vec).lookVector
  751. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  752. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  753. if RayHit and CheckIntangible(RayHit) then
  754. if DelayIfHit then
  755. wait()
  756. end
  757. RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  758. end
  759. return RayHit, RayPos, RayNormal
  760. end
  761.  
  762. function turnto(pos,part)
  763. part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
  764. end
  765.  
  766. function vacuum()
  767. sick:Play()
  768. local nado = IT("Part")
  769. local mesh = IT("SpecialMesh",nado)
  770. mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
  771. nado.Transparency = 0.5
  772. nado.CanCollide = false
  773. nado.Anchored = true
  774. local loop = 0
  775. succing = {}
  776. local harm = succ.Touched:Connect(function(hit)
  777. if hit.Anchored == false then
  778. hit:remove()
  779. CreateSound("261732529", succ, 3, 1)
  780. poop2:Emit(1)
  781. end
  782. end)
  783. repeat
  784. Swait()
  785. loop = loop + 75
  786. nado.Parent = Effects
  787. local RayHit,RayPos = CastRay(succ.Position, Mouse.Hit.p, 1000, Character, false)
  788. local distance = (succ.Position - RayPos).magnitude
  789. mesh.Scale = VT(distance/12,distance/3.2,distance/12)
  790. nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0))
  791. turnto(Mouse.Hit.p,RootPart)
  792. succnearest(RayPos,distance/2.5)
  793. if RayHit ~= nil then
  794. if RayHit.Anchored == false then
  795. local bv = Instance.new("BodyVelocity")
  796. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  797. bv.velocity = CF(RayHit.Position,succ.Position).lookVector*80
  798. bv.Parent = RayHit
  799. bv.Name = "SUCC"
  800. game:GetService("Debris"):AddItem(bv, 0.1)
  801. end
  802. end
  803. local TotalSuccs = math.ceil(distance / 65)
  804. local Direction = CFrame.new(RayPos, succ.Position).lookVector
  805. for i = 1, TotalSuccs do
  806. local NewPos = (RayPos + (Direction * (distance * (i / TotalSuccs))))
  807. succnearest(NewPos,distance/(i*2.5))
  808. end
  809. until HOLD == false
  810. if #succing>0 then
  811. for e=1,#succing do
  812. if succing[e]~=nil then
  813. local Thing=succing[e]
  814. Thing:remove()
  815. table.remove(succing,e)
  816. end
  817. end
  818. end
  819. succing = {}
  820. harm:disconnect()
  821. nado:remove()
  822. sick:Stop()
  823. end
  824.  
  825. --//=================================\\
  826. --|| ASSIGN THINGS TO KEYS
  827. --\\=================================//
  828.  
  829. Humanoid.Changed:connect(function(Jump)
  830. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  831. Humanoid.Jump = false
  832. end
  833. end)
  834.  
  835. function MouseDown(Mouse)
  836. HOLD = true
  837. vacuum()
  838. end
  839.  
  840. function MouseUp(Mouse)
  841. HOLD = false
  842. end
  843.  
  844. function KeyDown(Key)
  845. if Key == "t" and ATTACK == false then
  846. CreateSound("743953262", Head, 3, 1)
  847. end
  848. if Key == "e" and ATTACK == false then
  849. cough()
  850. end
  851. end
  852.  
  853. function KeyUp(Key)
  854. end
  855.  
  856. Mouse.Button1Down:connect(function(NEWKEY)
  857. MouseDown(NEWKEY)
  858. end)
  859. Mouse.Button1Up:connect(function(NEWKEY)
  860. MouseUp(NEWKEY)
  861. end)
  862. Mouse.KeyDown:connect(function(NEWKEY)
  863. KeyDown(NEWKEY)
  864. end)
  865. Mouse.KeyUp:connect(function(NEWKEY)
  866. KeyUp(NEWKEY)
  867. end)
  868.  
  869. --//=================================\\
  870. --\\=================================//
  871.  
  872.  
  873. function unanchor()
  874. if UNANCHOR == true then
  875. g = Character:GetChildren()
  876. for i = 1, #g do
  877. if g[i].ClassName == "Part" then
  878. g[i].Anchored = false
  879. end
  880. end
  881. end
  882. end
  883.  
  884.  
  885. --//=================================\\
  886. --|| WRAP THE WHOLE SCRIPT UP
  887. --\\=================================//
  888.  
  889. Humanoid.Changed:connect(function(Jump)
  890. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  891. Humanoid.Jump = false
  892. end
  893. end)
  894.  
  895. while true do
  896. Swait()
  897. if #Effects2>0 then
  898. for e=1,#Effects2 do
  899. if Effects2[e]~=nil then
  900. local Thing=Effects2[e]
  901. if Thing~=nil then
  902. local Part=Thing[1]
  903. local Mode=Thing[2]
  904. local Delay=Thing[3]
  905. local IncX=Thing[4]
  906. local IncY=Thing[5]
  907. local IncZ=Thing[6]
  908. local Part2=Thing[8]
  909. if Thing[1].Transparency<=1 then
  910. if Thing[2]=="Block1" then
  911. Thing[1].CFrame=Thing[1].CFrame
  912. Mesh=Thing[1].Mesh
  913. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  914. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  915. elseif Thing[2]=="Cylinder" then
  916. Mesh=Thing[1].Mesh
  917. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  918. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  919. elseif Thing[2]=="Blood" then
  920. Mesh=Thing[7]
  921. Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
  922. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  923. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  924. elseif Thing[2]=="Elec" then
  925. Mesh=Thing[1].Mesh
  926. Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
  927. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  928. elseif Thing[2]=="Disappear" then
  929. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  930. end
  931. else
  932. Part.Parent=nil
  933. table.remove(Effects2,e)
  934. end
  935. end
  936. end
  937. end
  938. end
  939. unanchor()
  940. Humanoid.MaxHealth = "inf"
  941. Humanoid.Health = "inf"
  942. if Rooted == false then
  943. Disable_Jump = false
  944. Humanoid.WalkSpeed = Speed
  945. elseif Rooted == true then
  946. Disable_Jump = true
  947. Humanoid.WalkSpeed = 0
  948. end
  949. if sick == nil then
  950. sick = Instance.new("Sound",Torso)
  951. sick.SoundId = "rbxassetid://319444224"
  952. sick.Looped = true
  953. sick.Pitch = 1
  954. sick.Volume = 1
  955. end
  956. if #succing>0 then
  957. for e=1,#succing do
  958. if succing[e]~=nil then
  959. local Thing=succing[e]
  960. Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*80
  961. if HOLD == false then
  962. Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*0
  963. Thing:remove()
  964. table.remove(succing,e)
  965. end
  966. end
  967. end
  968. end
  969. end
  970.  
  971. --//=================================\\
  972. --\\=================================//
  973.  
  974.  
  975.  
  976.  
  977.  
  978. --//====================================================\\--
  979. --|| END OF SCRIPT
  980. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement