Advertisement
DarkScriptZEditors

Untitled

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