Advertisement
Infintyboy

seizure tem!1!1 | A Roblox FE Script

Sep 6th, 2018
583
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 46.75 KB | None | 0 0
  1.  
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  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()}
  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.             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 Mouse = Player:GetMouse()
  66.     Mouse = Player:GetMouse()
  67.     local UIS = game:GetService("UserInputService")
  68.     local input = function(io,a)
  69.         if a then return end
  70.         --Since InputObject is a client-side instance, we create and pass table instead
  71.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  72.     end
  73.     UIS.InputBegan:Connect(input)
  74.     UIS.InputEnded:Connect(input)
  75.  
  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 return s[k] end
  95.         end,
  96.         __newindex = function(self,k,v)
  97.             local s = rawget(self,"_RealService")
  98.             if s then s[k]=v end
  99.         end,
  100.         __call = function(self,...)
  101.             local s = rawget(self,"_RealService")
  102.             if s then return s(...) end
  103.         end
  104.     }
  105.     local function FakeService(t,RealService)
  106.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  107.         return setmetatable(t,fsmt)
  108.     end
  109.  
  110.     --Fake game object
  111.     local g = {
  112.         GetService = function(self,s)
  113.             return self[s]
  114.         end,
  115.         Players = FakeService({
  116.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  117.         },"Players"),
  118.         UserInputService = FakeService(UIS,"UserInputService"),
  119.         ContextActionService = FakeService(CAS,"ContextActionService"),
  120.     }
  121.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  122.     g.service = g.GetService
  123.    
  124.     g.RunService = FakeService({
  125.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  126.         BindToRenderStep = function(self,name,_,fun)
  127.  
  128.         end,
  129.         UnbindFromRenderStep = function(self,name)
  130.             self._btrs[name]:Disconnect()
  131.         end,
  132.     },"RunService")
  133.  
  134.     setmetatable(g,{
  135.         __index=function(self,s)
  136.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  137.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  138.         end,
  139.         __newindex = fsmt.__newindex,
  140.         __call = fsmt.__call
  141.     })
  142.     --Changing owner to fake player object to support owner:GetMouse()
  143.     game,owner = g,g.Players.LocalPlayer
  144. end
  145.  
  146. --// Initializing \\--
  147. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  148. local Plrs = S.Players
  149. local Plr = Plrs.LocalPlayer
  150. local Char = Plr.Character
  151. local Hum = Char:FindFirstChildOfClass'Humanoid'
  152. local RArm = Char["Right Arm"]
  153. local LArm = Char["Left Arm"]
  154. local RLeg = Char["Right Leg"]
  155. local LLeg = Char["Left Leg"]  
  156. local Root = Char:FindFirstChild'HumanoidRootPart'
  157. local Torso = Char.Torso
  158. local Head = Char.Head
  159. local NeutralAnims = true
  160. local Attack = false
  161. local BloodPuddles = {}
  162. local Effects = {}
  163. local Debounces = {Debounces={}}
  164. local Mouse = Plr:GetMouse()
  165. local Hit = {}
  166. local Sine = 0
  167. local Idle = 0
  168. local Change = 1
  169. local FLArm,FRArm,FRArmW,FLArmW
  170. local Stunned = {}
  171. local VoidSB = (game.PlaceId == 843468296) -- You can change the 843468296 to 0 if you dont care about potential lag on Void SB
  172. --// Debounce System \\--
  173.  
  174.  
  175. function Debounces:New(name,cooldown)
  176.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  177.     setmetatable(aaaaa,{__index = Debounces})
  178.     Debounces.Debounces[name] = aaaaa
  179.     return aaaaa
  180. end
  181.  
  182. function Debounces:Use(overrideUsable)
  183.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  184.     if(self.Usable or overrideUsable)then
  185.         self.Usable = false
  186.         self.CoolingDown = true
  187.         local LastUse = time()
  188.         self.LastUse = LastUse
  189.         delay(self.Cooldown or 2,function()
  190.             if(self.LastUse == LastUse)then
  191.                 self.CoolingDown = false
  192.                 self.Usable = true
  193.             end
  194.         end)
  195.     end
  196. end
  197.  
  198. function Debounces:Get(name)
  199.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  200.     for i,v in next, Debounces.Debounces do
  201.         if(i == name)then
  202.             return v;
  203.         end
  204.     end
  205. end
  206.  
  207. function Debounces:GetProgressPercentage()
  208.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  209.     if(self.CoolingDown and not self.Usable)then
  210.         return math.max(
  211.             math.floor(
  212.                 (
  213.                     (time()-self.LastUse)/self.Cooldown or 2
  214.                 )*100
  215.             )
  216.         )
  217.     else
  218.         return 100
  219.     end
  220. end
  221.  
  222. --// Shortcut Variables \\--
  223. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  224. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  225. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  226. 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}
  227. local R3 = {N=Region3.new}
  228. local De = S.Debris
  229. local WS = workspace
  230. local Lght = S.Lighting
  231. local RepS = S.ReplicatedStorage
  232. local IN = Instance.new
  233.  
  234. --// Extended ROBLOX tables \\--
  235. local Instance = setmetatable({AllChildren = function(where,callback,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do callback(v) end end,  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})
  236. --// Customization \\--
  237.  
  238. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  239. local Remove_Hats = false
  240. local Remove_Clothing = false
  241. local PlayerSize = 1
  242. local DamageColor = BrickColor.new'Really red'
  243. local BloodID = "rbxassetid://284205403"
  244. local BloodColor = BrickColor.new'Crimson'
  245. local BloodMaterial = Enum.Material.SmoothPlastic
  246.  
  247. wait()
  248. local Player = Plr
  249. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  250. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  251. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  252. 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}
  253. local R3 = {N=Region3.new}
  254. local De = S.Debris
  255. local WS = workspace
  256. local Lght = S.Lighting
  257. local RepS = S.ReplicatedStorage
  258. local IN = Instance.new
  259. CF = CFrame.new
  260. angles = CFrame.Angles
  261. attack = false
  262. timetofly = true
  263. Euler = CFrame.fromEulerAnglesXYZ
  264. Rad = math.rad
  265. IT = Instance.new
  266. BrickC = BrickColor.new
  267. Cos = math.cos
  268. Acos = math.acos
  269. Sin = math.sin
  270. Asin = math.asin
  271. Abs = math.abs
  272. Mrandom = math.random
  273. Floor = math.floor
  274. random = math.random
  275. radian = math.rad
  276. Vec3 = Vector3.new
  277. cFrame = CFrame.new
  278. Euler = CFrame.fromEulerAnglesXYZ
  279. local Lght = S.Lighting
  280. local RepS = S.ReplicatedStorage
  281. local IN = Instance.new
  282. local Character = Player.Character
  283. local plr = Plr
  284. local Humanoid = Character.Humanoid
  285. local char = plr.Character
  286. local hum = char.Humanoid
  287. local ra = char["Right Arm"]
  288. local la= char["Left Arm"]
  289. local rl= char["Right Leg"]
  290. local ll = char["Left Leg"]
  291. local hed = char.Head
  292. local root = char.HumanoidRootPart
  293. local rootj = root.RootJoint
  294. local tors = char.Torso
  295. local LeftArm = Character["Left Arm"]
  296. local RightArm = Character["Right Arm"]
  297. local LeftLeg = Character["Left Leg"]
  298. local RightLeg = Character["Right Leg"]
  299. local Head = Character.Head
  300. local Torso = Character.Torso
  301. local mouse = plr:GetMouse()
  302. local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  303. local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
  304. local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
  305. local cam = game.Workspace.CurrentCamera
  306. -------------------------------------------------------
  307. necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  308. RSH, LSH = nil, nil
  309. RW = Instance.new("Weld")
  310. LW = Instance.new("Weld")
  311. RH = tors["Right Hip"]
  312. LH = tors["Left Hip"]
  313. RSH = tors["Right Shoulder"]
  314. LSH = tors["Left Shoulder"]
  315. RSH.Parent = nil
  316. LSH.Parent = nil
  317. RW.Name = "RW"
  318. RW.Part0 = tors
  319. RW.C0 = CF(1.5, 0.5, 0)
  320. RW.C1 = CF(0, 0.5, 0)
  321. RW.Part1 = ra
  322. RW.Parent = tors
  323. LW.Name = "LW"
  324. LW.Part0 = tors
  325. LW.C0 = CF(-1.5, 0.5, 0)
  326. LW.C1 = CF(0, 0.5, 0)
  327. LW.Part1 = la
  328. LW.Parent = tors
  329. Effects = {}
  330.  
  331. --// Weapon and GUI creation, and Character Customization \\--
  332.  
  333. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  334. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  335. local Effects = IN("Folder",Char)
  336. Effects.Name = "Effects"
  337.  
  338. New = function(Object, Parent, Name, Data)
  339.     local Object = Instance.new(Object)
  340.     for Index, Value in pairs(Data or {}) do
  341.         Object[Index] = Value
  342.     end
  343.     Object.Parent = Parent
  344.     Object.Name = Name
  345.     return Object
  346. end
  347.    
  348. pcall(function() Char.ReaperShadowHead.Eye1.BrickColor = BrickColor.new'Really red' Char.ReaperShadowHead.Eye1.Material = 'Glass' end)
  349. pcall(function() Char.ReaperShadowHead.Eye2.BrickColor = BrickColor.new'Really red' Char.ReaperShadowHead.Eye2.Material = 'Glass' end)
  350. pcall(function() Char.LeftWing.BrickColor = BrickColor.new'Really red' Char.LeftWing.Transparency = 0.5 end)
  351.  
  352.  
  353. if(PlayerSize ~= 1)then
  354.     for _,v in next, Char:GetDescendats() do
  355.         if(v:IsA'BasePart')then
  356.             v.Size = v.Size * PlayerSize
  357.         end
  358.     end
  359. end
  360.  
  361. --// Instance Creation Functions \\--
  362.  
  363. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  364.     local Sound = IN("Sound")
  365.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  366.     Sound.Pitch = pitch or 1
  367.     Sound.Volume = volume or 1
  368.     Sound.Looped = looped or false
  369.     if(autoPlay)then
  370.         coroutine.wrap(function()
  371.             repeat wait() until Sound.IsLoaded
  372.             Sound.Playing = autoPlay or false
  373.         end)()
  374.     end
  375.     if(not looped and effect)then
  376.         Sound.Ended:connect(function()
  377.             Sound.Volume = 0
  378.             Sound:destroy()
  379.         end)
  380.     elseif(effect)then
  381.         warn("Sound can't be looped and a sound effect!")
  382.     end
  383.     Sound.Parent =parent or Torso
  384.     return Sound
  385. end
  386. function Part(parent,color,material,size,cframe,anchored,cancollide)
  387.     local part = IN("Part")
  388.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  389.     part.Material = material or Enum.Material.SmoothPlastic
  390.     part.TopSurface,part.BottomSurface=10,10
  391.     part.Size = size or V3.N(1,1,1)
  392.     part.CFrame = cframe or CF.N(0,0,0)
  393.     part.CanCollide = cancollide or false
  394.     part.Anchored = anchored or false
  395.     part.Parent = parent or Char
  396.     return part
  397. end
  398.  
  399. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  400.     local part = IN("SpecialMesh")
  401.     part.MeshId = meshid or ""
  402.     part.TextureId = textid or ""
  403.     part.Scale = scale or V3.N(1,1,1)
  404.     part.Offset = offset or V3.N(0,0,0)
  405.     part.MeshType = meshtype or Enum.MeshType.Sphere
  406.     part.Parent = parent
  407.     return part
  408. end
  409.  
  410. NewInstance = function(instance,parent,properties)
  411.     local inst = Instance.new(instance,parent)
  412.     if(properties)then
  413.         for i,v in next, properties do
  414.             pcall(function() inst[i] = v end)
  415.         end
  416.     end
  417.     return inst;
  418. end
  419.  
  420. --// Stop animations \\--
  421. for _,v in next, Hum:GetPlayingAnimationTracks() do
  422.     v:Stop();
  423. end
  424.  
  425. pcall(game.Destroy,Char:FindFirstChild'Animate')
  426. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  427.  
  428. --// Artificial HB \\--
  429.  
  430. local ArtificialHB = IN("BindableEvent", script)
  431. ArtificialHB.Name = "Heartbeat"
  432.  
  433. script:WaitForChild("Heartbeat")
  434.  
  435. local tf = 0
  436. local allowframeloss = false
  437. local tossremainder = false
  438. local lastframe = tick()
  439. local frame = 1/Frame_Speed
  440. ArtificialHB:Fire()
  441.  
  442. game:GetService("RunService").Heartbeat:connect(function(s, p)
  443.     tf = tf + s
  444.     if tf >= frame then
  445.         if allowframeloss then
  446.             script.Heartbeat:Fire()
  447.             lastframe = tick()
  448.         else
  449.             for i = 1, math.floor(tf / frame) do
  450.                 ArtificialHB:Fire()
  451.             end
  452.             lastframe = tick()
  453.         end
  454.         if tossremainder then
  455.             tf = 0
  456.         else
  457.             tf = tf - frame * math.floor(tf / frame)
  458.         end
  459.     end
  460. end)
  461.  
  462. function swait(num)
  463.     if num == 0 or num == nil then
  464.         ArtificialHB.Event:wait()
  465.     else
  466.         for i = 0, num do
  467.             ArtificialHB.Event:wait()
  468.         end
  469.     end
  470. end
  471.  
  472.  
  473. --// Effect Function(s) \\--
  474.  
  475. function FakeWeld(p0,p1)
  476.     local attachment0 = Instance.new('Attachment',p0)
  477.     local attachment1 = Instance.new('Attachment',p1)
  478.     return NewInstance("HingeConstraint",p0,{Attachment0=attachment0,Attachment1=attachment1,LimitsEnabled=true,UpperAngle=0,LowerAngle=0})
  479. end
  480.  
  481. function Fragment(v)
  482.     v:ClearAllChildren()
  483.     local Fragments = NewInstance("Folder",v.Parent,{Name='Fragmentation'})
  484.     v.Archivable = true
  485.     -- X
  486.     v.Size = Vector3.new(v.Size.x/2,v.Size.y,v.Size.z)
  487.     v.Name = v.Name.."Fragment"
  488.    
  489.     local a = v:Clone()
  490.     a.Parent = Fragments
  491.     a.CFrame = CF.N(-.5,1,1) * a.CFrame
  492.     v.CFrame = CF.N(.5,1,1) * v.CFrame
  493.     -- Y
  494.     v.Size = Vector3.new(v.Size.x,v.Size.y/2,v.Size.z)
  495.    
  496.     local a = v:Clone()
  497.     a.Parent = Fragments
  498.     a.CFrame = CF.N(1,-.5,1) * a.CFrame
  499.     v.CFrame = CF.N(1,.5,1) * v.CFrame
  500.     -- Z
  501.     v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
  502.    
  503.     local a = v:Clone()
  504.     a.Parent = Fragments
  505.     a.CFrame = CF.N(1,1,-.5) * a.CFrame
  506.     v.CFrame = CF.N(1,1,.5) * v.CFrame
  507.    
  508.     v.Parent = Fragments
  509.     return Fragments
  510. end
  511.  
  512. local blood = NewInstance("ParticleEmitter",nil,{
  513.     Color = ColorSequence.new(BloodColor.Color),
  514.     LightEmission=.1,
  515.     LightInfluence=1,
  516.     ZOffset=.9,
  517.     Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.2,0),NumberSequenceKeypoint.new(1,3,0)},
  518.     Texture="rbxassetid://284205403",
  519.     Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)},
  520.     Acceleration = V3.N(0,-15,0),
  521.     Lifetime = NumberRange.new(1,2),
  522.     Rate=50,
  523.     Speed = NumberRange.new(5,15),
  524.     SpreadAngle = Vector2.new(15,15),
  525.     Enabled = false,
  526.     EmissionDirection = 'Back',
  527. })
  528.  
  529. local blood2 = NewInstance("ParticleEmitter",nil,{
  530.     Color = ColorSequence.new(BloodColor.Color),
  531.     LightEmission=.1,
  532.     LightInfluence=1,
  533.     ZOffset=.9,
  534.     Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.2,0),NumberSequenceKeypoint.new(1,3,0)},
  535.     Texture=BloodID,
  536.     Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)},
  537.     Acceleration = V3.N(0,-125,0),
  538.     Lifetime = NumberRange.new(1,2),
  539.     Rate=50,
  540.     Speed = NumberRange.new(5,15),
  541.     SpreadAngle = Vector2.new(15,15),
  542.     Enabled = false,
  543.     EmissionDirection = 'Back',
  544. })
  545.  
  546. local blood3 = NewInstance("ParticleEmitter",nil,{
  547.     Color = ColorSequence.new(BloodColor.Color),
  548.     Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.2),NumberSequenceKeypoint.new(1,.2)},
  549.     Texture=BloodID,
  550.     Lifetime = NumberRange.new(.4),
  551.     Rate=50,
  552.     LockedToPart=true,
  553.     Speed = NumberRange.new(0,2),
  554.     Enabled = false,
  555. })
  556.  
  557. function Blood(size,cframe,amount)
  558.     local part = Instance.new("Part",Effects)
  559.     part.Transparency = 1
  560.     part.Size = size
  561.     part.Anchored = true
  562.     part.CanCollide = false
  563.     part.CFrame = cframe
  564.     S.Debris:AddItem(part,6)
  565.     local prtcl = blood:Clone()
  566.     prtcl.Parent = part
  567.     prtcl:Emit(amount)
  568.     return part, prtcl
  569. end
  570.  
  571. function Blood2(size,cframe)
  572.     local part = Instance.new("Part",Effects)
  573.     part.Transparency = 1
  574.     part.Size = size
  575.     part.Anchored = false
  576.     part.CanCollide = false
  577.     part.CFrame = cframe
  578.     local prtcl = blood:Clone()
  579.     prtcl.Enabled = true
  580.     prtcl.Parent = part
  581.     return part, prtcl
  582. end
  583.  
  584. function Blood3(size,cframe,amount)
  585.     local part = Instance.new("Part",Effects)
  586.     part.Transparency = 1
  587.     part.Size = size
  588.     part.Anchored = true
  589.     part.CanCollide = false
  590.     part.CFrame = cframe
  591.     S.Debris:AddItem(part,6)
  592.     local prtcl = blood2:Clone()
  593.     prtcl.Parent = part
  594.     prtcl:Emit(amount)
  595.     return part, prtcl
  596. end
  597.  
  598. function Blood4(size,cframe)
  599.     local part = Instance.new("Part",Effects)
  600.     part.Transparency = 1
  601.     part.Size = size
  602.     part.Anchored = false
  603.     part.CanCollide = false
  604.     part.CFrame = cframe
  605.     local prtcl = blood2:Clone()
  606.     prtcl.Enabled = true
  607.     prtcl.Parent = part
  608.     return part, prtcl
  609. end
  610.  
  611.  
  612. function BloodDrop(pos,dir,maxsize)
  613.     if(game.PlaceId ~= 843468296)then
  614.         local owo = NewInstance("Part",Effects,{Transparency=0,Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.2,.2,.2), CanCollide = false})
  615.         owo.CFrame=CF.N(pos,dir)
  616.         local bv = Instance.new("BodyVelocity",owo)
  617.         bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  618.         bv.velocity = CF.N(pos,dir+V3.N(M.RNG(-3,3)/30,M.RNG(-3,3)/30,M.RNG(-3,3)/30)).lookVector*15
  619.         bv.Name = "MOVE"
  620.         --[[local prt = blood3:Clone()
  621.         prt.Parent = owo
  622.         prt.Enabled = true]]
  623.         delay(.01, function() bv:destroy() end)
  624.         local touch;
  625.         touch = owo.Touched:connect(function(hit)
  626.             if(hit.Anchored==true and hit.CanCollide and not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent.Parent:FindFirstChildOfClass'Humanoid')then
  627.                 touch:disconnect()
  628.                 BloodPuddle(owo.Position+V3.N(0,1,0),100,maxsize,owo)
  629.                 owo:destroy()
  630.             end
  631.         end)
  632.     end
  633. end
  634.  
  635. function BloodPuddle(position,range,maxSize,where)
  636.     local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new(
  637.         position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range           
  638.     ),{where,Char},false,true)
  639.     if(hit and not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent.Parent:FindFirstChildOfClass'Humanoid')then
  640.         if(hit.Name == 'BloodPuddle')then
  641.             local dist = (position - hit.Position).magnitude
  642.             if (hit.Size.Z <= 5 and hit.Size.Z < maxSize) or (hit.Size.Z > 5 and hit.Size.Z < maxSize and dist < hit.Size.Z/3) then
  643.                 --hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1)
  644.                 hit.Size = hit.Size + V3.N(.1,0,.1)
  645.             end
  646.             if(hit.Size.Z < 2)then
  647.                 pcall(function() hit.Sound:Play() end)
  648.             end
  649.         else
  650.             local Puddle = NewInstance('Part',workspace,{Material=BloodMaterial,BrickColor=BloodColor,Size=V3.N(1,.1,1),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
  651.             local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  652.             Sound(Puddle,685857471,1,2,false,false,true)
  653.             coroutine.wrap(function()
  654.                 swait(75)
  655.                 repeat
  656.                     swait()
  657.                     Puddle.Size = Puddle.Size - V3.N(.02,0,.02)
  658.                 until Puddle.Size.Z < 0.51
  659.                 Puddle:destroy()
  660.             end)()
  661.         end
  662.     end
  663. end
  664.  
  665. function recurse(root,callback,i)
  666.     i= i or 0
  667.     for _,v in pairs(root:GetChildren()) do
  668.         i = i + 1
  669.         callback(i,v)
  670.        
  671.         if #v:GetChildren() > 0 then
  672.             i = recurse(v,callback,i)
  673.         end
  674.     end
  675.    
  676.     return i
  677. end
  678.  
  679. function ragdollJoint(character, part0, part1, attachmentName, className, properties) -- thanks mustardfat im too lazy
  680.     if character:FindFirstChild("RagdollConstraint"..part1.Name) == nil then
  681.     for i,v in pairs(character:GetChildren()) do
  682.         if v:IsA("MeshPart") and (v.MeshId == 'http://www.roblox.com/asset/?id=553602991' or v.MeshId == 'http://www.roblox.com/asset/?id=553602977' or v.MeshId == 'http://www.roblox.com/asset/?id=553602987') then
  683.             v.Size = Vector3.new(1,1,1)
  684.         end
  685.     end
  686.     if part1:FindFirstChildOfClass('Motor6D') then
  687.         part1:FindFirstChildOfClass('Motor6D'):Remove()
  688.     end
  689.     if attachmentName ~= "NeckAttachment" then
  690.         attachmentName = attachmentName.."RigAttachment"
  691.     end
  692.     local constraint = Instance.new(className.."Constraint")
  693.     constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  694.     constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  695.     constraint.Name = "RagdollConstraint"..part1.Name
  696.     if character:FindFirstChildOfClass('Humanoid').Health > 0 then
  697.     local collidepart = Instance.new('Part',part1)
  698.     collidepart.Size = part1.Size/2
  699.     if string.find(string.lower(part1.Name),"upper") then
  700.         if string.find(string.lower(part1.Name),"leg") then
  701.             collidepart.Size = part1.Size/3
  702.         else
  703.             collidepart.Size = part1.Size/2.5
  704.         end
  705.     end
  706.     collidepart.CanCollide = true
  707.     collidepart.Name = "RagdollJoint"
  708.     collidepart.Anchored = false
  709.     collidepart.Transparency = 1
  710.     collidepart.CFrame = part1.CFrame
  711.     collidepart:BreakJoints()
  712.     local attachment0 = Instance.new('Attachment',part1)
  713.     local attachment1 = Instance.new('Attachment',collidepart)
  714.     if attachment0 and attachment1 then
  715.         local constraint = Instance.new("HingeConstraint")
  716.         constraint.Attachment0 = attachment0
  717.         constraint.Attachment1 = attachment1
  718.         constraint.LimitsEnabled = true
  719.         constraint.UpperAngle = 0
  720.         constraint.LowerAngle = 0
  721.         constraint.Parent = character
  722.     end
  723.     if string.find(string.lower(part1.Name),"upper") then
  724.         if string.find(string.lower(part1.Name),"leg") then
  725.             attachment0.Position = Vector3.new(0,0.01,0)
  726.         else
  727.             attachment0.Position = Vector3.new(0,0.25,0)
  728.         end
  729.     else
  730.         attachment0.Position = Vector3.new(0,-0.1,0)
  731.     end
  732.     end
  733.     for _,propertyData in next,properties or {} do
  734.         constraint[propertyData[1]] = propertyData[2]
  735.     end
  736.     constraint.Parent = character
  737.     return constraint
  738.     end
  739. end
  740.  
  741.  
  742. function getAttachment0(character,attachmentName)
  743.     for _,child in next,character:children() do
  744.         local attachment = child:FindFirstChild(attachmentName)
  745.         if attachment then
  746.             return attachment
  747.         end
  748.     end
  749. end
  750.  
  751.  
  752. function Ragdoll(who,half,snapped)
  753.     pcall(function()
  754.         who:breakJoints()
  755.         local who = who
  756.         local hhh = who:FindFirstChildOfClass'Humanoid'
  757.         local t = GetTorso(who)
  758.         pcall(function()
  759.             who.HumanoidRootPart:destroy()
  760.         end)
  761.         hhh.Health = 0
  762.         Stunned[who] = true
  763.         if(hhh.RigType == Enum.HumanoidRigType.R6)then
  764.             local RA,LA,RL,LL,HD = who:FindFirstChild'Right Arm',who:FindFirstChild'Left Arm',who:FindFirstChild'Right Leg',who:FindFirstChild'Left Leg',who:FindFirstChild'Head'          
  765.             pcall(function()
  766.                 if(hhh.Health > 0)then  local CollideRA = NewInstance('Part',who,{Size=RA.Size/1.5,Anchored=false,Transparency=1,Name='Collision'})
  767.                 FakeWeld(RA,CollideRA) end
  768.                 local RAJ = NewInstance("Attachment",t,{Position=V3.N(1.5,.5,0),Orientation=V3.N()})
  769.                 local RAJ2 = NewInstance("Attachment",RA,{Position=V3.N(0,.5,0),Orientation=V3.N()})
  770.                 local RAC = NewInstance('BallSocketConstraint',t,{Radius=.15,LimitsEnabled=true,Enabled=true,Restitution=0,UpperAngle=90,Attachment0=RAJ,Attachment1=RAJ2})
  771.             end)
  772.             pcall(function()
  773.                 local LAJ = NewInstance("Attachment",t,{Position=V3.N(-1.5,.5,0),Orientation=V3.N()})
  774.                 local LAJ2 = NewInstance("Attachment",LA,{Position=V3.N(0,.5,0),Orientation=V3.N()})
  775.  
  776.                 local LAC = NewInstance('BallSocketConstraint',t,{Radius=.15,LimitsEnabled=true,Enabled=true,Restitution=0,UpperAngle=90,Attachment0=LAJ,Attachment1=LAJ2})
  777.  
  778.                 if(hhh.Health > 0)then local CollideLA = NewInstance('Part',who,{Size=LA.Size/1.5,Anchored=false,Transparency=1,Name='Collision'})
  779.                 FakeWeld(LA,CollideLA) end
  780.             end)
  781.             pcall(function()
  782.                 if(HD)then
  783.                     local NJ = NewInstance('Attachment',t,{Position=V3.N(0,1,0),Orientation=V3.N()})
  784.                     local NJ2 = NewInstance('Attachment',HD,{Position=V3.N(0,-.5,0),Orientation=V3.N()})
  785.                     local NJ3 = NewInstance('Attachment',HD,{Position=V3.N(0,.5,0),Orientation=V3.N()})
  786.                     local HC = NewInstance('HingeConstraint',t,{LimitsEnabled=true,UpperAngle=50,LowerAngle=-50,Attachment0=NJ,Attachment1=NJ2})
  787.    
  788.                     if(snapped)then
  789.                         NJ.Orientation = V3.N(0,90,0)
  790.                     end
  791.                     if(hhh.Health > 0)then
  792.                         local CollideHD = NewInstance('Part',who,{Size=HD.Size/1.5,Anchored=false,Transparency=1,Name='Collision'})
  793.                         FakeWeld(HD,CollideHD)
  794.                     end
  795.                 end
  796.             end)
  797.             if(not half)then
  798.                 local RLJ = NewInstance("Attachment",t,{Position=V3.N(.5,-1,0),Orientation=V3.N()})
  799.                 local RLJ2 = NewInstance("Attachment",RL,{Position=V3.N(0,1,0),Orientation=V3.N()})
  800.                 local LLJ = NewInstance("Attachment",t,{Position=V3.N(-.5,-1,0),Orientation=V3.N()})
  801.                 local LLJ2 = NewInstance("Attachment",LL,{Position=V3.N(0,1,0),Orientation=V3.N()})
  802.                 local RLC = NewInstance('BallSocketConstraint',t,{Radius=.15,LimitsEnabled=true,Enabled=true,Restitution=0,UpperAngle=90,Attachment0=RLJ,Attachment1=RLJ2})
  803.                 local LLC = NewInstance('BallSocketConstraint',t,{Radius=.15,LimitsEnabled=true,Enabled=true,Restitution=0,UpperAngle=90,Attachment0=LLJ,Attachment1=LLJ2})
  804.                 if(hhh.Health > 0)then local CollideRL = NewInstance('Part',who,{Size=RL.Size/1.5,Anchored=false,Transparency=1,Name='Collision'})
  805.                 local CollideLL = NewInstance('Part',who,{Size=LL.Size/1.5,Anchored=false,Transparency=1,Name='Collision'})
  806.  
  807.                 FakeWeld(RL,CollideRL)
  808.                 FakeWeld(LL,CollideLL) end
  809.             end
  810.             for _,v in next, who:children() do
  811.                 if(v:IsA'BasePart')then
  812.                     v.CanCollide = true
  813.                 end
  814.             end
  815.         else
  816.             local character = who
  817.            
  818.             if(half)then
  819.                 pcall(function()
  820.                     character.UpperTorso.WaistRigAttachment:Destroy()
  821.                 end)
  822.             end
  823.  
  824.             local handProperties = {
  825.                 {"LimitsEnabled", true};
  826.                 {"UpperAngle",0};
  827.                 {"LowerAngle",0};
  828.             }
  829.             local footProperties = {
  830.                 {"LimitsEnabled", true};
  831.                 {"UpperAngle", 15};
  832.                 {"LowerAngle", -45};
  833.             }
  834.             local shinProperties = {
  835.                 {"LimitsEnabled", true};
  836.                 {"UpperAngle", 0};
  837.                 {"LowerAngle", -75};
  838.             }
  839.             if character:FindFirstChild('RightLowerArm') and character:FindFirstChild('RightHand') then
  840.                 ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  841.             end
  842.             if character:FindFirstChild('UpperTorso') and character:FindFirstChild('RightUpperArm') then
  843.                 ragdollJoint(character, character.UpperTorso, character["RightUpperArm"], "RightShoulder", "BallSocket")
  844.             end
  845.             if character:FindFirstChild('RightUpperArm') and character:FindFirstChild('RightLowerArm') then
  846.                 ragdollJoint(character, character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  847.             end
  848.             if character:FindFirstChild('LeftLowerArm') and character:FindFirstChild('LeftHand') then
  849.                 ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  850.             end
  851.             if character:FindFirstChild('UpperTorso') and character:FindFirstChild('LeftUpperArm') then
  852.                 ragdollJoint(character, character.UpperTorso, character["LeftUpperArm"], "LeftShoulder", "BallSocket")
  853.             end
  854.             if character:FindFirstChild('LeftUpperArm') and character:FindFirstChild('LeftLowerArm') then
  855.                 ragdollJoint(character, character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  856.             end
  857.             if character:FindFirstChild('RightUpperLeg') and character:FindFirstChild('RightLowerLeg') then
  858.                 ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  859.             end
  860.             if character:FindFirstChild('RightLowerLeg') and character:FindFirstChild('RightFoot') then
  861.                 ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  862.             end
  863.             if character:FindFirstChild('LowerTorso') and character:FindFirstChild('RightUpperLeg') then
  864.                 ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  865.             end
  866.             if character:FindFirstChild('LeftUpperLeg') and character:FindFirstChild('LeftLowerLeg') then
  867.                 ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  868.             end
  869.             if character:FindFirstChild('LeftLowerLeg') and character:FindFirstChild('LeftFoot') then
  870.                 ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  871.             end
  872.             if character:FindFirstChild('LowerTorso') and character:FindFirstChild('LeftUpperLeg') then
  873.                 ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  874.             end
  875.             if character:FindFirstChild('UpperTorso') and character:FindFirstChild('LowerTorso') then
  876.                 ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  877.                     {"LimitsEnabled",true};
  878.                     {"UpperAngle",5};
  879.                     {"Radius",5};
  880.                 })
  881.             end
  882.             if character:FindFirstChild('UpperTorso') and character:FindFirstChild('Head') then
  883.                 ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "Hinge", {
  884.                     {"LimitsEnabled",true};
  885.                     {"UpperAngle",50};
  886.                     {"LowerAngle",-50};
  887.                 })
  888.             end
  889.             local NeckA = ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "Hinge", {
  890.                 {"LimitsEnabled",true};
  891.                 {"UpperAngle",50};
  892.                 {"LowerAngle",-50};
  893.             })
  894.  
  895.             recurse(character, function(_,v)
  896.                 if v:IsA("Attachment") then
  897.                     v.Axis = Vector3.new(0, 1, 0)
  898.                     v.SecondaryAxis = Vector3.new(0, 0, 1)
  899.                     v.Rotation = Vector3.new(0, 0, 0)
  900.                     if(v.Parent == character.Head and snapped)then
  901.                         v.Orientation = V3.N(0,-90,0)
  902.                     end
  903.                 end
  904.             end)
  905.         end
  906.     end)
  907. end
  908.  
  909.  
  910. function Bezier(startpos, pos2, pos3, endpos, t)
  911.     local A = startpos:lerp(pos2, t)
  912.     local B  = pos2:lerp(pos3, t)
  913.     local C = pos3:lerp(endpos, t)
  914.     local lerp1 = A:lerp(B, t)
  915.     local lerp2 = B:lerp(C, t)
  916.     local cubic = lerp1:lerp(lerp2, t)
  917.     return cubic
  918. end
  919.  
  920. function Effect(data)
  921.     local FX = data.Effect or 'Resize-AndFade'
  922.     local Parent = data.Parent or Effects
  923.     local Color = data.Color or C3.N(0,0,0)
  924.     local Size = data.Size or V3.N(1,1,1)
  925.     local MoveDir = data.MoveDirection or nil
  926.     local MeshData = data.Mesh or nil
  927.     local SndData = data.Sound or nil
  928.     local Frames = data.Frames or 45
  929.     local Manual = data.Manual or nil
  930.     local Material = data.Material or nil
  931.     local CFra = data.CFrame or Torso.CFrame
  932.     local Settings = data.FXSettings or {}
  933.     local Snd,Prt,Msh;
  934.     if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  935.         Prt = Manual
  936.     else
  937.         Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  938.     end
  939.     if(typeof(MeshData) == 'table')then
  940.         Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  941.     elseif(typeof(MeshData) == 'Instance')then
  942.         Msh = MeshData:Clone()
  943.         Msh.Parent = Prt
  944.     end
  945.     if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
  946.         Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  947.     end
  948.     if(Snd)then
  949.         repeat wait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  950.         Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  951.     end
  952.     local MoveSpeed = nil;
  953.     if(MoveDir)then
  954.         MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  955.     end
  956.     local Inc = M.RNG()-M.RNG()
  957.     local Thingie = 0
  958.     local Thingie2 = M.RNG(50,100)/100
  959.  
  960.     coroutine.wrap(function()
  961.         if(FX ~= 'Arc')then
  962.             for i = 1, Frames do
  963.                 if(FX == 'Resize-AndFade')then
  964.                     if(not Settings.EndSize)then
  965.                         Settings.EndSize = V3.N(0,0,0)
  966.                     end
  967.                     local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize-Size or typeof(Settings.EndSize) == 'number' and V3.N(Settings.EndSize))
  968.                     if(Settings.EndIsIncrement)then
  969.                         Prt.Size = Prt.Size - Settings.EndSize                 
  970.                     else
  971.                         Prt.Size = Prt.Size - grow/Frames
  972.                     end
  973.                     Prt.Transparency = (i/Frames)
  974.                 elseif(FX == 'Resize+AndFade')then
  975.                     if(not Settings.EndSize)then
  976.                         Settings.EndSize = Size*2
  977.                     end
  978.                     local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize-Size or typeof(Settings.EndSize) == 'number' and V3.N(Settings.EndSize))
  979.                     if(Settings.EndIsIncrement)then
  980.                         Prt.Size = Prt.Size + Settings.EndSize                 
  981.                     else
  982.                         Prt.Size = Prt.Size + grow/Frames
  983.                     end
  984.                     Prt.Transparency = (i/Frames)
  985.                 elseif(FX == 'Fade')then
  986.                     Prt.Transparency = (i/Frames)
  987.                 end
  988.                 if(Settings.RandomizeCFrame)then
  989.                     Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  990.                 end
  991.                 if(MoveDir and MoveSpeed)then
  992.                     local Orientation = Prt.Orientation
  993.                     Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  994.                     Prt.Orientation = Orientation
  995.                 end
  996.                 if(swait and typeof(swait) == 'function')then
  997.                     swait()
  998.                 else
  999.                     wait()
  1000.                 end
  1001.             end
  1002.             Prt:destroy()
  1003.         else
  1004.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  1005.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  1006.             local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  1007.             local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  1008.             assert(start ~= nil,"You need to specify a start point!")
  1009.             assert(endP ~= nil,"You need to specify an end point!")
  1010.             for i = 0, 1, Settings.Speed or 0.01 do
  1011.                 if(Settings.Home)then
  1012.                     endP = Settings.Home.CFrame
  1013.                 end
  1014.                 Prt.CFrame = Bezier(start, quarter, threequarter, endP, i)
  1015.                 if(swait and typeof(swait) == 'function')then
  1016.                     swait()
  1017.                 else
  1018.                     wait()
  1019.                 end
  1020.             end
  1021.             if(Settings.RemoveOnGoal)then
  1022.                 Prt:destroy()
  1023.             end
  1024.         end
  1025.     end)()
  1026.     return Prt,Msh,Snd
  1027. end
  1028.  
  1029.  
  1030. function SoulSteal(character)
  1031.     local torso = (character:FindFirstChild'Head' or character:FindFirstChild'Torso' or character:FindFirstChild'UpperTorso' or character:FindFirstChild'LowerTorso' or character:FindFirstChild'HumanoidRootPart')
  1032.     print(torso)
  1033.     if(torso and torso:IsA'BasePart')then
  1034.         local Model = Instance.new("Model",Effects)
  1035.         Model.Name = character.Name.."'s Soul"
  1036.         character:BreakJoints()
  1037.         local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
  1038.         Soul.Name = 'Head'
  1039.         NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
  1040.         Effect{
  1041.             Effect="Arc",
  1042.             Manual = Soul,
  1043.             FXSettings={
  1044.                 Start=torso.CFrame,
  1045.                 Home = Torso,
  1046.                 RemoveOnGoal = true,
  1047.             }
  1048.         }
  1049.         local lastPoint = Soul.CFrame.p
  1050.    
  1051.         for i = 0, 1, 0.01 do
  1052.                 local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
  1053.                 local mag = (lastPoint - Soul.Position).magnitude
  1054.                 Effect{
  1055.                     Effect = "Fade",
  1056.                     CFrame = point * CF.N(0, mag/2, 0),
  1057.                     Size = V3.N(.5,mag+.5,.5),
  1058.                     Color = Soul.BrickColor
  1059.                 }
  1060.                 lastPoint = Soul.CFrame.p
  1061.             swait()
  1062.         end
  1063.         for i = 1, 5 do
  1064.             Effect{
  1065.                 Effect="Fade",
  1066.                 Color = BrickColor.new'Really red',
  1067.                 MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  1068.             }  
  1069.         end
  1070.     end
  1071. end
  1072.  
  1073. --// Other Functions \\ --
  1074.  
  1075. function getRegion(point,range,ignore)
  1076.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  1077. end
  1078.  
  1079. function clerp(startCF,endCF,alpha)
  1080.     return startCF:lerp(endCF, alpha)
  1081. end
  1082.  
  1083. function GetTorso(char)
  1084.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso'
  1085. end
  1086.  
  1087.  
  1088.  
  1089. function ShowDamage(Pos, Text, Time, Color)
  1090.     coroutine.wrap(function()
  1091.     local Rate = (1 / 30)
  1092.     local Pos = (Pos or Vector3.new(0, 0, 0))
  1093.     local Text = (Text or "")
  1094.     local Time = (Time or 2)
  1095.     local Color = (Color or Color3.new(1, 0, 1))
  1096.     local EffectPart = NewInstance("Part",Effects,{
  1097.         Material=Enum.Material.SmoothPlastic,
  1098.         RArmlectance = 0,
  1099.         Transparency = 1,
  1100.         BrickColor = BrickColor.new(Color),
  1101.         Name = "Effect",
  1102.         Size = Vector3.new(0,0,0),
  1103.         Anchored = true
  1104.     })
  1105.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1106.         Size = UDim2.new(1.25, 0, 1.25, 0),
  1107.         Adornee = EffectPart,
  1108.     })
  1109.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1110.         BackgroundTransparency = 1,
  1111.         Size = UDim2.new(1, 0, 1, 0),
  1112.         Text = Text,
  1113.         Font = "Arial",
  1114.         TextColor3 = Color,
  1115.         TextStrokeColor3 = Color3.new(0,0,0),
  1116.         TextStrokeTransparency=0,
  1117.         TextScaled = true,
  1118.     })
  1119.     game.Debris:AddItem(EffectPart, (Time))
  1120.     EffectPart.Parent = game:GetService("Workspace")
  1121.     delay(0, function()
  1122.         local Frames = (Time / Rate)
  1123.         for Frame = 1, Frames do
  1124.             wait(Rate)
  1125.             local Percent = (Frame / Frames)
  1126.             EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  1127.             TextLabel.TextTransparency = Percent
  1128.             TextLabel.TextStrokeTransparency = Percent
  1129.         end
  1130.         if EffectPart and EffectPart.Parent then
  1131.             EffectPart:Destroy()
  1132.         end
  1133.     end) end)()
  1134. end
  1135.  
  1136.  
  1137. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  1138.     if(who)then
  1139.         local hum = who:FindFirstChildOfClass'Humanoid'
  1140.         local Damage = M.RNG(minDam,maxDam)
  1141.         local canHit = true
  1142.         if(hum)then
  1143.             for _, p in pairs(Hit) do
  1144.                 if p[1] == hum then
  1145.                     if(time() - p[2] < 0.1) then
  1146.                         canHit = false
  1147.                     else
  1148.                         Hit[_] = nil
  1149.                     end
  1150.                 end
  1151.             end
  1152.             if(canHit)then
  1153.                 if(hum.Health >= math.huge)then
  1154.                     who:BreakJoints()
  1155.                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  1156.                         ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "INSTANT", 1.5, C3.N(1,0,0))
  1157.                     end
  1158.                 else
  1159.                     local player = S.Players:GetPlayerFromCharacter(who)
  1160.                     if(Type == "Fire")then
  1161.                         --idk..
  1162.                     else
  1163.                         local  c = Instance.new("ObjectValue",hum)
  1164.                         c.Name = "creator"
  1165.                         c.Value = Plr
  1166.                         game:service'Debris':AddItem(c,0.35)
  1167.                         if(M.RNG(1,100) <= (critChance or 0))then
  1168.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  1169.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
  1170.                             end
  1171.                             hum.Health = hum.Health - Damage*(critMult or 2)
  1172.                         else
  1173.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  1174.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), Damage, 1.5, DamageColor.Color)
  1175.                             end
  1176.                             hum.Health = hum.Health - Damage
  1177.                         end
  1178.                         if(Type == 'Knockback' and GetTorso(who))then
  1179.                             local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  1180.                             local body = NewInstance('BodyVelocity',GetTorso(who),{
  1181.                                 P = 500,
  1182.                                 maxForce = V3.N(math.huge,0,math.huge),
  1183.                                 velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  1184.                             })
  1185.                             game:service'Debris':AddItem(body,.5)  
  1186.                         elseif(Type == 'Knockdown' and GetTorso(who))then
  1187.                             local rek = GetTorso(who)
  1188.                             print(rek)
  1189.                             hum.PlatformStand = true
  1190.                             delay(1,function()
  1191.                                 hum.PlatformStand = false
  1192.                             end)
  1193.                             local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  1194.                             local bodvol = NewInstance("BodyVelocity",rek,{
  1195.                                 velocity = angle * Knock,
  1196.                                 P = 5000,
  1197.                                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1198.                             })
  1199.                             local rl = NewInstance("BodyAngularVelocity",rek,{
  1200.                                 P = 3000,
  1201.                                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1202.                                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1203.                             })
  1204.                             game:GetService("Debris"):AddItem(bodvol, .5)
  1205.                             game:GetService("Debris"):AddItem(rl, .5)
  1206.                         end
  1207.                     end
  1208.                 end
  1209.             end
  1210.             table.insert(Hit,{hum,time()})
  1211.         end
  1212.     end
  1213. end
  1214.  
  1215. function AOEDamage(where,range,minDam,maxDam,Knock,Type)
  1216.     for _,v in next, getRegion(where,range,{Char}) do
  1217.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1218.             DealDamage(v.Parent,minDam,maxDam,Knock,Type)
  1219.         end
  1220.     end
  1221. end
  1222.  
  1223. function AOEFunction(where,range,callback)
  1224.     for _,v in next, getRegion(where,range,{Char}) do
  1225.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1226.             callback(v.Parent)
  1227.         end
  1228.     end
  1229. end
  1230.  
  1231. function ClosestHumanoid(pos,range)
  1232.     local mag,closest = math.huge;
  1233.     for _,v in next, getRegion(pos,range or 10,{Char}) do
  1234.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')
  1235.         if((v.CFrame.p-pos).magnitude < mag and hum and closest ~= hum and hum.Health > 0)then
  1236.             mag = (v.CFrame.p-pos).magnitude
  1237.             closest = hum
  1238.         end
  1239.     end
  1240.     return closest,(closest and GetTorso(closest.Parent) or nil)
  1241. end
  1242.  
  1243. function AOEHeal(where,range,amount)
  1244.     local healed = {}
  1245.     for _,v in next, getRegion(where,range,{Char}) do
  1246.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1247.         if(hum and not healed[hum])then
  1248.             hum.Health = hum.Health + amount
  1249.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1250.                 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'Really red'.Color)
  1251.             end
  1252.         end
  1253.     end
  1254. end
  1255.  
  1256. Player_Size = 1
  1257. local equipped = false
  1258. local idle = 0
  1259. local change = 1
  1260. local val = 0
  1261. local toim = 0
  1262. local idleanim = 0.4
  1263. sine=0
  1264. local sine = 0
  1265. local sine=0
  1266. sine = 0
  1267. sine = sine + change
  1268. local MusicID = 1030796589
  1269. local MusicPitch = 1.3
  1270. local Music = Sound(Char,MusicID,MusicPitch,3,true,false,true)
  1271. Music.Name = 'Music'
  1272. Music.TimePosition = 50
  1273.  
  1274. local naeeym2 = Instance.new("BillboardGui",char)
  1275. naeeym2.AlwaysOnTop = true
  1276. naeeym2.Size = UDim2.new(5,35,2,35)
  1277. naeeym2.StudsOffset = Vector3.new(0,2,0)
  1278. naeeym2.Adornee = hed
  1279. naeeym2.Name = "Name"
  1280.  
  1281. local tecks2 = Instance.new("TextLabel",naeeym2)
  1282. tecks2.BackgroundTransparency = 1
  1283. tecks2.TextScaled = true
  1284. tecks2.BorderSizePixel = 0
  1285. tecks2.Text = ""
  1286. tecks2.Font = "Code"
  1287. tecks2.TextSize = 30
  1288. tecks2.TextStrokeTransparency = 0
  1289. tecks2.TextColor3 = BrickColor.new('Really Red').Color
  1290. tecks2.TextStrokeColor3 = BrickColor.new('Really Red').Color
  1291. tecks2.Size = UDim2.new(1,0,0.5,0)
  1292. tecks2.Parent = naeeym2
  1293. textfag = tecks2
  1294. tecks2.Text = "dont leak or die"
  1295. wait(3)
  1296. tecks2.Text = "help im having a seizure"
  1297. local sillsky = Instance.new('Sky', game:GetService'Lighting')
  1298. sillsky.SkyboxBk = "rbxassetid://157712259"
  1299. sillsky.SkyboxDn = "rbxassetid://157712247"
  1300. sillsky.SkyboxFt = "rbxassetid://157712266"
  1301. sillsky.SkyboxLf = "rbxassetid://157712240"
  1302. sillsky.SkyboxRt = "rbxassetid://157712254"
  1303. sillsky.SkyboxUp = "rbxassetid://157712276"
  1304. sillsky.StarCount = 0
  1305. sillsky.SunAngularSize = 0
  1306. sillsky.MoonAngularSize = 0
  1307. sillsky.MoonTextureId = ""
  1308. sillsky.CelestialBodiesShown = false
  1309. game.Lighting.FogColor = Color3.new(0,0,0)
  1310. game.Lighting.FogEnd = 100000000
  1311. sillsky.Parent = Character
  1312. coroutine.resume(coroutine.create(function()
  1313.     while wait() do
  1314.          wait()
  1315. sillsky.Parent = game.Lighting
  1316. wait(0.001)
  1317. sillsky.Parent = Character
  1318. Character.Parent = workspace
  1319.     end
  1320. end))
  1321. coroutine.resume(coroutine.create(function()
  1322.     while wait() do
  1323.          wait()
  1324. Humanoid = Character.Humanoid
  1325. Humanoid:Destroy()
  1326. IT = Instance.new
  1327. Humanoid = IT("Humanoid",Character)
  1328. wait(0.000001)
  1329. Animator = IT("Animator",Humanoid)
  1330.     end
  1331. end))
  1332. coroutine.resume(coroutine.create(function()
  1333.     while textfag ~= nil do
  1334.         swait()
  1335.         textfag.Position = UDim2.new(math.random(-.2,.2),math.random(-3,3),.05,math.random(-3,3))  
  1336.         textfag.Rotation = math.random(-3,30)
  1337. tecks2.TextColor3 = BrickColor.new('Really Red').Color
  1338.     end
  1339. end))
  1340. coroutine.resume(coroutine.create(function()
  1341.     while wait() do
  1342.          wait()
  1343. tecks2.TextColor3 = BrickColor.new('Really Red').Color
  1344.         tecks2.Text = ("help im having a seizure")
  1345.        wait(2)
  1346.        tecks2.Text = ("call the doctor")
  1347.       wait(3)
  1348.       tecks2.Text = ("please help")
  1349. wait(3)
  1350. tecks2.Text = ("hello help plz")
  1351. wait(0.5)
  1352. tecks2.Text = ("how it feels 2 chew 5 gum")
  1353. wait(1)
  1354. tecks2.Text = ("meemdic")
  1355. wait(0.6)
  1356. tecks2.Text = ("medic is spah")
  1357. wait(0.5)
  1358. tecks2.Text = ("help defend")
  1359. wait(0.3)
  1360. tecks2.Text = ("after 9 years in development hopefully it would of been worth the wait")
  1361. wait(1)
  1362. tecks2.Text = ("stupid spy's bloody useless")
  1363. wait(0.1)
  1364. tecks2.Text = ("seizure tem1!!!11111!")
  1365. wait(1)
  1366. tecks2.Text = ("#### off big head")
  1367. wait(0.6)
  1368. tecks2.Text = ("a n g e r y")
  1369. wait(2)
  1370.     end
  1371. end))
  1372.  
  1373. while true do
  1374. wait()
  1375.     if(not Music or not Music.Parent)then
  1376.         local a = Music.TimePosition
  1377.         Music = Sound(Char,MusicID,MusicPitch,2,true,false,true)
  1378.         Music.Name = 'Music'
  1379.         Music.TimePosition = 50
  1380.     end
  1381.     if(Music.Volume ~= 2)then Music.Volume = 2 end
  1382.         rootj.C0 = clerp(rootj.C0, RootCF * CF(0, 0, -0.1 + 0.1) * angles(math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.15)
  1383.         tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.3)
  1384.         RH.C0 = clerp(RH.C0, CF(1, -0.9 - 0.1 , 0.001 * Cos(sine / 20)) * RHCF * angles (math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.15)
  1385.         LH.C0 = clerp(LH.C0, CF(-1, -0.9 - 0.1 , 0.001 * Cos(sine / 20)) * LHCF * angles(math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.15)
  1386.         RW.C0 = clerp(RW.C0, CF(1.2, 0.5 + 0.05 * Sin(sine / 30), 0.001 * Cos(sine / 20)) * angles (math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.1)
  1387.         LW.C0 = clerp(LW.C0, CF(-1.2, 0.5 + 0.05 * Sin(sine / 30), 0.001 * Cos(sine / 20)) * angles(math.random(-25,25),math.random(-25,25),math.random(-25,25)), 0.1)
  1388. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement