daily pastebin goal
57%
SHARE
TWEET

Untitled

a guest Dec 16th, 2018 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Created by Nebula_Zorua --
  2. -- Boreldi --
  3. -- I was bored --
  4. -- Discord: Nebula the Zorua#6969
  5. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  6.  
  7. wait(1/60)
  8.  
  9. --// Shortcut Variables \\--
  10. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  11. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  12. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  13. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  14. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
  15. local R3 = {N=Region3.new}
  16. local De = S.Debris
  17. local WS = workspace
  18. local Lght = S.Lighting
  19. local RepS = S.ReplicatedStorage
  20. local IN = Instance.new
  21. local Plrs = S.Players
  22.  
  23. --// Initializing \\--
  24. local plr = game.Players.Teop1
  25. local Char = plr.Character
  26. local Hum = Char:FindFirstChildOfClass'Humanoid'
  27. local RArm = Char["Right Arm"]
  28. local LArm = Char["Left Arm"]
  29. local RLeg = Char["Right Leg"]
  30. local LLeg = Char["Left Leg"]  
  31. local Root = Char:FindFirstChild'HumanoidRootPart'
  32. local Torso = Char.Torso
  33. local Head = Char.Head
  34. local NeutralAnims = true
  35. local Attack = false
  36. local Debounces = {Debounces={}}
  37. local Mouse = plr:GetMouse()
  38. local Hit = {}
  39. local Sine = 0
  40. local Change = 1
  41. local BloodPuddles = {}
  42.  
  43. local Effects = IN("Folder",Char)
  44. Effects.Name = "Effects"
  45.  
  46.  
  47. --// Debounce System \\--
  48.  
  49.  
  50. function Debounces:New(name,cooldown)
  51.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  52.     setmetatable(aaaaa,{__index = Debounces})
  53.     Debounces.Debounces[name] = aaaaa
  54.     return aaaaa
  55. end
  56.  
  57. function Debounces:Use(overrideUsable)
  58.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  59.     if(self.Usable or overrideUsable)then
  60.         self.Usable = false
  61.         self.CoolingDown = true
  62.         local LastUse = time()
  63.         self.LastUse = LastUse
  64.         delay(self.Cooldown or 2,function()
  65.             if(self.LastUse == LastUse)then
  66.                 self.CoolingDown = false
  67.                 self.Usable = true
  68.             end
  69.         end)
  70.     end
  71. end
  72.  
  73. function Debounces:Get(name)
  74.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  75.     for i,v in next, Debounces.Debounces do
  76.         if(i == name)then
  77.             return v;
  78.         end
  79.     end
  80. end
  81.  
  82. function Debounces:GetProgressPercentage()
  83.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  84.     if(self.CoolingDown and not self.Usable)then
  85.         return math.max(
  86.             math.floor(
  87.                 (
  88.                     (time()-self.LastUse)/self.Cooldown or 2
  89.                 )*100
  90.             )
  91.         )
  92.     else
  93.         return 100
  94.     end
  95. end
  96.  
  97. --// Instance Creation Functions \\--
  98. local baseSound = IN("Sound")
  99. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  100.     local Sound = baseSound:Clone()
  101.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  102.     Sound.Pitch = pitch or 1
  103.     Sound.Volume = volume or 1
  104.     Sound.Looped = looped or false
  105.     if(autoPlay)then
  106.         coroutine.wrap(function()
  107.             repeat wait() until Sound.IsLoaded
  108.             Sound.Playing = autoPlay or false
  109.         end)()
  110.     end
  111.     if(not looped and effect)then
  112.         Sound.Stopped:connect(function()
  113.             Sound.Volume = 0
  114.             Sound:destroy()
  115.         end)
  116.     elseif(effect)then
  117.         warn("Sound can't be looped and a sound effect!")
  118.     end
  119.     Sound.Parent =parent or Torso
  120.     return Sound
  121. end
  122. function Part(parent,color,material,size,cframe,anchored,cancollide)
  123.     local part = IN("Part")
  124.     part.Parent = parent or Char
  125.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  126.     part.Material = material or Enum.Material.SmoothPlastic
  127.     part.TopSurface,part.BottomSurface=10,10
  128.     part.Size = size or V3.N(1,1,1)
  129.     part.CFrame = cframe or CF.N(0,0,0)
  130.     part.CanCollide = cancollide or false
  131.     part.Anchored = anchored or false
  132.     return part
  133. end
  134.  
  135. function Weld(part0,part1,c0,c1)
  136.     local weld = IN("Weld")
  137.     weld.Parent = part0
  138.     weld.Part0 = part0
  139.     weld.Part1 = part1
  140.     weld.C0 = c0 or CF.N()
  141.     weld.C1 = c1 or CF.N()
  142.     return weld
  143. end
  144.  
  145. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  146.     local part = IN("SpecialMesh")
  147.     part.MeshId = meshid or ""
  148.     part.TextureId = textid or ""
  149.     part.Scale = scale or V3.N(1,1,1)
  150.     part.Offset = offset or V3.N(0,0,0)
  151.     part.MeshType = meshtype or Enum.MeshType.Sphere
  152.     part.Parent = parent
  153.     return part
  154. end
  155.  
  156. NewInstance = function(instance,parent,properties)
  157.     local inst = Instance.new(instance)
  158.     inst.Parent = parent
  159.     if(properties)then
  160.         for i,v in next, properties do
  161.             pcall(function() inst[i] = v end)
  162.         end
  163.     end
  164.     return inst;
  165. end
  166.  
  167. function Clone(instance,parent,properties)
  168.     local inst = instance:Clone()
  169.     inst.Parent = parent
  170.     if(properties)then
  171.         for i,v in next, properties do
  172.             pcall(function() inst[i] = v end)
  173.         end
  174.     end
  175.     return inst;
  176. end
  177.  
  178. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  179.     local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  180.     local Sound = IN("Sound")
  181.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  182.     Sound.Pitch = pitch or 1
  183.     Sound.Volume = volume or 1
  184.     Sound.Looped = looped or false
  185.     if(autoPlay)then
  186.         coroutine.wrap(function()
  187.             repeat wait() until Sound.IsLoaded
  188.             Sound.Playing = autoPlay or false
  189.         end)()
  190.     end
  191.     if(not looped and effect)then
  192.         Sound.Stopped:connect(function()
  193.             Sound.Volume = 0
  194.             soundPart:destroy()
  195.         end)
  196.     elseif(effect)then
  197.         warn("Sound can't be looped and a sound effect!")
  198.     end
  199.     Sound.Parent = soundPart
  200.     return Sound
  201. end
  202.  
  203.  
  204. --// Extended ROBLOX tables \\--
  205. local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
  206. --// Require stuff \\--
  207. function CamShake(who,times,intense,origin)
  208.     coroutine.wrap(function()
  209.         if(script:FindFirstChild'CamShake')then
  210.             local cam = script.CamShake:Clone()
  211.             cam:WaitForChild'intensity'.Value = intense
  212.             cam:WaitForChild'times'.Value = times
  213.            
  214.             if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  215.             cam.Parent = who
  216.             wait()
  217.             cam.Disabled = false
  218.         elseif(who == Plr or who == Char or who:IsDescendantOf(Plr))then
  219.             local intensity = intense
  220.             if(Hum and not Hum:FindFirstChild'CamShaking')then
  221.                 local cam = workspace.CurrentCamera
  222.                 local oCO = Hum.CameraOffset
  223.                 local cs = Instance.new("BoolValue",Hum)
  224.                 cs.Name = "CamShaking"
  225.                 for i = 1, times do
  226.                     local camDistFromOrigin
  227.                     if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  228.                         camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin.Position).magnitude )/25
  229.                     elseif(typeof(origin) == 'Vector3')then
  230.                         camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin).magnitude )/25
  231.                     end
  232.                     if(camDistFromOrigin)then
  233.                         intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  234.                     end
  235.                     --cam.CoordinateFrame = cam.CoordinateFrame*CFrame.fromEulerAnglesXYZ(math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200)
  236.                     if(Hum)then
  237.                         Hum.CameraOffset = Vector3.new(math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200)
  238.                     end
  239.                     swait()
  240.                 end
  241.                 if(Hum)then
  242.                     Hum.CameraOffset = oCO
  243.                 end
  244.                 cs:destroy()
  245.             end
  246.         end
  247.     end)()
  248. end
  249.  
  250.  
  251. function CamShakeAll(times,intense,origin)
  252.     for _,v in next, Plrs:players() do
  253.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  254.     end
  255. end
  256.  
  257. function ServerScript(code)
  258.     if(script:FindFirstChild'Loadstring')then
  259.         local load = script.Loadstring:Clone()
  260.         load:WaitForChild'Sauce'.Value = code
  261.         load.Disabled = false
  262.         load.Parent = workspace
  263.     elseif(NS and typeof(NS) == 'function')then
  264.         NS(code,workspace)
  265.     else
  266.         warn("no serverscripts lol")
  267.     end
  268. end
  269.  
  270. function LocalOnPlayer(who,code)
  271.     ServerScript([[
  272.         wait()
  273.         script.Parent=nil
  274.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  275.        
  276.         local Http = _G.Http or game:service'HttpService'
  277.        
  278.         local source = ]].."[["..code.."]]"..[[
  279.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  280.         local asd = Http:PostAsync(link,source)
  281.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  282.         local ID = Http:JSONDecode(asd).Result.Require_ID
  283.         local vs = require(ID).VORTH_SCRIPT
  284.         vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  285.     ]])
  286. end
  287.  
  288.  
  289. --// Customization \\--
  290.  
  291. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  292. local Remove_Hats = true
  293. local Remove_Clothing = true
  294. local PlayerSize = 1
  295. local DamageColor = BrickColor.new'Really red'
  296. local MusicID = 1718183351
  297. local God = false
  298. local Muted = false
  299. local angerCounter = 1; -- lower = faster
  300. local angry = false
  301.  
  302. local WalkSpeed = 16
  303.  
  304. --// Weapon and GUI creation, and Character Customization \\--
  305.  
  306. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  307. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  308.  
  309. local rule = Part(Char,BrickColor.new'Linen',Enum.Material.Wood,V3.N(.2,.5,4),CF.N(),false,false)
  310. local rd = NewInstance("Decal",rule,{Texture='rbxassetid://109519158',Face='Right'})
  311. local ld = NewInstance("Decal",rule,{Texture='rbxassetid://109519158',Face='Left'})
  312.  
  313. if(PlayerSize ~= 1)then
  314.     for _,v in next, Char:GetDescendants() do
  315.         if(v:IsA'BasePart')then
  316.             v.Size = v.Size * PlayerSize
  317.         end
  318.     end
  319. end
  320.  
  321.  
  322. local Music = Sound(Char,MusicID,1,3,true,false,true)
  323. Music.Name = 'Music'
  324.  
  325. --// Stop animations \\--
  326. for _,v in next, Hum:GetPlayingAnimationTracks() do
  327.     v:Stop();
  328. end
  329.  
  330. pcall(game.Destroy,Char:FindFirstChild'Animate')
  331. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  332.  
  333. --// Joints \\--
  334.  
  335. local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
  336. local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
  337. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  338. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  339. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  340. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  341. local HW = NewInstance('Motor',Char,{Part0=RArm,Part1=rule,C0=CF.N(0,-1,-1)})
  342.  
  343. local LSC0 = LS.C0
  344. local RSC0 = RS.C0
  345. local NKC0 = NK.C0
  346. local LHC0 = LH.C0
  347. local RHC0 = RH.C0
  348. local RJC0 = RJ.C0
  349.  
  350. --// Artificial HB \\--
  351.  
  352. local ArtificialHB = IN("BindableEvent", script)
  353. ArtificialHB.Name = "Heartbeat"
  354.  
  355. script:WaitForChild("Heartbeat")
  356.  
  357. local tf = 0
  358. local allowframeloss = false
  359. local tossremainder = false
  360. local lastframe = tick()
  361. local frame = 1/Frame_Speed
  362. ArtificialHB:Fire()
  363.  
  364. game:GetService("RunService").Heartbeat:connect(function(s, p)
  365.     tf = tf + s
  366.     if tf >= frame then
  367.         if allowframeloss then
  368.             script.Heartbeat:Fire()
  369.             lastframe = tick()
  370.         else
  371.             for i = 1, math.floor(tf / frame) do
  372.                 ArtificialHB:Fire()
  373.             end
  374.             lastframe = tick()
  375.         end
  376.         if tossremainder then
  377.             tf = 0
  378.         else
  379.             tf = tf - frame * math.floor(tf / frame)
  380.         end
  381.     end
  382. end)
  383.  
  384. function swait(num)
  385.     if num == 0 or num == nil then
  386.         ArtificialHB.Event:wait()
  387.     else
  388.         for i = 0, num do
  389.             ArtificialHB.Event:wait()
  390.         end
  391.     end
  392. end
  393.  
  394.  
  395. --// Effect Function(s) \\--
  396.  
  397. function NoobySphere(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,MeshId,Axis)
  398.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  399.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  400.     local Scale = 1
  401.     local speeder = Speed
  402.     if(Type == "Multiply")then
  403.         Scale = 1*Inc
  404.     elseif(Type == "Divide")then
  405.         Scale = 1/Inc
  406.     end
  407.     coroutine.wrap(function()
  408.         for i = 0,10/Lifetime,.1 do
  409.            
  410.             if(Type == "Multiply")then
  411.                 Scale = Scale - 0.01*Inc/Lifetime
  412.             elseif(Type == "Divide")then
  413.                 Scale = Scale - 0.01/Inc*Lifetime
  414.             end
  415.             speeder = speeder - 0.01*Speed*Lifetime
  416.             fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  417.             fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  418.             if(Axis == 'x')then
  419.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, 0, 0)
  420.             elseif(Axis == 'y')then
  421.                 fxM.Scale = fxM.Scale + Vector3.new(0, Scale*Lifetime, 0)
  422.             elseif(Axis == 'z')then
  423.                 fxM.Scale = fxM.Scale + Vector3.new(0, 0, Scale*Lifetime)
  424.             elseif(Axis == 'xyz')then
  425.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,Scale*Lifetime,Scale*Lifetime)
  426.             elseif(Axis == 'yz')then
  427.                 fxM.Scale = fxM.Scale + Vector3.new(0,Scale*Lifetime,Scale*Lifetime)
  428.             elseif(Axis == 'xz')then
  429.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,0,Scale*Lifetime)
  430.             else
  431.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, 0)
  432.             end
  433.             if(fxP.Transparency >= 1)then break end
  434.             swait()
  435.         end
  436.         fxP:destroy()
  437.     end)()
  438.     return fxP
  439. end
  440.  
  441. function NoobySphere2(Lifetime,Type,Pos,StartSize,Inc,Color,MeshId)
  442.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos,true,false)
  443.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  444.  
  445.     local Scale = 1
  446.     if(Type == "Multiply")then
  447.         Scale = 1*Inc
  448.     elseif(Type == "Divide")then
  449.         Scale = 1/Inc
  450.     end
  451.     coroutine.wrap(function()
  452.         for i = 0,10/Lifetime,.1 do
  453.  
  454.             if(Type == "Multiply")then
  455.                 Scale = Scale - 0.01*Inc/Lifetime
  456.             elseif(Type == "Divide")then
  457.                 Scale = Scale - 0.01/Inc*Lifetime
  458.             end
  459.             fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  460.             fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  461.             swait()
  462.         end
  463.         fxP:destroy()
  464.     end)()
  465. end
  466.  
  467. function NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
  468.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  469.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Brick),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  470.     local Scale = 1
  471.     local speeder = Speed
  472.     if(Type == "Multiply")then
  473.         Scale = 1*Inc
  474.     elseif(Type == "Divide")then
  475.         Scale = 1/Inc
  476.     end
  477.     coroutine.wrap(function()
  478.         for i = 0,10/Lifetime,.1 do
  479.             if(Type == "Multiply")then
  480.                 Scale = Scale - 0.01*Inc/Lifetime
  481.             elseif(Type == "Divide")then
  482.                 Scale = Scale - 0.01/Inc*Lifetime
  483.             end
  484.             if(Fade)then
  485.                 fxP.Transparency = i/(10/Lifetime)
  486.             end
  487.             speeder = speeder - 0.01*Speed*Lifetime/10
  488.             fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  489.             fxM.Scale = fxM.Scale - Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  490.             swait()
  491.         end
  492.         fxP:destroy()
  493.     end)()
  494. end
  495.  
  496. function Bezier(startpos, pos2, pos3, endpos, t)
  497.     local A = startpos:lerp(pos2, t)
  498.     local B  = pos2:lerp(pos3, t)
  499.     local C = pos3:lerp(endpos, t)
  500.     local lerp1 = A:lerp(B, t)
  501.     local lerp2 = B:lerp(C, t)
  502.     local cubic = lerp1:lerp(lerp2, t)
  503.     return cubic
  504. end
  505. function Puddle(hit,pos,norm,data)
  506.     local material = data.Material or Enum.Material.SmoothPlastic
  507.     local color = data.Color or BrickColor.new'Crimson'
  508.     local size = data.Size or 1
  509.        
  510.     if(hit.Name ~= 'BloodPuddle')then
  511.         local Puddle = NewInstance('Part',workspace,{Material=material,BrickColor=color,Size=V3.N(size,.1,size),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
  512.         local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  513.         BloodPuddles[Puddle] = 0
  514.     else
  515.         local cyl = hit:FindFirstChild'CylinderMesh'
  516.         if(cyl)then
  517.             BloodPuddles[hit] = 0
  518.             cyl.Scale = cyl.Scale + V3.N(size,0,size)
  519.             hit.Transparency = 0
  520.         end
  521.     end
  522. end
  523.  
  524. function Droplet(data)
  525.     --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  526.     local Size = data.Size or 1
  527.     local Color = data.Color or BrickColor.new'Crimson'
  528.     local StudsPerFrame = data.Speed or 1
  529.     local Shape = data.Shape or 'Ball'
  530.     local Frames = (data.Frames or 160)+1
  531.     local Pos = data.Origin or Root.CFrame
  532.     local Direction = data.Direction or Root.CFrame.lookVector*100000
  533.     local Material = data.Material or Enum.Material.SmoothPlastic
  534.     local Drop = data.Drop or .05
  535.     local Ignorelist = data.Ignorelist or nil
  536.    
  537.     local Bullet = Part(Effects,Color,Material,V3.N(Size,Size,Size),Pos,true,false)
  538.     local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  539.     if(Shape == 'Ball')then
  540.         BMesh.MeshType = Enum.MeshType.Sphere
  541.     elseif(Shape == 'Head')then
  542.         BMesh.MeshType = Enum.MeshType.Head
  543.     elseif(Shape == 'Cylinder')then
  544.         BMesh.MeshType = Enum.MeshType.Cylinder
  545.     end
  546.    
  547.     coroutine.wrap(function()
  548.         for i = 1, Frames do
  549.             Pos = Pos * CF.N(0,-(Drop*i),0)
  550.             local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i)).p,StudsPerFrame)
  551.             if(hit and (not hit.Parent or not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent:IsA'Accessory'))then
  552.                 Puddle(hit,pos,norm,data)
  553.                 break;
  554.             else
  555.                 Bullet.CFrame = CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i))
  556.             end
  557.             swait()
  558.         end
  559.         Bullet:destroy()
  560.     end)()
  561. end
  562.  
  563. function SphereFX(duration,color,scale,pos,endScale,increment)
  564.     return Effect{
  565.         Effect='ResizeAndFade',
  566.         Color=color,
  567.         Size=scale,
  568.         Mesh={MeshType=Enum.MeshType.Sphere},
  569.         CFrame=pos,
  570.         FXSettings={
  571.             EndSize=endScale,
  572.             EndIsIncrement=increment
  573.         }
  574.     }
  575. end
  576.  
  577. function BlastFX(duration,color,scale,pos,endScale,increment)
  578.     return Effect{
  579.         Effect='ResizeAndFade',
  580.         Color=color,
  581.         Size=scale,
  582.         Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
  583.         CFrame=pos,
  584.         FXSettings={
  585.             EndSize=endScale,
  586.             EndIsIncrement=increment
  587.         }
  588.     }
  589. end
  590.  
  591. function BlockFX(duration,color,scale,pos,endScale,increment)
  592.     return Effect{
  593.         Effect='ResizeAndFade',
  594.         Color=color,
  595.         Size=scale,
  596.         CFrame=pos,
  597.         FXSettings={
  598.             EndSize=endScale,
  599.             EndIsIncrement=increment
  600.         }
  601.     }
  602. end
  603.  
  604. function ShootBullet(data)
  605.     --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  606.     local Size = data.Size or V3.N(2,2,2)
  607.     local Color = data.Color or BrickColor.new'Crimson'
  608.     local StudsPerFrame = data.Speed or 10
  609.     local Shape = data.Shape or 'Ball'
  610.     local Frames = data.Frames or 160
  611.     local Pos = data.Origin or Torso.CFrame
  612.     local Direction = data.Direction or Mouse.Hit
  613.     local Material = data.Material or Enum.Material.Neon
  614.     local OnHit = data.HitFunction or function(hit,pos)
  615.         Effect{
  616.             Effect='ResizeAndFade',
  617.             Color=Color,
  618.             Size=V3.N(10,10,10),
  619.             Mesh={MeshType=Enum.MeshType.Sphere},
  620.             CFrame=CF.N(pos),
  621.             FXSettings={
  622.                 EndSize=V3.N(.05,.05,.05),
  623.                 EndIsIncrement=true
  624.             }
  625.         }
  626.         for i = 1, 5 do
  627.             local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  628.             Effect{
  629.                 Effect='Fade',
  630.                 Frames=65,
  631.                 Size=V3.N(5,5,10),
  632.                 CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
  633.                 Mesh = {MeshType=Enum.MeshType.Sphere},
  634.                 Material=Enum.Material.Neon,
  635.                 Color=Color,
  636.                 MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  637.             }  
  638.         end
  639.     end
  640.    
  641.     local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
  642.     local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  643.     if(Shape == 'Ball')then
  644.         BMesh.MeshType = Enum.MeshType.Sphere
  645.     elseif(Shape == 'Head')then
  646.         BMesh.MeshType = Enum.MeshType.Head
  647.     elseif(Shape == 'Cylinder')then
  648.         BMesh.MeshType = Enum.MeshType.Cylinder
  649.     end
  650.    
  651.     coroutine.wrap(function()
  652.         for i = 1, Frames+1 do
  653.             local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
  654.             if(hit)then
  655.                 OnHit(hit,pos,norm,dist)
  656.                 break;
  657.             else
  658.                 Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
  659.             end
  660.             swait()
  661.         end
  662.         Bullet:destroy()
  663.     end)()
  664.    
  665. end
  666.  
  667.  
  668. function Zap(data)
  669.     local sCF,eCF = data.StartCFrame,data.EndCFrame
  670.     assert(sCF,"You need a start CFrame!")
  671.     assert(eCF,"You need an end CFrame!")
  672.     local parts = data.PartCount or 15
  673.     local zapRot = data.ZapRotation or {-5,5}
  674.     local startThick = data.StartSize or 3;
  675.     local endThick = data.EndSize or startThick/2;
  676.     local color = data.Color or BrickColor.new'Electric blue'
  677.     local delay = data.Delay or 35
  678.     local delayInc = data.DelayInc or 0
  679.     local lastLightning;
  680.     local MagZ = (sCF.p - eCF.p).magnitude
  681.     local thick = startThick
  682.     local inc = (startThick/parts)-(endThick/parts)
  683.    
  684.     for i = 1, parts do
  685.         local pos = sCF.p
  686.         if(lastLightning)then
  687.             pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  688.         end
  689.         delay = delay + delayInc
  690.         local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  691.         local posie = CF.N(pos,eCF.p)*CF.N(0,0,MagZ/parts).p+V3.N(M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)))
  692.         if(parts == i)then
  693.             local MagZ = (pos-eCF.p).magnitude
  694.             zapPart.Size = V3.N(endThick,endThick,MagZ)
  695.             zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  696.             Effect{Effect='ResizeAndFade',Size=V3.N(thick,thick,thick),CFrame=eCF*CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180)),Color=color,Frames=delay*2,FXSettings={EndSize=V3.N(thick*8,thick*8,thick*8)}}
  697.         else
  698.             zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  699.         end
  700.        
  701.         lastLightning = zapPart
  702.         Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  703.        
  704.         thick=thick-inc
  705.        
  706.     end
  707. end
  708.  
  709. function Zap2(data)
  710.     local Color = data.Color or BrickColor.new'Electric blue'
  711.     local StartPos = data.Start or Torso.Position
  712.     local EndPos = data.End or Mouse.Hit.p
  713.     local SegLength = data.SegL or 2
  714.     local Thicc = data.Thickness or 0.5
  715.     local Fades = data.Fade or 45
  716.     local Parent = data.Parent or Effects
  717.     local MaxD = data.MaxDist or 200
  718.     local Branch = data.Branches or false
  719.     local Material = data.Material or Enum.Material.Neon
  720.     local Raycasts = data.Raycasts or false
  721.     local Offset = data.Offset or {0,360}
  722.     local AddMesh = (data.Mesh == nil and true or data.Mesh)
  723.     if((StartPos-EndPos).magnitude > MaxD)then
  724.         EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  725.     end
  726.     local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  727.     if(Raycasts)then
  728.         hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)  
  729.     end
  730.     local segments = dist/SegLength
  731.     local model = IN("Model",Parent)
  732.     model.Name = 'Lightning'
  733.     local Last;
  734.     for i = 1, segments do
  735.         local size = (segments-i)/25
  736.         local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  737.         if(AddMesh)then IN("CylinderMesh",prt) end
  738.         if(Last and math.floor(segments) == i)then
  739.             local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  740.             prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  741.             prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,EndPos)*CF.A(M.R(90),0,0)*CF.N(0,-MagZ/2,0) 
  742.         elseif(not Last)then
  743.             prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)   
  744.         else
  745.             prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,CF.N(pos)*CF.A(M.R(M.RNG(0,360)),M.R(M.RNG(0,360)),M.R(M.RNG(0,360)))*CF.N(0,0,SegLength/3+(segments-i)).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  746.         end
  747.         Last = prt
  748.         if(Branch)then
  749.             local choice = M.RNG(1,7+((segments-i)*2))
  750.             if(choice == 1)then
  751.                 local LastB;
  752.                 for i2 = 1,M.RNG(2,5) do
  753.                     local size2 = ((segments-i)/35)/i2
  754.                     local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  755.                     if(AddMesh)then IN("CylinderMesh",prt) end
  756.                     if(not LastB)then
  757.                         prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,Last.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  758.                     else
  759.                         prt.CFrame = CF.N(LastB.CFrame*CF.N(0,-SegLength/2,0).p,LastB.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  760.                     end
  761.                     LastB = prt
  762.                 end
  763.             end
  764.         end
  765.     end
  766.     if(Fades > 0)then
  767.         coroutine.wrap(function()
  768.             for i = 1, Fades do
  769.                 for _,v in next, model:children() do
  770.                     if(v:IsA'BasePart')then
  771.                         v.Transparency = (i/Fades)
  772.                     end
  773.                 end
  774.                 swait()
  775.             end
  776.             model:destroy()
  777.         end)()
  778.     else
  779.         S.Debris:AddItem(model,.01)
  780.     end
  781.     return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  782. end
  783.  
  784. function Tween(obj,props,time,easing,direction,repeats,backwards)
  785.     local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  786.     local tween = S.TweenService:Create(obj, info, props)
  787.    
  788.     tween:Play()
  789. end
  790.  
  791. function Effect(data)
  792.     local FX = data.Effect or 'ResizeAndFade'
  793.     local Parent = data.Parent or Effects
  794.     local Color = data.Color or C3.N(0,0,0)
  795.     local Size = data.Size or V3.N(1,1,1)
  796.     local MoveDir = data.MoveDirection or nil
  797.     local MeshData = data.Mesh or nil
  798.     local SndData = data.Sound or nil
  799.     local Frames = data.Frames or 45
  800.     local Manual = data.Manual or nil
  801.     local Material = data.Material or nil
  802.     local CFra = data.CFrame or Torso.CFrame
  803.     local Settings = data.FXSettings or {}
  804.     local Shape = data.Shape or Enum.PartType.Block
  805.     local Snd,Prt,Msh;
  806.     local RotInc = data.RotInc or {0,0,0}
  807.     if(typeof(RotInc) == 'number')then
  808.         RotInc = {RotInc,RotInc,RotInc}
  809.     end
  810.     coroutine.wrap(function()
  811.         if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  812.             Prt = Manual
  813.         else
  814.             Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  815.             Prt.Shape = Shape
  816.         end
  817.         if(typeof(MeshData) == 'table')then
  818.             Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  819.         elseif(typeof(MeshData) == 'Instance')then
  820.             Msh = MeshData:Clone()
  821.             Msh.Parent = Prt
  822.         elseif(Shape == Enum.PartType.Block)then
  823.             Msh = Mesh(Prt,Enum.MeshType.Brick)
  824.         end
  825.         if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
  826.             Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  827.         end
  828.         if(Snd)then
  829.             repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  830.             Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  831.         end
  832.         Size = (Msh and Msh.Scale or Size)
  833.         local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
  834.        
  835.         local MoveSpeed = nil;
  836.         if(MoveDir)then
  837.             MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  838.         end
  839.         if(FX ~= 'Arc')then
  840.             for Frame = 1, Frames do
  841.                 if(FX == "Fade")then
  842.                     Prt.Transparency  = (Frame/Frames)
  843.                 elseif(FX == "Resize")then
  844.                     if(not Settings.EndSize)then
  845.                         Settings.EndSize = V3.N(0,0,0)
  846.                     end
  847.                     if(Settings.EndIsIncrement)then
  848.                         if(Msh)then
  849.                             Msh.Scale = Msh.Scale + Settings.EndSize
  850.                         else
  851.                             Prt.Size = Prt.Size + Settings.EndSize
  852.                         end                
  853.                     else
  854.                         if(Msh)then
  855.                             Msh.Scale = Msh.Scale - grow/Frames
  856.                         else
  857.                             Prt.Size = Prt.Size - grow/Frames
  858.                         end
  859.                     end
  860.                 elseif(FX == "ResizeAndFade")then
  861.                     if(not Settings.EndSize)then
  862.                         Settings.EndSize = V3.N(0,0,0)
  863.                     end
  864.                     if(Settings.EndIsIncrement)then
  865.                         if(Msh)then
  866.                             Msh.Scale = Msh.Scale + Settings.EndSize
  867.                         else
  868.                             Prt.Size = Prt.Size + Settings.EndSize
  869.                         end                
  870.                     else
  871.                         if(Msh)then
  872.                             Msh.Scale = Msh.Scale - grow/Frames
  873.                         else
  874.                             Prt.Size = Prt.Size - grow/Frames
  875.                         end
  876.                     end
  877.                     Prt.Transparency = (Frame/Frames)
  878.                 end
  879.                 if(Settings.RandomizeCFrame)then
  880.                     Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  881.                 else
  882.                     Prt.CFrame = Prt.CFrame * CF.A(unpack(RotInc))
  883.                 end
  884.                 if(MoveDir and MoveSpeed)then
  885.                     local Orientation = Prt.Orientation
  886.                     Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  887.                     Prt.Orientation = Orientation
  888.                 end
  889.                 swait()
  890.             end
  891.             Prt:destroy()
  892.         else
  893.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  894.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  895.             if(start and endP)then
  896.                 local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  897.                 local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  898.                 for Frame = 0, 1, (Settings.Speed or 0.01) do
  899.                     if(Settings.Home)then
  900.                         endP = Settings.Home.CFrame
  901.                     end
  902.                     Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  903.                 end
  904.                 if(Settings.RemoveOnGoal)then
  905.                     Prt:destroy()
  906.                 end
  907.             else
  908.                 Prt:destroy()
  909.                 assert(start,"You need a start position!")
  910.                 assert(endP,"You need a start position!")
  911.             end
  912.         end
  913.     end)()
  914.     return Prt,Msh,Snd
  915. end
  916. function SoulSteal(whom)
  917.     local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
  918.     print(torso)
  919.     if(torso and torso:IsA'BasePart')then
  920.         local Model = Instance.new("Model",Effects)
  921.         Model.Name = whom.Name.."'s Soul"
  922.         whom:BreakJoints()
  923.         local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
  924.         Soul.Name = 'Head'
  925.         NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
  926.         Effect{
  927.             Effect="Arc",
  928.             Manual = Soul,
  929.             FXSettings={
  930.                 Start=torso.CFrame,
  931.                 Home = Torso,
  932.                 RemoveOnGoal = true,
  933.             }
  934.         }
  935.         local lastPoint = Soul.CFrame.p
  936.    
  937.         for i = 0, 1, 0.01 do
  938.                 local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
  939.                 local mag = (lastPoint - Soul.Position).magnitude
  940.                 Effect{
  941.                     Effect = "Fade",
  942.                     CFrame = point * CF.N(0, mag/2, 0),
  943.                     Size = V3.N(.5,mag+.5,.5),
  944.                     Color = Soul.BrickColor
  945.                 }
  946.                 lastPoint = Soul.CFrame.p
  947.             swait()
  948.         end
  949.         for i = 1, 5 do
  950.             Effect{
  951.                 Effect="Fade",
  952.                 Color = BrickColor.new'Really red',
  953.                 MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  954.             }  
  955.         end
  956.     end
  957. end
  958.  
  959. --// Other Functions \\ --
  960.  
  961. function CastRay(startPos,endPos,range,ignoreList)
  962.     local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  963.     local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  964.     return part,pos,norm,(pos and (startPos-pos).magnitude)
  965. end
  966.  
  967. function getRegion(point,range,ignore)
  968.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  969. end
  970.  
  971. function clerp(startCF,endCF,alpha)
  972.     return startCF:lerp(endCF, alpha)
  973. end
  974.  
  975. function GetTorso(char)
  976.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  977. end
  978.  
  979.  
  980. function ShowDamage(Pos, Text, Time, Color)
  981.     coroutine.wrap(function()
  982.     local Rate = (1 / Frame_Speed)
  983.     local Pos = (Pos or Vector3.new(0, 0, 0))
  984.     local Text = (Text or "")
  985.     local Time = (Time or 2)
  986.     local Color = (Color or Color3.new(1, 0, 1))
  987.     local EffectPart = NewInstance("Part",Effects,{
  988.         Material=Enum.Material.SmoothPlastic,
  989.         Reflectance = 0,
  990.         Transparency = 1,
  991.         BrickColor = BrickColor.new(Color),
  992.         Name = "Effect",
  993.         Size = Vector3.new(0,0,0),
  994.         Anchored = true,
  995.         CFrame = CF.N(Pos)
  996.     })
  997.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  998.         Size = UDim2.new(1.25, 0, 1.25, 0),
  999.         Adornee = EffectPart,
  1000.     })
  1001.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1002.         BackgroundTransparency = 1,
  1003.         Size = UDim2.new(1, 0, 1, 0),
  1004.         Text = Text,
  1005.         Font = "Bodoni",
  1006.         TextColor3 = Color,
  1007.         TextStrokeColor3 = Color3.new(0,0,0),
  1008.         TextStrokeTransparency=0,
  1009.         TextScaled = true,
  1010.     })
  1011.     S.Debris:AddItem(EffectPart, (Time))
  1012.     EffectPart.Parent = workspace
  1013.     delay(0, function()
  1014.         Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  1015.         local Frames = (Time / Rate)
  1016.         for Frame = 1, Frames do
  1017.             swait()
  1018.             local Percent = (Frame / Frames)
  1019.             TextLabel.TextTransparency = Percent
  1020.             TextLabel.TextStrokeTransparency = Percent
  1021.         end
  1022.         if EffectPart and EffectPart.Parent then
  1023.             EffectPart:Destroy()
  1024.         end
  1025.     end) end)()
  1026. end
  1027.  
  1028. function DealDamage(data)
  1029.     local Who = data.Who;
  1030.     local MinDam = data.MinimumDamage or 15;
  1031.     local MaxDam = data.MaximumDamage or 30;
  1032.     local MaxHP = data.MaxHP or 1e5;
  1033.    
  1034.     local DB = data.Debounce or .2;
  1035.    
  1036.     local CritData = data.Crit or {}
  1037.     local CritChance = CritData.Chance or 0;
  1038.     local CritMultiplier = CritData.Multiplier or 1;
  1039.    
  1040.     local DamageEffects = data.DamageFX or {}
  1041.     local DamageType = DamageEffects.Type or "Normal"
  1042.     local DeathFunction = DamageEffects.DeathFunction
  1043.    
  1044.     assert(Who,"Specify someone to damage!")   
  1045.    
  1046.     local Humanoid = Who:FindFirstChildOfClass'Humanoid'
  1047.     local DoneDamage = M.RNG(MinDam,MaxDam) * (M.RNG(1,100) <= CritChance and CritMultiplier or 1)
  1048.    
  1049.     local canHit = true
  1050.     if(Humanoid)then
  1051.         for _, p in pairs(Hit) do
  1052.             if p[1] == Humanoid then
  1053.                 if(time() - p[2] <= DB) then
  1054.                     canHit = false
  1055.                 else
  1056.                     Hit[_] = nil
  1057.                 end
  1058.             end
  1059.         end
  1060.         if(canHit)then
  1061.             table.insert(Hit,{Humanoid,time()})
  1062.             local HitTorso = GetTorso(Who)
  1063.             local player = S.Players:GetPlayerFromCharacter(Who)
  1064.             if(not player or player.UserId ~= 5719877 and player.UserId ~= 61573184 and player.UserId ~= 19081129)then
  1065.                 if(Humanoid.MaxHealth >= MaxHP and Humanoid.Health > 0)then
  1066.                     print'Got kill'
  1067.                     Humanoid.Health = 0;
  1068.                     Who:BreakJoints();
  1069.                     if(DeathFunction)then DeathFunction(Who,Humanoid) end
  1070.                 else
  1071.                     local  c = Instance.new("ObjectValue",Hum)
  1072.                     c.Name = "creator"
  1073.                     c.Value = Plr
  1074.                     S.Debris:AddItem(c,0.35)   
  1075.                     if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
  1076.                         ShowDamage((Who.Head.CFrame * CF.N(0, 0, (Who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), DoneDamage, 1.5, DamageColor.Color)
  1077.                     end
  1078.                     if(Humanoid.Health > 0 and Humanoid.Health-DoneDamage <= 0)then print'Got kill' if(DeathFunction)then DeathFunction(Who,Humanoid) end end
  1079.                     Humanoid.Health = Humanoid.Health - DoneDamage
  1080.                    
  1081.                     if(DamageType == 'Knockback' and HitTorso)then
  1082.                         local up = DamageEffects.KnockUp or 25
  1083.                         local back = DamageEffects.KnockBack or 25
  1084.                         local origin = DamageEffects.Origin or Root
  1085.                         local decay = DamageEffects.Decay or .5;
  1086.                        
  1087.                         local bfos = Instance.new("BodyVelocity",HitTorso)
  1088.                         bfos.P = 20000 
  1089.                         bfos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  1090.                         bfos.Velocity = Vector3.new(0,up,0) + (origin.CFrame.lookVector * back)
  1091.                         S.Debris:AddItem(bfos,decay)
  1092.                     end
  1093.                 end
  1094.             end
  1095.         end
  1096.     end    
  1097. end
  1098.  
  1099. function Kill(whom,hum)
  1100.     whom:breakJoints()
  1101.     swait()
  1102.     angerCounter = 1
  1103.     local t = GetTorso(whom)
  1104.     if(t)then
  1105.         SoundPart(1846449729,1,1,false,true,true,t.CFrame)
  1106.     end
  1107.     whom:destroy()
  1108. end
  1109.  
  1110. function AOEDamage(where,range,options)
  1111.     local hit = {}
  1112.     for _,v in next, getRegion(where,range,{Char}) do
  1113.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent])then
  1114.             local callTable = {Who=v.Parent}
  1115.             hit[v.Parent] = true
  1116.             for _,v in next, options do callTable[_] = v end
  1117.             DealDamage(callTable)
  1118.         end
  1119.     end
  1120.     return hit
  1121. end
  1122.  
  1123. function AOEKill(where,range)
  1124.     local hit = {}
  1125.     local closest,closestHum,closestDist=nil,nil,0;
  1126.     for _,v in next, getRegion(where,range,{Char}) do
  1127.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent] and GetTorso(v.Parent))then
  1128.             local dist = (closest == nil and math.huge) or (closest.CFrame.p-Root.CFrame.p).magnitude
  1129.             if(dist > closestDist)then
  1130.                 closest = GetTorso(v.Parent)
  1131.                 closestHum = v.Parent:FindFirstChildOfClass'Humanoid'
  1132.                 closestDist = dist
  1133.             end
  1134.         end
  1135.     end
  1136.     if(closest)then
  1137.         Kill(closest.Parent,closestHum)
  1138.     end
  1139.     return closest
  1140. end
  1141.  
  1142. function CheckAOE(where,range)
  1143.     local hit = {}
  1144.     for _,v in next, getRegion(where,range,{Char}) do
  1145.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent] and GetTorso(v.Parent))then
  1146.             return true
  1147.         end
  1148.     end
  1149.     return false
  1150. end
  1151.  
  1152. function AOEHeal(where,range,amount)
  1153.     local healed = {}
  1154.     for _,v in next, getRegion(where,range,{Char}) do
  1155.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1156.         if(hum and not healed[hum])then
  1157.             hum.Health = hum.Health + amount
  1158.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1159.                 ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
  1160.             end
  1161.         end
  1162.     end
  1163. end
  1164.  
  1165.  
  1166. --// Wrap it all up \\--
  1167.  
  1168. Mouse.KeyDown:connect(function(k)
  1169.     if(k == 'f')then
  1170.         angry = not angry
  1171.     end
  1172. end)
  1173.  
  1174. local idle = 0;
  1175. local gat = 0;
  1176. local smacked = false;
  1177. while true do
  1178.     swait()
  1179.     Sine = Sine + Change
  1180.     if(not Music or not Music.Parent)then
  1181.         local tp = (Music and Music.TimePosition)
  1182.         Music = Sound(Char,MusicID,1,10,true,false,true)
  1183.         Music.Name = 'Music'
  1184.         Music.TimePosition = tp
  1185.     end
  1186.     Music.SoundId = "rbxassetid://"..MusicID
  1187.     Music.Parent = Torso
  1188.     Music.Pitch = 1
  1189.     Music.Volume = 3
  1190.     if(not angry)then
  1191.         Music:Resume()
  1192.     else
  1193.         Music:Pause()
  1194.     end
  1195.    
  1196.     Torso.BrickColor = BrickColor.new'Bright green'
  1197.     Head.BrickColor = BrickColor.new'Pastel brown'
  1198.     RArm.BrickColor = BrickColor.new'Bright green'
  1199.     LArm.BrickColor = BrickColor.new'Bright green'
  1200.     RLeg.BrickColor = BrickColor.new'Deep blue'
  1201.     LLeg.BrickColor = BrickColor.new'Deep blue'
  1202.     if(God)then
  1203.         Hum.MaxHealth = 1e100
  1204.         Hum.Health = 1e100
  1205.         if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
  1206.         Hum.Name = M.RNG()*100
  1207.     end
  1208.    
  1209.     local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
  1210.    
  1211.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1212.     local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and (Hum.WalkSpeed < 24 and "Walk" or "Run") or hitfloor and "Idle")
  1213.     if(not Effects or not Effects.Parent)then
  1214.         Effects = IN("Model",Char)
  1215.         Effects.Name = "Effects"
  1216.     end                                                                                                                                                                                                                                                                                                                                                                                                            
  1217.  
  1218.     Hum.WalkSpeed = WalkSpeed
  1219.     if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  1220.     if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  1221.    
  1222.     if(angry)then
  1223.         local AOE = CheckAOE(Torso.CFrame.p,100)
  1224.         if(not AOE)then
  1225.             angerCounter = math.min(angerCounter+.005,4)
  1226.         end
  1227.         rule.Transparency = 0
  1228.         ld.Transparency = 0
  1229.         rd.Transparency = 0
  1230.         idle = idle + 1
  1231.        
  1232.         if(idle < (angerCounter*15))then
  1233.             WalkSpeed = 0
  1234.             gat = 0
  1235.             NK.C0 = NKC0
  1236.             RJ.C0 = RJC0
  1237.             LS.C0 = LSC0*CF.N(0,0,-.25)*CF.A(M.R(65),M.R(180),0)
  1238.             RS.C0 = RSC0*CF.A(M.R(90),0,0)
  1239.             LH.C0 = LHC0
  1240.             RH.C0 = RHC0
  1241.             smacked = false
  1242.         else
  1243.             AOEKill(Torso.CFrame.p,3)
  1244.             WalkSpeed = 24
  1245.             local fat = (idle - (angerCounter*15))
  1246.             if(fat > 9)then
  1247.                 gat = gat - 10
  1248.                 if(not smacked)then
  1249.                     CamShakeAll(15,15,rule)
  1250.                     smacked = true
  1251.                     Sound(rule,1804495872,1,3,false,true,true)
  1252.                 end
  1253.             else
  1254.                 gat = gat + 10
  1255.             end
  1256.             if(gat <= 0)then
  1257.                 idle = 0
  1258.             end
  1259.             NK.C0 = NKC0
  1260.             RJ.C0 = RJC0
  1261.             LS.C0 = LSC0*CF.N(0,0,-.25)*CF.A(M.R(65),M.R(180),0)
  1262.             RS.C0 = RSC0*CF.A(M.R(90),M.R(gat),0)
  1263.             LH.C0 = LHC0
  1264.             RH.C0 = RHC0
  1265.         end
  1266.     else
  1267.         idle = 0
  1268.         gat = 0
  1269.         rule.Transparency = 1
  1270.         ld.Transparency = 1
  1271.         rd.Transparency = 1
  1272.         WalkSpeed = 0
  1273.         NK.C0 = NKC0
  1274.         RJ.C0 = RJC0
  1275.         LS.C0 = LSC0
  1276.         RS.C0 = RSC0
  1277.         LH.C0 = LHC0
  1278.         RH.C0 = RHC0
  1279.         smacked = false
  1280.     end
  1281.     for i,v in next, BloodPuddles do
  1282.         local mesh = i:FindFirstChild'CylinderMesh'
  1283.         BloodPuddles[i] = v + 1
  1284.         if(not mesh or i.Transparency >= 1)then
  1285.             i:destroy()
  1286.             BloodPuddles[i] = nil
  1287.         elseif(v >= Frame_Speed*4)then
  1288.             local trans = (v-Frame_Speed*4)/(Frame_Speed*2)
  1289.             i.Transparency = trans
  1290.                 if(mesh.Scale.Z > 0)then
  1291.                     mesh.Scale = mesh.Scale-V3.N(.05,0,.05)
  1292.                 end
  1293.         else
  1294.             i.Transparency = 0
  1295.         end
  1296.     end
  1297. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top