Awooslayer699

Untitled

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