Advertisement
Bendy928443534

DOILDO

Jul 5th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.07 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. local rp = RealPlayer
  6. script.Parent = rp.Character
  7.  
  8. --RemoteEvent for communicating
  9. local Event = Instance.new("RemoteEvent")
  10. Event.Name = "UserInput_Event"
  11.  
  12. --Fake event to make stuff like Mouse.KeyDown work
  13. local function fakeEvent()
  14. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  15. t.connect = t.Connect
  16. return t
  17. end
  18.  
  19. --Creating fake input objects with fake variables
  20. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  21. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  22. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  23. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  24. end}
  25. --Merged 2 functions into one by checking amount of arguments
  26. CAS.UnbindAction = CAS.BindAction
  27.  
  28. --This function will trigger the events that have been :Connect()'ed
  29. local function te(self,ev,...)
  30. local t = m[ev]
  31. if t and t._fakeEvent then
  32. for _,f in pairs(t.Functions) do
  33. f(...)
  34. end
  35. end
  36. end
  37. m.TrigEvent = te
  38. UIS.TrigEvent = te
  39.  
  40. Event.OnServerEvent:Connect(function(plr,io)
  41. if plr~=rp then return end
  42. m.Target = io.Target
  43. m.Hit = io.Hit
  44. if not io.isMouse then
  45. local b = io.UserInputState == Enum.UserInputState.Begin
  46. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  47. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  48. end
  49. for _,t in pairs(CAS.Actions) do
  50. for _,k in pairs(t.Keys) do
  51. if k==io.KeyCode then
  52. t.Function(t.Name,io.UserInputState,io)
  53. end
  54. end
  55. end
  56. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  57. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  58. end
  59. end)
  60.  
  61. -- Created by Nebula_Zorua --
  62. -- Didlo --
  63. -- even nooby agreed that I should continue this --
  64. -- Discord: Nebula the Zorua#6969
  65. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  66. repeat wait() until script:WaitForChild'Owner'.Value
  67. local Player = script:WaitForChild'Owner'.Value
  68. script.Owner:destroy()
  69. local FakeMouse = script.FakeMouse:Clone();
  70. FakeMouse.Parent = Player.Character;
  71. script.FakeMouse:Destroy()
  72. FXEvent = _G.GetNebFXEvent(Player,game.JobId)
  73. do
  74. local GUID = {}
  75. do
  76. GUID.IDs = {};
  77. function GUID:new(len)
  78. local id;
  79. if(not len)then
  80. id = (tostring(function() end))
  81. id = id:gsub("function: ","")
  82. else
  83. local function genID(len)
  84. local newID = ""
  85. for i = 1,len do
  86. newID = newID..string.char(math.random(48,90))
  87. end
  88. return newID
  89. end
  90. repeat id = genID(len) until not GUID.IDs[id]
  91. local oid = id;
  92. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  93. GUID.IDs[oid]=true;
  94. end
  95. return id
  96. end
  97. end
  98.  
  99. local AHB = Instance.new("BindableEvent")
  100.  
  101. local FPS = 30
  102.  
  103. local TimeFrame = 0
  104.  
  105. local LastFrame = tick()
  106. local Frame = 1/FPS
  107.  
  108. game:service'RunService'.Heartbeat:connect(function(s,p)
  109. TimeFrame = TimeFrame + s
  110. if(TimeFrame >= Frame)then
  111. for i = 1,math.floor(TimeFrame/Frame) do
  112. AHB:Fire()
  113. end
  114. LastFrame=tick()
  115. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  116. end
  117. end)
  118.  
  119.  
  120. function swait(dur)
  121. if(dur == 0 or typeof(dur) ~= 'number')then
  122. AHB.Event:wait()
  123. else
  124. for i = 1, dur*FPS do
  125. AHB.Event:wait()
  126. end
  127. end
  128. end
  129.  
  130. local oPlayer = Player
  131. local Player = oPlayer
  132.  
  133. local loudnesses={}
  134. script.Parent = Player.Character
  135. local CoAS = {Actions={}}
  136. local Event = Instance.new("RemoteEvent")
  137. Event.Name = "UserInputEvent"
  138. Event.Parent = Player.Character
  139. local Func = Instance.new("RemoteFunction")
  140. Func.Name = "GetClientProperty"
  141. Func.Parent = Player.Character
  142. local fakeEvent = function()
  143. local t = {_fakeEvent=true,Waited={},Connected={}}
  144. t.Connect = function(self,f)
  145. local ft={}
  146. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  147. ft.Disconnect=ft.disconnect
  148.  
  149. ft.Func=function(...)
  150. for id,_ in next, t.Waited do
  151. t.Waited[id] = true
  152. end
  153. return f(...)
  154. end;
  155.  
  156. table.insert(self.Connected,ft)
  157. return ft;
  158. end
  159. t.connect = t.Connect
  160. t.Wait = function()
  161. local guid = GUID:new(25)
  162. local waitingId = guid:Get()
  163. t.Waited[waitingId]=false
  164. repeat swait() until t.Waited[waitingId]==true
  165. t.Waited[waitingId]=nil;
  166. guid:Trash()
  167. end
  168. t.wait = t.Wait
  169. return t
  170. end
  171. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  172. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  173. local Run = {RenderStepped=fakeEvent()}
  174.  
  175. function CoAS:BindAction(name,fun,touch,...)
  176. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  177. end
  178. function CoAS:UnbindAction(name)
  179. CoAS.Actions[name] = nil
  180. end
  181. local function te(self,ev,...)
  182. local t = self[ev]
  183. if t and t._fakeEvent and t.Connected then
  184. for i,v in next, t.Connected do
  185. if(v.Func and not v.Disconnected)then
  186. v.Func(...)
  187. else
  188. t.Connected[i]=nil
  189. end
  190. end
  191. end
  192. end
  193. m.TrigEvent = te
  194. UsIS.TrigEvent = te
  195. Run.TrigEvent = te
  196. Event.OnServerEvent:Connect(function(plr,io)
  197. if plr~=Player then return end
  198. --[[table.foreach(io,print)
  199. print'---']]
  200. if io.Mouse then
  201. m.Target = io.Target
  202. m.Hit = io.Hit
  203. elseif io.KeyEvent then
  204. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  205. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  206. if io.UserInputState == Enum.UserInputState.Begin then
  207. m:TrigEvent("Button1Down")
  208. else
  209. m:TrigEvent("Button1Up")
  210. end
  211. end
  212. if(not io.KeyEvent and not io.Mouse)then
  213.  
  214. for n,t in pairs(CoAS.Actions) do
  215. for _,k in pairs(t.Keys) do
  216. if k==io.KeyCode then
  217. t.Function(t.Name,io.UserInputState,io)
  218. end
  219. end
  220. end
  221. if io.UserInputState == Enum.UserInputState.Begin then
  222. UsIS:TrigEvent("InputBegan",io,false)
  223. else
  224. UsIS:TrigEvent("InputEnded",io,false)
  225. end
  226. end
  227. end)
  228.  
  229. Func.OnServerInvoke = function(plr,inst,play)
  230. if plr~=Player then return end
  231. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  232. loudnesses[inst]=play
  233. end
  234. end
  235.  
  236. function GetClientProperty(inst,prop)
  237. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  238. return loudnesses[inst]
  239. elseif(prop == 'PlaybackLoudness')then
  240. return Func:InvokeClient(Player,'RegSound',inst)
  241. end
  242. return Func:InvokeClient(Player,inst,prop)
  243. end
  244. local oldGame = game;
  245. function GetFakePlayer()
  246. local oldPlayer = Player;
  247. local fakePlayer = newproxy(true)
  248. getmetatable(fakePlayer).__index = function(s,i)
  249. if(i == 'GetMouse')then
  250. return function() return m; end
  251. end
  252. return Player[i]
  253. end
  254. getmetatable(fakePlayer).__newindex = function(s,i,v)
  255. Player[i]=v
  256. end
  257. getmetatable(fakePlayer).__call=function(self,...)
  258. if(self == fakePlayer)then self = Player end
  259. local wh = {...}
  260. local name = table.remove(wh,1)
  261. for i,v in next, wh do
  262. wh[i]=v
  263. end
  264. if(name == 'GetMouse')then
  265. return m;
  266. end
  267. return self(name,unpack(wh))
  268. end
  269. getmetatable(fakePlayer).__namecall=function(self,...)
  270. if(self == fakePlayer)then self = Player end
  271. local tuple={...}
  272. local name = table.remove(tuple,#tuple)
  273.  
  274. if(name == 'GetMouse')then
  275. return m;
  276. else
  277. return self[name](self,unpack(tuple))
  278. end
  279. end
  280.  
  281. return fakePlayer
  282. end
  283. local oll = LoadLibrary;
  284. function LoadLibrary(libtard)
  285. local libtarddestroyed=oll(libtard)
  286. if(libtard=='RbxUtility')then
  287. local library={Create=function(obj)
  288. local inst = Instance.new(obj)
  289. return function(props)
  290. for prop,valu in next, props do
  291. inst[prop]=valu
  292. end
  293. return inst
  294. end
  295. end}
  296. setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
  297.  
  298. return library
  299. else
  300. return libtarddestroyed
  301. end
  302. end
  303. fakePlayer = GetFakePlayer()
  304. local function GetService(s,i)
  305. local service = s:GetService(i)
  306. if(i == 'Players')then
  307. local oldService = service;
  308. local fakeService = newproxy(true)
  309. getmetatable(fakeService).__index = function(s,i)
  310. if(s == fakeService)then s=oldService end
  311. if(i == 'LocalPlayer' or i == 'localPlayer')then
  312. return fakePlayer
  313. elseif(i == 'oPlayer')then
  314. return oPlayer
  315. else
  316. return s[i]
  317. end
  318. end
  319. getmetatable(fakeService).__newindex = function(s,i,v)
  320. if(s == fakeService)then s=oldService end
  321. s[i]=v
  322. end
  323. getmetatable(fakeService).__call=function(self,...)
  324. if(self == fakeService)then self = oldService end
  325. local wh = {...}
  326. local name = table.remove(wh,1)
  327. for i,v in next, wh do
  328. wh[i]=v
  329. end
  330. return self(name,unpack(wh))
  331. end
  332. getmetatable(fakeService).__namecall=function(self,...)
  333. if(self == fakeService)then self = oldService end
  334. local tuple={...}
  335. local name = table.remove(tuple,#tuple)
  336.  
  337. return self[name](self,unpack(tuple))
  338. end
  339. getmetatable(fakeService).__metatable = 'gay'
  340. return fakeService
  341. elseif(i == 'RunService')then
  342. local oldService = service;
  343. local fakeService = newproxy(true)
  344. getmetatable(fakeService).__index = function(s,i)
  345. if(s == fakeService)then s=oldService end
  346. return Run[i] or s[i]
  347. end
  348. getmetatable(fakeService).__newindex = function(s,i,v)
  349. if(s == fakeService)then s=oldService end
  350. s[i]=v
  351. end
  352. getmetatable(fakeService).__call=function(self,...)
  353. if(self == fakeService)then self = oldService end
  354. local wh = {...}
  355. local name = table.remove(wh,1)
  356. for i,v in next, wh do
  357. wh[i]=v
  358. end
  359. return self(name,unpack(wh))
  360. end
  361. getmetatable(fakeService).__namecall=function(self,...)
  362. if(self == fakeService)then self = oldService end
  363. local tuple={...}
  364. local name = table.remove(tuple,#tuple)
  365.  
  366. return self[name](self,unpack(tuple))
  367. end
  368. getmetatable(fakeService).__metatable = 'gay'
  369. return fakeService
  370. elseif(i == 'UserInputService')then
  371. return UsIS
  372. elseif(i == 'ContextActionService')then
  373. return CoAS;
  374. else
  375. return service
  376. end
  377. end
  378.  
  379. local new = Instance.new;
  380. Instance = {}
  381. Instance.new = function(inst,obje)
  382. local lp = GetService(oldGame,'Players').localPlayer
  383. local instance = new(inst)
  384. if(inst=='ObjectValue')then
  385. local fake = newproxy(true)
  386. getmetatable(fake).__index=function(self,index)
  387. if(self==fake)then self=instance end
  388. return self[index]
  389. end
  390. getmetatable(fake).__newindex=function(self,index,value)
  391. if(self==fake)then self=instance end
  392. if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
  393. self[index]=oPlayer
  394. else
  395. self[index]=value
  396. end
  397. end
  398. getmetatable(fake).__call=function(self,...)
  399. if(self == fake)then self = instance end
  400. local wh = {...}
  401. local name = table.remove(wh,1)
  402. for i,v in next, wh do
  403. if(v == fake)then v = instance end
  404. wh[i]=v
  405. end
  406. return self(name,unpack(wh))
  407. end
  408. getmetatable(fake). __namecall=function(self,...)
  409. if(self == fake)then self = instance end
  410. local tuple={...}
  411. local name = table.remove(tuple,#tuple)
  412. return self[name](self,unpack(tuple))
  413. end
  414. return fake
  415. else
  416. instance.Parent = obje
  417. return instance;
  418. end
  419.  
  420. end
  421. local serviceFunctions={
  422. service=true,
  423. GetService=true,
  424. }
  425. local fakeGame = newproxy(true)
  426. getmetatable(fakeGame).__index = function(s,i)
  427. if(s == fakeGame)then s=oldGame end
  428. local serv = GetService(oldGame,i)
  429. if serviceFunctions[i] then
  430. return GetService
  431. elseif(serv)then
  432. return serv
  433. else
  434. return s[i]
  435. end
  436. end
  437. getmetatable(fakeGame).__newindex = function(s,i,v)
  438. if(s == fakeGame)then s=oldGame end
  439. s[i]=v
  440. end
  441. getmetatable(fakeGame).__call=function(self,...)
  442. if(self == fakeGame)then self = oldGame end
  443. local wh = {...}
  444. local name = table.remove(wh,1)
  445. for i,v in next, wh do
  446. if(v == fakeGame)then v = oldGame end
  447. wh[i]=v
  448. end
  449. if serviceFunctions[name] then
  450. return GetService(self,unpack(wh))
  451. else
  452. return self(name,unpack(wh))
  453. end
  454. end
  455. getmetatable(fakeGame). __namecall=function(self,...)
  456. if(self == fakeGame)then self = oldGame end
  457. local tuple={...}
  458. local name = table.remove(tuple,#tuple)
  459.  
  460. local funcToCall=self[name]
  461.  
  462. if serviceFunctions[name] then
  463. return GetService(self,unpack(tuple))
  464. else
  465. return self[name](self,unpack(tuple))
  466. end
  467. end
  468. getmetatable(fakeGame).__metatable = 'gay'
  469.  
  470. coroutine.wrap(function()
  471. while true do
  472. Run:TrigEvent('RenderStepped')
  473. swait()
  474. end
  475. end)()
  476. game=fakeGame
  477. UserInputService,ContextActionService = UsIS,CoAS
  478. end
  479.  
  480. -- paste your code down here
  481. -- template made by Drahazar#5976
  482.  
  483.  
  484. wait(1/60)
  485.  
  486. --// Shortcut Variables \\--
  487. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  488. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  489. local C3 = {tRGB= function(c3) return c3.r*255,c3.g*255,c3.b*255 end,N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  490. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  491. 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}
  492. local R3 = {N=Region3.new}
  493. local De = S.Debris
  494. local WS = workspace
  495. local Lght = S.Lighting
  496. local RepS = S.ReplicatedStorage
  497. local IN = Instance.new
  498. local Plrs = S.Players
  499.  
  500. --// Initializing \\--
  501. local Plr = Plrs.LocalPlayer
  502. local Char = Plr.Character
  503. local Hum = Char:FindFirstChildOfClass'Humanoid'
  504. local RArm = Char["Right Arm"]
  505. local LArm = Char["Left Arm"]
  506. local RLeg = Char["Right Leg"]
  507. local LLeg = Char["Left Leg"]
  508. local Root = Char:FindFirstChild'HumanoidRootPart'
  509. local Morph = script:FindFirstChild'Morph'
  510. local Torso = Char.Torso
  511. local Head = Char.Head
  512. local NeutralAnims = true
  513. local Attack = false
  514. local Debounces = {Debounces={}}
  515. local Mouse = Plr:GetMouse()
  516. local Hit = {}
  517. local Sine = 0
  518. local Change = 1
  519. local BloodPuddles = {}
  520. local Penetrated = {Who=nil,Weld=nil}
  521. local FXFolder = script:FindFirstChild'Effects'
  522. FXFolder.Parent = nil
  523. local legAnims = true
  524.  
  525. local Effects = IN("Folder",Char)
  526. Effects.Name = "Effects"
  527.  
  528.  
  529. --// Debounce System \\--
  530.  
  531.  
  532. function Debounces:New(name,cooldown)
  533. local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  534. setmetatable(aaaaa,{__index = Debounces})
  535. Debounces.Debounces[name] = aaaaa
  536. return aaaaa
  537. end
  538.  
  539. function Debounces:Use(overrideUsable)
  540. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  541. if(self.Usable or overrideUsable)then
  542. self.Usable = false
  543. self.CoolingDown = true
  544. local LastUse = time()
  545. self.LastUse = LastUse
  546. delay(self.Cooldown or 2,function()
  547. if(self.LastUse == LastUse)then
  548. self.CoolingDown = false
  549. self.Usable = true
  550. end
  551. end)
  552. end
  553. end
  554.  
  555. function Debounces:Get(name)
  556. assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  557. for i,v in next, Debounces.Debounces do
  558. if(i == name)then
  559. return v;
  560. end
  561. end
  562. end
  563.  
  564. function Debounces:GetProgressPercentage()
  565. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  566. if(self.CoolingDown and not self.Usable)then
  567. return math.max(
  568. math.floor(
  569. (
  570. (time()-self.LastUse)/self.Cooldown or 2
  571. )*100
  572. )
  573. )
  574. else
  575. return 100
  576. end
  577. end
  578.  
  579. --// Instance Creation Functions \\--
  580. local baseSound = IN("Sound")
  581. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  582. local Sound = baseSound:Clone()
  583. Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  584. Sound.Pitch = pitch or 1
  585. Sound.Volume = volume or 1
  586. Sound.Looped = looped or false
  587. if(autoPlay)then
  588. coroutine.wrap(function()
  589. repeat wait() until Sound.IsLoaded
  590. Sound.Playing = autoPlay or false
  591. end)()
  592. end
  593. if(not looped and effect)then
  594. Sound.Stopped:connect(function()
  595. Sound.Volume = 0
  596. Sound:destroy()
  597. end)
  598. elseif(effect)then
  599. warn("Sound can't be looped and a sound effect!")
  600. end
  601. Sound.Parent =parent or Torso
  602. return Sound
  603. end
  604. function Part(parent,color,material,size,cframe,anchored,cancollide)
  605. local part = IN("Part")
  606. part.Parent = parent or Char
  607. part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  608. part.Material = material or Enum.Material.SmoothPlastic
  609. part.TopSurface,part.BottomSurface=10,10
  610. part.Size = size or V3.N(1,1,1)
  611. part.CFrame = cframe or CF.N(0,0,0)
  612. part.CanCollide = cancollide or false
  613. part.Anchored = anchored or false
  614. return part
  615. end
  616.  
  617. function Weld(part0,part1,c0,c1)
  618. local weld = IN("Weld")
  619. weld.Parent = part0
  620. weld.Part0 = part0
  621. weld.Part1 = part1
  622. weld.C0 = c0 or CF.N()
  623. weld.C1 = c1 or CF.N()
  624. return weld
  625. end
  626.  
  627. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  628. local part = IN("SpecialMesh")
  629. part.MeshId = meshid or ""
  630. part.TextureId = textid or ""
  631. part.Scale = scale or V3.N(1,1,1)
  632. part.Offset = offset or V3.N(0,0,0)
  633. part.MeshType = meshtype or Enum.MeshType.Sphere
  634. part.Parent = parent
  635. return part
  636. end
  637.  
  638. NewInstance = function(instance,parent,properties)
  639. local inst = Instance.new(instance)
  640. inst.Parent = parent
  641. if(properties)then
  642. for i,v in next, properties do
  643. pcall(function() inst[i] = v end)
  644. end
  645. end
  646. return inst;
  647. end
  648.  
  649. function Clone(instance,parent,properties)
  650. local inst = instance:Clone()
  651. inst.Parent = parent
  652. if(properties)then
  653. for i,v in next, properties do
  654. pcall(function() inst[i] = v end)
  655. end
  656. end
  657. return inst;
  658. end
  659.  
  660. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  661. local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  662. local Sound = IN("Sound")
  663. Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  664. Sound.Pitch = pitch or 1
  665. Sound.Volume = volume or 1
  666. Sound.Looped = looped or false
  667. if(autoPlay)then
  668. coroutine.wrap(function()
  669. repeat wait() until Sound.IsLoaded
  670. Sound.Playing = autoPlay or false
  671. end)()
  672. end
  673. if(not looped and effect)then
  674. Sound.Stopped:connect(function()
  675. Sound.Volume = 0
  676. soundPart:destroy()
  677. end)
  678. elseif(effect)then
  679. warn("Sound can't be looped and a sound effect!")
  680. end
  681. Sound.Parent = soundPart
  682. return Sound
  683. end
  684.  
  685.  
  686. --// Extended ROBLOX tables \\--
  687. 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})
  688. --// Require stuff \\--
  689. function CamShake(who,times,intense,origin)
  690. coroutine.wrap(function()
  691. if(FXFolder:FindFirstChild'CamShake')then
  692. local cam = FXFolder.CamShake:Clone()
  693. cam:WaitForChild'intensity'.Value = intense
  694. cam:WaitForChild'times'.Value = times
  695.  
  696. if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  697. cam.Parent = who
  698. wait()
  699. cam.Disabled = false
  700. end
  701. end)()
  702. end
  703.  
  704.  
  705. function CamShakeAll(times,intense,origin)
  706. for _,v in next, Plrs:players() do
  707. CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  708. end
  709. end
  710.  
  711. function ServerScript(code)
  712. if(script:FindFirstChild'Loadstring')then
  713. local load = script.Loadstring:Clone()
  714. load:WaitForChild'Sauce'.Value = code
  715. load.Disabled = false
  716. load.Parent = workspace
  717. elseif(NS and typeof(NS) == 'function')then
  718. NS(code,workspace)
  719. else
  720. warn("no serverscripts lol")
  721. end
  722. end
  723.  
  724. function LocalOnPlayer(who,code)
  725. ServerScript([[
  726. wait()
  727. script.Parent=nil
  728. if(not _G.Http)then _G.Http = game:service'HttpService' end
  729.  
  730. local Http = _G.Http or game:service'HttpService'
  731.  
  732. local source = ]].."[["..code.."]]"..[[
  733. local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  734. local asd = Http:PostAsync(link,source)
  735. repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  736. local ID = Http:JSONDecode(asd).Result.Require_ID
  737. local vs = require(ID).VORTH_SCRIPT
  738. vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  739. ]])
  740. end
  741.  
  742. function Nametag(color,tag)
  743. local r,g,b = C3.tRGB(color)
  744. local c3 = C3.RGB(r/2,g/2,b/2)
  745. local name = script:FindFirstChild'Nametag' and script.Nametag:Clone();
  746. if(not name)then
  747. name = NewInstance("BillboardGui",nil,{MaxDistance=150,AlwaysOnTop=true,Active=false,Size=UDim2.new(5,0,1,0),SizeOffset=Vector2.new(0,6)})
  748. NewInstance("TextLabel",name,{Name='PlayerName',BackgroundTransparency=1,Size=UDim2.new(1,0,1,0),Text=Plr.Name,Font=Enum.Font.Fantasy,TextColor3 = color,TextStrokeColor3 = c3,TextSize=14,TextScaled=true,TextWrapped=true,})
  749. NewInstance("TextLabel",name,{Name='Title',BackgroundTransparency=1,Size=UDim2.new(2.5,0,1.5,0),Position=UDim2.new(-.75,0,.9,0),Text=tag,Font=Enum.Font.Fantasy,TextColor3 = color,TextStrokeColor3 = c3,TextStrokeTransparency=0,TextSize=14,TextScaled=true,TextWrapped=true,})
  750. end
  751. name.Title.Text = tag
  752. name.Title.TextColor3 = color
  753. name.Title.TextStrokeColor3 = c3
  754.  
  755. name.PlayerName.Text = Plr.Name
  756. name.PlayerName.TextColor3 = color
  757. name.PlayerName.TextStrokeColor3 = c3
  758.  
  759. name.Parent = Char
  760. name.Adornee = Head
  761. name.PlayerToHideFrom = Plr
  762.  
  763. return name
  764. end
  765.  
  766. --// Customization \\--
  767.  
  768. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  769. local Remove_Hats = false
  770. local Remove_Clothing = false
  771. local PlayerSize = 1
  772. local DamageColor = BrickColor.new'Crimson'
  773. local MusicID = 391089144
  774. local God = false
  775. local Muted = false
  776.  
  777. local WalkSpeed = 16
  778.  
  779. --// Weapon and GUI creation, and Character Customization \\--
  780.  
  781. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  782. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  783.  
  784. if(PlayerSize ~= 1)then
  785. for _,v in next, Char:GetDescendants() do
  786. if(v:IsA'BasePart' and not v:IsDescendantOf(script))then
  787. v.Size = v.Size*PlayerSize
  788. end
  789. end
  790. end
  791.  
  792. local dildo = script:WaitForChild'NebulaToy'
  793. dildo.Parent = Char
  794. local hitbox = dildo:WaitForChild'PP':WaitForChild'Hitbox'
  795. local bulge = dildo:WaitForChild'Bulge'
  796. local handle = dildo:WaitForChild'Handle';
  797.  
  798. for _,v in next, dildo:GetDescendants() do
  799. if(v:IsA'BasePart')then
  800. v.CanCollide = false
  801. v.Anchored = false
  802. v.Locked = true
  803. Weld(handle,v,handle.CFrame:inverse()*v.CFrame)
  804. v.CustomPhysicalProperties=PhysicalProperties.new(0,0,0,0,0)
  805. end
  806. end
  807.  
  808. local HW = Weld(RArm,handle,CF.N(0,-1,0)*CF.A(M.R(90),M.R(-90),M.R(90)))
  809. local HWC0 = HW.C0
  810.  
  811. local Music = Sound(Char,MusicID,1,3,true,false,true)
  812. Music.Name = 'Music'
  813.  
  814. --// Stop animations \\--
  815. for _,v in next, Hum:GetPlayingAnimationTracks() do
  816. v:Stop();
  817. end
  818.  
  819. pcall(game.Destroy,Char:FindFirstChild'Animate')
  820. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  821.  
  822. --// Joints \\--
  823.  
  824. 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)})
  825. 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)})
  826. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  827. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  828. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  829. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  830.  
  831. local LSC0 = LS.C0
  832. local RSC0 = RS.C0
  833. local NKC0 = NK.C0
  834. local LHC0 = LH.C0
  835. local RHC0 = RH.C0
  836. local RJC0 = RJ.C0
  837.  
  838. --// Morph \\--
  839.  
  840. if(Morph)then
  841. for _,c in next, Char:children() do
  842. local p = Morph:FindFirstChild(c.Name)
  843. if(p)then
  844. print(p.Name)
  845. p.Parent = Char
  846. c.Transparency = 1
  847. p:SetPrimaryPartCFrame(c.CFrame)
  848. for _,e in next, p:GetDescendants() do
  849. if(e:IsA'BasePart')then
  850. e.CustomPhysicalProperties=PhysicalProperties.new(0,0,0,0,0)
  851. e.Anchored=false
  852. Weld(c,e,c.CFrame:inverse()*e.CFrame)
  853. e.CanCollide=false
  854. e.Locked=true
  855. end
  856. end
  857. end
  858. end
  859. end
  860.  
  861. --// Artificial HB \\--
  862.  
  863. local ArtificialHB = IN("BindableEvent", script)
  864. ArtificialHB.Name = "Heartbeat"
  865.  
  866. script:WaitForChild("Heartbeat")
  867.  
  868. local tf = 0
  869. local allowframeloss = false
  870. local tossremainder = false
  871. local lastframe = tick()
  872. local frame = 1/Frame_Speed
  873. ArtificialHB:Fire()
  874.  
  875. game:GetService("RunService").Heartbeat:connect(function(s, p)
  876. tf = tf + s
  877. if tf >= frame then
  878. if allowframeloss then
  879. script.Heartbeat:Fire()
  880. lastframe = tick()
  881. else
  882. for i = 1, math.floor(tf / frame) do
  883. ArtificialHB:Fire()
  884. end
  885. lastframe = tick()
  886. end
  887. if tossremainder then
  888. tf = 0
  889. else
  890. tf = tf - frame * math.floor(tf / frame)
  891. end
  892. end
  893. end)
  894.  
  895. function swait(num)
  896. if num == 0 or num == nil then
  897. ArtificialHB.Event:wait()
  898. else
  899. for i = 0, num do
  900. ArtificialHB.Event:wait()
  901. end
  902. end
  903. end
  904.  
  905.  
  906. --// Effect Function(s) \\--
  907.  
  908. function NoobySphere(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,MeshId,Axis)
  909. local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  910. local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  911. local Scale = 1
  912. local speeder = Speed
  913. if(Type == "Multiply")then
  914. Scale = 1*Inc
  915. elseif(Type == "Divide")then
  916. Scale = 1/Inc
  917. end
  918. coroutine.wrap(function()
  919. for i = 0,10/Lifetime,.1 do
  920.  
  921. if(Type == "Multiply")then
  922. Scale = Scale - 0.01*Inc/Lifetime
  923. elseif(Type == "Divide")then
  924. Scale = Scale - 0.01/Inc*Lifetime
  925. end
  926. speeder = speeder - 0.01*Speed*Lifetime
  927. fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  928. fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  929. if(Axis == 'x')then
  930. fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, 0, 0)
  931. elseif(Axis == 'y')then
  932. fxM.Scale = fxM.Scale + Vector3.new(0, Scale*Lifetime, 0)
  933. elseif(Axis == 'z')then
  934. fxM.Scale = fxM.Scale + Vector3.new(0, 0, Scale*Lifetime)
  935. elseif(Axis == 'xyz')then
  936. fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,Scale*Lifetime,Scale*Lifetime)
  937. elseif(Axis == 'yz')then
  938. fxM.Scale = fxM.Scale + Vector3.new(0,Scale*Lifetime,Scale*Lifetime)
  939. elseif(Axis == 'xz')then
  940. fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,0,Scale*Lifetime)
  941. else
  942. fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, 0)
  943. end
  944. if(fxP.Transparency >= 1)then break end
  945. swait()
  946. end
  947. fxP:destroy()
  948. end)()
  949. return fxP
  950. end
  951.  
  952. function NoobySphere2(Lifetime,Type,Pos,StartSize,Inc,Color,MeshId)
  953. local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos,true,false)
  954. local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  955.  
  956. local Scale = 1
  957. if(Type == "Multiply")then
  958. Scale = 1*Inc
  959. elseif(Type == "Divide")then
  960. Scale = 1/Inc
  961. end
  962. coroutine.wrap(function()
  963. for i = 0,10/Lifetime,.1 do
  964.  
  965. if(Type == "Multiply")then
  966. Scale = Scale - 0.01*Inc/Lifetime
  967. elseif(Type == "Divide")then
  968. Scale = Scale - 0.01/Inc*Lifetime
  969. end
  970. fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  971. fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  972. swait()
  973. end
  974. fxP:destroy()
  975. end)()
  976. end
  977.  
  978. function NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
  979. local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  980. local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Brick),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  981. local Scale = 1
  982. local speeder = Speed
  983. if(Type == "Multiply")then
  984. Scale = 1*Inc
  985. elseif(Type == "Divide")then
  986. Scale = 1/Inc
  987. end
  988. coroutine.wrap(function()
  989. for i = 0,10/Lifetime,.1 do
  990. if(Type == "Multiply")then
  991. Scale = Scale - 0.01*Inc/Lifetime
  992. elseif(Type == "Divide")then
  993. Scale = Scale - 0.01/Inc*Lifetime
  994. end
  995. if(Fade)then
  996. fxP.Transparency = i/(10/Lifetime)
  997. end
  998. speeder = speeder - 0.01*Speed*Lifetime/10
  999. fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  1000. fxM.Scale = fxM.Scale - Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  1001. swait()
  1002. end
  1003. fxP:destroy()
  1004. end)()
  1005. end
  1006.  
  1007. function Bezier(startpos, pos2, pos3, endpos, t)
  1008. local A = startpos:lerp(pos2, t)
  1009. local B = pos2:lerp(pos3, t)
  1010. local C = pos3:lerp(endpos, t)
  1011. local lerp1 = A:lerp(B, t)
  1012. local lerp2 = B:lerp(C, t)
  1013. local cubic = lerp1:lerp(lerp2, t)
  1014. return cubic
  1015. end
  1016. function Puddle(hit,pos,norm,data)
  1017. local material = data.Material or Enum.Material.Glass
  1018. local color = data.Color or C3.N(.7,0,0)
  1019. local size = data.Size or 1
  1020.  
  1021. if(hit.Name ~= 'BloodPuddle')then
  1022. local Puddle = NewInstance('Part',workspace,{Material=material,[typeof(color)=='BrickColor' and BrickColor or 'Color']=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'})
  1023. local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  1024. Tween(Puddle,{Size=V3.N(size*2,.1,size*2)},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false)
  1025. BloodPuddles[Puddle] = 0
  1026. else
  1027. local cyl = hit:FindFirstChild'CylinderMesh'
  1028. if(cyl)then
  1029. BloodPuddles[hit] = 0
  1030. --cyl.Scale = cyl.Scale + V3.N(size,0,size)
  1031. hit.Color = hit.Color:lerp(color,.05)
  1032. Tween(cyl,{Scale = cyl.Scale + V3.N(size,0,size)},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false)
  1033. hit.Transparency = 0
  1034. end
  1035. end
  1036. end
  1037.  
  1038. local fromaxisangle = function(x, y, z) -- credit to phantom forces devs
  1039. if not y then
  1040. x, y, z = x.x, x.y, x.z
  1041. end
  1042. local m = (x * x + y * y + z * z) ^ 0.5
  1043. if m > 1.0E-5 then
  1044. local si = math.sin(m / 2) / m
  1045. return CFrame.new(0, 0, 0, si * x, si * y, si * z, math.cos(m / 2))
  1046. else
  1047. return CFrame.new()
  1048. end
  1049. end
  1050.  
  1051. function fakePhysics(elapsed,cframe,velocity,rotation,acceleration)
  1052. local pos = cframe.p
  1053. local matrix = cframe-pos
  1054. return fromaxisangle(elapsed*rotation)*matrix+pos+elapsed*velocity+elapsed*elapsed*acceleration
  1055. end
  1056.  
  1057. function Droplet(data)
  1058. local Size = data.Size or 1;
  1059. local Origin = data.Origin or Torso.CFrame;
  1060. local Velocity = data.Velocity or Vector3.new(0,100,0);
  1061. local Gravity = data.Gravity or workspace.Gravity;
  1062. local Color = data.Color or C3.N(.7,0,0);
  1063. local Lifetime = data.Lifetime or 1;
  1064. local Material = data.Material or Enum.Material.Glass;
  1065. local ignore = data.Ignorelist or {Char};
  1066.  
  1067. local drop = Part(Effects,Color,Material,V3.N(Size,Size,Size),Origin,true,false)
  1068. Mesh(drop,Enum.MeshType.Sphere)
  1069. local startTick = tick();
  1070. coroutine.wrap(function()
  1071. while true do
  1072. local elapsed = tick()-startTick
  1073. if(elapsed>Lifetime)then
  1074. drop:destroy();
  1075. break
  1076. end
  1077. local newCF = fakePhysics(elapsed,Origin,Velocity,V3.N(),V3.N(0,-Gravity,0))
  1078. local dist = (drop.Position-newCF.p).magnitude
  1079. local hit,pos,norm = CastRay(drop.Position,newCF.p,dist,ignore)
  1080. if(hit and (hit.CanCollide or hit.Name=='BloodPuddle' or BloodPuddles[hit]) and not hit.Parent:FindFirstChildOfClass'Humanoid')then
  1081. drop:destroy()
  1082. Puddle(hit,pos,norm,data)
  1083. break
  1084. else
  1085. if(hit)then table.insert(ignore,hit) end
  1086. drop.CFrame = newCF
  1087. end
  1088. swait()
  1089. end
  1090. end)()
  1091. end
  1092.  
  1093. function ShootBullet(data)
  1094. --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  1095. local Size = data.Size or V3.N(2,2,2)
  1096. local Color = data.Color or BrickColor.new'Crimson'
  1097. local StudsPerFrame = data.Speed or 10
  1098. local Shape = data.Shape or 'Ball'
  1099. local Frames = data.Frames or 160
  1100. local Pos = data.Origin or Torso.CFrame
  1101. local Direction = data.Direction or Mouse.Hit
  1102. local Material = data.Material or Enum.Material.Neon
  1103. local OnHit = data.HitFunction or function(hit,pos)
  1104. Effect{
  1105. Effect='ResizeAndFade',
  1106. Color=Color,
  1107. Size=V3.N(10,10,10),
  1108. Mesh={MeshType=Enum.MeshType.Sphere},
  1109. CFrame=CF.N(pos),
  1110. FXSettings={
  1111. EndSize=V3.N(.05,.05,.05),
  1112. EndIsIncrement=true
  1113. }
  1114. }
  1115. for i = 1, 5 do
  1116. local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1117. Effect{
  1118. Effect='Fade',
  1119. Frames=65,
  1120. Size=V3.N(5,5,10),
  1121. CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
  1122. Mesh = {MeshType=Enum.MeshType.Sphere},
  1123. Material=Enum.Material.Neon,
  1124. Color=Color,
  1125. MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1126. }
  1127. end
  1128. end
  1129.  
  1130. local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
  1131. local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  1132. if(Shape == 'Ball')then
  1133. BMesh.MeshType = Enum.MeshType.Sphere
  1134. elseif(Shape == 'Head')then
  1135. BMesh.MeshType = Enum.MeshType.Head
  1136. elseif(Shape == 'Cylinder')then
  1137. BMesh.MeshType = Enum.MeshType.Cylinder
  1138. end
  1139.  
  1140. coroutine.wrap(function()
  1141. for i = 1, Frames+1 do
  1142. local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
  1143. if(hit)then
  1144. OnHit(hit,pos,norm,dist)
  1145. break;
  1146. else
  1147. Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
  1148. end
  1149. swait()
  1150. end
  1151. Bullet:destroy()
  1152. end)()
  1153.  
  1154. end
  1155.  
  1156.  
  1157. function Zap(data)
  1158. local sCF,eCF = data.StartCFrame,data.EndCFrame
  1159. assert(sCF,"You need a start CFrame!")
  1160. assert(eCF,"You need an end CFrame!")
  1161. local parts = data.PartCount or 15
  1162. local zapRot = data.ZapRotation or {-5,5}
  1163. local startThick = data.StartSize or 3;
  1164. local endThick = data.EndSize or startThick/2;
  1165. local color = data.Color or BrickColor.new'Electric blue'
  1166. local delay = data.Delay or 35
  1167. local delayInc = data.DelayInc or 0
  1168. local lastLightning;
  1169. local MagZ = (sCF.p - eCF.p).magnitude
  1170. local thick = startThick
  1171. local inc = (startThick/parts)-(endThick/parts)
  1172.  
  1173. for i = 1, parts do
  1174. local pos = sCF.p
  1175. if(lastLightning)then
  1176. pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  1177. end
  1178. delay = delay + delayInc
  1179. local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  1180. 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)))
  1181. if(parts == i)then
  1182. local MagZ = (pos-eCF.p).magnitude
  1183. zapPart.Size = V3.N(endThick,endThick,MagZ)
  1184. zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  1185. 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)}}
  1186. else
  1187. zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  1188. end
  1189.  
  1190. lastLightning = zapPart
  1191. Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  1192.  
  1193. thick=thick-inc
  1194.  
  1195. end
  1196. end
  1197.  
  1198. function Zap2(data)
  1199. local Color = data.Color or BrickColor.new'Electric blue'
  1200. local StartPos = data.Start or Torso.Position
  1201. local EndPos = data.End or Mouse.Hit.p
  1202. local SegLength = data.SegL or 2
  1203. local Thicc = data.Thickness or 0.5
  1204. local Fades = data.Fade or 45
  1205. local Parent = data.Parent or Effects
  1206. local MaxD = data.MaxDist or 200
  1207. local Branch = data.Branches or false
  1208. local Material = data.Material or Enum.Material.Neon
  1209. local Raycasts = data.Raycasts or false
  1210. local Offset = data.Offset or {0,360}
  1211. local AddMesh = (data.Mesh == nil and true or data.Mesh)
  1212. if((StartPos-EndPos).magnitude > MaxD)then
  1213. EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  1214. end
  1215. local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  1216. if(Raycasts)then
  1217. hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)
  1218. end
  1219. local segments = dist/SegLength
  1220. local model = IN("Model",Parent)
  1221. model.Name = 'Lightning'
  1222. local Last;
  1223. for i = 1, segments do
  1224. local size = (segments-i)/25
  1225. local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  1226. if(AddMesh)then IN("CylinderMesh",prt) end
  1227. if(Last and math.floor(segments) == i)then
  1228. local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  1229. prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  1230. 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)
  1231. elseif(not Last)then
  1232. prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  1233. else
  1234. 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)
  1235. end
  1236. Last = prt
  1237. if(Branch)then
  1238. local choice = M.RNG(1,7+((segments-i)*2))
  1239. if(choice == 1)then
  1240. local LastB;
  1241. for i2 = 1,M.RNG(2,5) do
  1242. local size2 = ((segments-i)/35)/i2
  1243. local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  1244. if(AddMesh)then IN("CylinderMesh",prt) end
  1245. if(not LastB)then
  1246. 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)
  1247. else
  1248. 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)
  1249. end
  1250. LastB = prt
  1251. end
  1252. end
  1253. end
  1254. end
  1255. if(Fades > 0)then
  1256. coroutine.wrap(function()
  1257. for i = 1, Fades do
  1258. for _,v in next, model:children() do
  1259. if(v:IsA'BasePart')then
  1260. v.Transparency = (i/Fades)
  1261. end
  1262. end
  1263. swait()
  1264. end
  1265. model:destroy()
  1266. end)()
  1267. else
  1268. S.Debris:AddItem(model,.01)
  1269. end
  1270. return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  1271. end
  1272.  
  1273. function Tween(obj,props,time,easing,direction,repeats,backwards)
  1274. local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  1275. local tween = S.TweenService:Create(obj, info, props)
  1276.  
  1277. tween:Play()
  1278. end
  1279.  
  1280. function Effect(data)
  1281. data.Parent = Effects
  1282. FXEvent:FireAllClients(data)
  1283. end
  1284.  
  1285. --// Other Functions \\ --
  1286.  
  1287. function CastRay(startPos,endPos,range,ignoreList)
  1288. local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  1289. local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  1290. return part,pos,norm,(pos and (startPos-pos).magnitude)
  1291. end
  1292.  
  1293. function getRegion(point,range,ignore)
  1294. return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  1295. end
  1296.  
  1297. function clerp(startCF,endCF,alpha)
  1298. return startCF:lerp(endCF, alpha)
  1299. end
  1300.  
  1301. function GetTorso(char)
  1302. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  1303. end
  1304.  
  1305.  
  1306. function ShowDamage(Pos, Text, Time, Color)
  1307. coroutine.wrap(function()
  1308. local Rate = (1 / Frame_Speed)
  1309. local Pos = (Pos or Vector3.new(0, 0, 0))
  1310. local Text = (Text or "")
  1311. local Time = (Time or 2)
  1312. local Color = (Color or Color3.new(1, 0, 1))
  1313. local EffectPart = NewInstance("Part",Effects,{
  1314. Material=Enum.Material.SmoothPlastic,
  1315. Reflectance = 0,
  1316. Transparency = 1,
  1317. BrickColor = BrickColor.new(Color),
  1318. Name = "Effect",
  1319. Size = Vector3.new(0,0,0),
  1320. Anchored = true,
  1321. CFrame = CF.N(Pos)
  1322. })
  1323. local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1324. Size = UDim2.new(1.25, 0, 1.25, 0),
  1325. Adornee = EffectPart,
  1326. })
  1327. local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1328. BackgroundTransparency = 1,
  1329. Size = UDim2.new(1, 0, 1, 0),
  1330. Text = Text,
  1331. Font = "Bodoni",
  1332. TextColor3 = Color,
  1333. TextStrokeColor3 = Color3.new(0,0,0),
  1334. TextStrokeTransparency=0,
  1335. TextScaled = true,
  1336. })
  1337. S.Debris:AddItem(EffectPart, (Time))
  1338. EffectPart.Parent = workspace
  1339. delay(0, function()
  1340. Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  1341. local Frames = (Time / Rate)
  1342. for Frame = 1, Frames do
  1343. swait()
  1344. local Percent = (Frame / Frames)
  1345. TextLabel.TextTransparency = Percent
  1346. TextLabel.TextStrokeTransparency = Percent
  1347. end
  1348. if EffectPart and EffectPart.Parent then
  1349. EffectPart:Destroy()
  1350. end
  1351. end) end)()
  1352. end
  1353.  
  1354. function DealDamage(data)
  1355. local Who = data.Who;
  1356. local MinDam = data.MinimumDamage or 15;
  1357. local MaxDam = data.MaximumDamage or 30;
  1358. local MaxHP = data.MaxHP or 1e5;
  1359.  
  1360. local DB = data.Debounce or .2;
  1361.  
  1362. local CritData = data.Crit or {}
  1363. local CritChance = CritData.Chance or 0;
  1364. local CritMultiplier = CritData.Multiplier or 1;
  1365.  
  1366. local DamageEffects = data.DamageFX or {}
  1367. local DamageType = DamageEffects.Type or "Normal"
  1368. local DeathFunction = DamageEffects.DeathFunction
  1369.  
  1370. assert(Who,"Specify someone to damage!")
  1371.  
  1372. local Humanoid = Who:FindFirstChildOfClass'Humanoid'
  1373. local DoneDamage = M.RNG(MinDam,MaxDam) * (M.RNG(1,100) <= CritChance and CritMultiplier or 1)
  1374.  
  1375. local canHit = true
  1376. if(Humanoid)then
  1377. for _, p in pairs(Hit) do
  1378. if p[1] == Humanoid then
  1379. if(time() - p[2] <= DB) then
  1380. canHit = false
  1381. else
  1382. Hit[_] = nil
  1383. end
  1384. end
  1385. end
  1386. if(canHit)then
  1387. table.insert(Hit,{Humanoid,time()})
  1388. local HitTorso = GetTorso(Who)
  1389. local player = S.Players:GetPlayerFromCharacter(Who)
  1390. CamShake(Who,2,150,HitTorso.Position)
  1391. if(not player or player.UserId ~= 5719877 and player.UserId ~= 19081129)then
  1392. if(Humanoid.MaxHealth >= MaxHP and Humanoid.Health > 0)then
  1393. print'Got kill'
  1394. Humanoid.Health = 0;
  1395. Who:BreakJoints();
  1396. if(DeathFunction)then DeathFunction(Who,Humanoid) end
  1397. else
  1398. local c = Instance.new("ObjectValue",Hum)
  1399. c.Name = "creator"
  1400. c.Value = Plrs.oPlayer
  1401. S.Debris:AddItem(c,0.35)
  1402. if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
  1403. 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)
  1404. end
  1405. if(Humanoid.Health > 0 and Humanoid.Health-DoneDamage <= 0)then print'Got kill' if(DeathFunction)then DeathFunction(Who,Humanoid) end end
  1406. Humanoid.Health = Humanoid.Health - DoneDamage
  1407.  
  1408. if(DamageType == 'Knockback' and HitTorso)then
  1409. local up = DamageEffects.KnockUp or 25
  1410. local back = DamageEffects.KnockBack or 25
  1411. local origin = DamageEffects.Origin or Root
  1412. local decay = DamageEffects.Decay or .5;
  1413.  
  1414. local bfos = Instance.new("BodyVelocity",HitTorso)
  1415. bfos.P = 20000
  1416. bfos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  1417. bfos.Velocity = Vector3.new(0,up,0) + (origin.CFrame.lookVector * back)
  1418. S.Debris:AddItem(bfos,decay)
  1419. elseif(DamageType == 'StunKnock' and HitTorso)then
  1420. local up = DamageEffects.KnockUp or 25
  1421. local back = DamageEffects.KnockBack or 25
  1422. local origin = DamageEffects.Origin or Root
  1423. local decay = DamageEffects.Decay or .5;
  1424. local lookVector = origin;
  1425. if(typeof(origin) == 'Instance')then
  1426. lookVector = origin.CFrame.lookVector
  1427. elseif(typeof(origin) == 'CFrame')then
  1428. lookVector = origin.lookVector
  1429. end
  1430. local bfos = Instance.new("BodyVelocity",HitTorso)
  1431. bfos.P = 20000
  1432. bfos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  1433. bfos.Velocity = Vector3.new(0,up,0) + (lookVector * back)
  1434. S.Debris:AddItem(bfos,decay)
  1435. if(not Stunned[Who] and player)then
  1436. local stunScr=FXFolder:FindFirstChild'Stunner' and FXFolder:FindFirstChild'Stunner':Clone()
  1437. local t = {0,M.RNG(time()+3,time()+5),nil}
  1438. if(stunScr)then
  1439. stunScr.Disabled=false
  1440. stunScr.Parent=Who
  1441. local stunEmit = FXFolder:FindFirstChild'AttEffects' and FXFolder.AttEffects:FindFirstChild'Stun'
  1442. local hed = Who:FindFirstChild'Head'
  1443. if(stunEmit)then
  1444. local e = stunEmit:Clone()
  1445. e.Name='StunEmitter'
  1446. e.Parent=hed
  1447. Weld(e,hed)
  1448. t[3]=e
  1449. end
  1450. end
  1451. Stunned[Who] = t
  1452. end
  1453. elseif(DamageType == 'Stun' and HitTorso and not Stunned[Who] and player)then
  1454. local stunScr=FXFolder:FindFirstChild'Stunner' and FXFolder:FindFirstChild'Stunner':Clone()
  1455. local t = {0,M.RNG(time()+3,time()+5),nil}
  1456. if(stunScr)then
  1457. stunScr.Disabled=false
  1458. stunScr.Parent=Who
  1459. local stunEmit = FXFolder:FindFirstChild'AttEffects' and FXFolder.AttEffects:FindFirstChild'Stun'
  1460. local hed = Who:FindFirstChild'Head'
  1461. if(stunEmit)then
  1462. local e = stunEmit:Clone()
  1463. e.Name='StunEmitter'
  1464. e.Parent=hed
  1465. Weld(e,hed)
  1466. t[3]=e
  1467. end
  1468. end
  1469. Stunned[Who] = t
  1470. end
  1471. end
  1472. end
  1473. end
  1474. end
  1475. end
  1476.  
  1477. function AOEDamage(where,range,options)
  1478. local hit = {}
  1479. for _,v in next, getRegion(where,range,{Char}) do
  1480. if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent])then
  1481. local callTable = {Who=v.Parent}
  1482. hit[v.Parent] = true
  1483. for _,v in next, options do callTable[_] = v end
  1484. DealDamage(callTable)
  1485. end
  1486. end
  1487. return hit
  1488. end
  1489.  
  1490. function AOEHeal(where,range,amount)
  1491. local healed = {}
  1492. for _,v in next, getRegion(where,range,{Char}) do
  1493. local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1494. if(hum and not healed[hum])then
  1495. hum.Health = hum.Health + amount
  1496. if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1497. 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)
  1498. end
  1499. end
  1500. end
  1501. end
  1502.  
  1503. local Stunned = {}
  1504.  
  1505. function Stun(whom)
  1506. whom:FindFirstChildOfClass'Humanoid':ChangeState(Enum.HumanoidStateType.Physics)
  1507.  
  1508. local herpies = whom:FindFirstChild'HumanoidRootPart'
  1509. if(herpies)then herpies.Parent = nil end
  1510. local Stun = false;
  1511. for _,v in next, Stunned do if v == whom then Stun = true end end
  1512. if(not Stun)then table.insert(Stunned,{whom,herpies}) end
  1513. end
  1514.  
  1515. function RemovePenetrate()
  1516. if(Penetrated and Penetrated.Weld)then
  1517. Penetrated.Weld:destroy()
  1518. end
  1519. if(Penetrated and Penetrated.Who)then
  1520. Kill(Penetrated.Who)
  1521. end
  1522. Penetrated = {Who=nil,Weld=nil}
  1523. for _,v in next, bulge:GetDescendants() do
  1524. if(v:IsA'BasePart')then
  1525. v.Transparency = 1
  1526. end
  1527. end
  1528. end
  1529.  
  1530. function Penetrate(target)
  1531. local gay = (target and GetTorso(target))
  1532. if(gay)then
  1533. Stun(target)
  1534. target.Parent=Char
  1535. local grab = Weld(hitbox,gay,CF.N(0,.5,0)*CF.A(0,M.R(90),M.R(0)))
  1536. Penetrated = {Who=target,Weld=grab}
  1537. for _,v in next, bulge:GetDescendants() do
  1538. if(v:IsA'BasePart')then
  1539. v.Color = gay.Color
  1540. v.Transparency = gay.Transparency
  1541. v.Material = gay.Material
  1542. v.Reflectance = gay.Reflectance
  1543. end
  1544. end
  1545. end
  1546. end
  1547.  
  1548. function RapeDumbNigger(where,range)
  1549. local hit = {}
  1550. local closest,dist;
  1551. for _,v in next, getRegion(where,range,{Char}) do
  1552. if(v.Parent and v~=closest and not Penetrated.Who)then
  1553. local tors = GetTorso(v.Parent)
  1554. if(tors and v.Parent:FindFirstChildOfClass'Humanoid' and v.Parent:FindFirstChildOfClass'Humanoid'.Health>0)then
  1555. local mag = (tors.Position-where).magnitude
  1556. if(not closest or mag<dist)then
  1557. dist=mag;
  1558. closest=v.Parent;
  1559. end
  1560. end
  1561. end
  1562. end
  1563. if(closest)then
  1564. Penetrate(closest)
  1565. end
  1566. return closest
  1567. end
  1568. function didlo()
  1569. Attack=true
  1570. NeutralAnims=false
  1571. local jp = Hum.JumpPower;
  1572. for i = 0, 3, 0.1 do
  1573. swait()
  1574. local Alpha = .15
  1575. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(-25),M.R(0)),Alpha)
  1576. LS.C0 = LS.C0:lerp(CF.N(-1.4,0.5,0)*CF.A(M.R(0),M.R(0),M.R(-7.7)),Alpha)
  1577. RS.C0 = RS.C0:lerp(CF.N(1.3,0.5,0)*CF.A(M.R(-45.9),M.R(0),M.R(21.2)),Alpha)
  1578. NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(25),M.R(0)),Alpha)
  1579. HW.C0 = HW.C0:lerp(CF.N(0,-1,-0.2)*CF.A(M.R(163.3),M.R(-69.1),M.R(141.4)),Alpha)
  1580. end
  1581. Hum.JumpPower=0
  1582. WalkSpeed=0
  1583. legAnims=false
  1584. for i = 0, 1, 0.1 do
  1585. if(Penetrated.Who)then break end
  1586. RapeDumbNigger(hitbox.Position,2)
  1587.  
  1588. swait()
  1589. local Alpha = .3
  1590. RJ.C0 = RJ.C0:lerp(CF.N(0.4,0,-0.7)*CF.A(M.R(-21.4),M.R(77.6),M.R(11.7)),Alpha)
  1591. LH.C0 = LH.C0:lerp(CF.N(-0.6,-1.1,0)*CF.A(M.R(7.7),M.R(41.2),M.R(-11.7)),Alpha)
  1592. RH.C0 = RH.C0:lerp(CF.N(0.7,-0.9,-0.1)*CF.A(M.R(40.8),M.R(-74.7),M.R(37.3)),Alpha)
  1593. LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,0)*CF.A(M.R(5.4),M.R(15.6),M.R(-19.2)),Alpha)
  1594. RS.C0 = RS.C0:lerp(CF.N(1.5,0.9,0)*CF.A(M.R(108.6),M.R(52.1),M.R(70)),Alpha)
  1595. NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(22.4),M.R(-62.1),M.R(20)),Alpha)
  1596. HW.C0 = HW.C0:lerp(CF.N(0,-0.9,0.1)*CF.A(M.R(-177.8),M.R(-86.6),M.R(-96.7)),Alpha)
  1597. end
  1598. local tor = (Penetrated.Who and GetTorso(Penetrated.Who) or nil)
  1599. local lastBlood = tick();
  1600. for i = 0, 5, 0.1 do
  1601. swait()
  1602. if(tor and tick()-lastBlood>=.2)then
  1603. lastBlood=tick();
  1604. Droplet{
  1605. Size=.25;
  1606. Origin=tor.CFrame*CF.N(0,-.5,.5);
  1607. Velocity=V3.N(0,0,0);
  1608. Gravity=workspace.Gravity/4;
  1609. Lifetime=3;
  1610. Color=C3.N(.7,0,0);
  1611. }
  1612. end
  1613. local Alpha = .3
  1614. RJ.C0 = RJ.C0:lerp(CF.N(0.4,0,-0.7)*CF.A(M.R(-21.4),M.R(77.6),M.R(11.7)),Alpha)
  1615. LH.C0 = LH.C0:lerp(CF.N(-0.6,-1.1,0)*CF.A(M.R(7.7),M.R(41.2),M.R(-11.7)),Alpha)
  1616. RH.C0 = RH.C0:lerp(CF.N(0.7,-0.9,-0.1)*CF.A(M.R(40.8),M.R(-74.7),M.R(37.3)),Alpha)
  1617. LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,0)*CF.A(M.R(5.4),M.R(15.6),M.R(-19.2)),Alpha)
  1618. RS.C0 = RS.C0:lerp(CF.N(1.5,0.9,0)*CF.A(M.R(108.6),M.R(52.1),M.R(70)),Alpha)
  1619. NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(22.4),M.R(-62.1),M.R(20)),Alpha)
  1620. HW.C0 = HW.C0:lerp(CF.N(0,-0.9,0.1)*CF.A(M.R(-177.8),M.R(-86.6),M.R(-96.7)),Alpha)
  1621. end
  1622. if(Penetrated.Who)then
  1623. local tor = GetTorso(Penetrated.Who)
  1624. RemovePenetrate()
  1625. coroutine.wrap(function()
  1626. for i = 1, 1500 do
  1627. if(tor and tor.Parent)then
  1628. if(i%3==1)then
  1629. Droplet{
  1630. Size=.5;
  1631. Origin=tor.CFrame*CF.N(0,-.5,.5);
  1632. Velocity=-tor.CFrame.lookVector*15+V3.N(M.RNG(-5,5),M.RNG(-5,5),M.RNG(-5,5));
  1633. Gravity=workspace.Gravity/4;
  1634. Lifetime=3;
  1635. Color=C3.N(.7,0,0);
  1636. }
  1637. end
  1638. Droplet{
  1639. Size=.5;
  1640. Origin=tor.CFrame*CF.N(0,-.5,.5);
  1641. Velocity=-tor.CFrame.lookVector*15+V3.N(M.RNG(-5,5),M.RNG(-5,5),M.RNG(-5,5));
  1642. Gravity=workspace.Gravity/4;
  1643. Lifetime=3;
  1644. Color=C3.N(1,1,.8);
  1645. }
  1646. end
  1647. swait(1)
  1648. end
  1649. end)()
  1650. for i = 0, 3, 0.1 do
  1651. swait()
  1652. local Alpha = .2
  1653. RJ.C0 = RJ.C0:lerp(CF.N(0.1,-0.2,-0.2)*CF.A(M.R(19.9),M.R(-14),M.R(5)),Alpha)
  1654. LH.C0 = LH.C0:lerp(CF.N(-0.5,-1.2,-0.6)*CF.A(M.R(-42.7),M.R(19.8),M.R(-9)),Alpha)
  1655. RH.C0 = RH.C0:lerp(CF.N(0.5,-1,-0.1)*CF.A(M.R(-7.8),M.R(-17.4),M.R(0)),Alpha)
  1656. LS.C0 = LS.C0:lerp(CF.N(-1.4,0.5,0)*CF.A(M.R(7.6),M.R(24.4),M.R(-18)),Alpha)
  1657. RS.C0 = RS.C0:lerp(CF.N(1.2,0.5,0.5)*CF.A(M.R(0.2),M.R(-30.3),M.R(90.4)),Alpha)
  1658. NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0.6),M.R(14),M.R(-5)),Alpha)
  1659. HW.C0 = HW.C0:lerp(CF.N(0,-1,0.1)*CF.A(M.R(179.2),M.R(-87.4),M.R(177.2)),Alpha)
  1660. end
  1661. end
  1662. Hum.JumpPower=jp
  1663. Attack=false
  1664. NeutralAnims=true
  1665. WalkSpeed=16
  1666. legAnims=true
  1667. end
  1668.  
  1669. function Kill(who,knockout,snapneck,slitneck,beheaded)
  1670. local plr = game:service'Players':GetPlayerFromCharacter(who)
  1671. local rag = script.Ragdoll:Clone()
  1672. rag.Parent = who
  1673. rag.SlitNeck.Value = slitneck or false
  1674. rag.Knockout.Value = knockout or false
  1675. rag.SnapNeck.Value = snapneck or false
  1676. rag.Behead.Value = beheaded or false
  1677. rag.Disabled = false
  1678. end
  1679.  
  1680.  
  1681. --// Wrap it all up \\--
  1682.  
  1683. Mouse.Button1Down:connect(function()
  1684. if(Attack)then return end
  1685.  
  1686. didlo()
  1687. --Penetrate(Mouse.Target and Mouse.Target.Parent)
  1688. end)
  1689.  
  1690. while true do
  1691. swait()
  1692. Sine = Sine + Change
  1693. if(not Music or not Music.Parent)then
  1694. local tp = (Music and Music.TimePosition)
  1695. Music = Sound(Char,MusicID,1,10,true,false,true)
  1696. Music.Name = 'Music'
  1697. Music.TimePosition = tp
  1698. end
  1699. Music.SoundId = "rbxassetid://"..MusicID
  1700. Music.Parent = Torso
  1701. Music.Pitch = .78
  1702. Music.Volume = 3
  1703. if(not Muted)then
  1704. Music:Resume()
  1705. else
  1706. Music:Pause()
  1707. end
  1708.  
  1709.  
  1710. if(God)then
  1711. Hum.MaxHealth = 1e100
  1712. Hum.Health = 1e100
  1713. if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
  1714. Hum.Name = M.RNG()*100
  1715. end
  1716.  
  1717. 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)
  1718.  
  1719. local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1720. 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")
  1721. if(not Effects or not Effects.Parent)then
  1722. Effects = IN("Model",Char)
  1723. Effects.Name = "Effects"
  1724. end
  1725. Hum.WalkSpeed = WalkSpeed
  1726. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  1727. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  1728. local sidevec = math.clamp((Root.Velocity*Root.CFrame.rightVector).X+(Root.Velocity*Root.CFrame.rightVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
  1729. local forwardvec = math.clamp((Root.Velocity*Root.CFrame.lookVector).X+(Root.Velocity*Root.CFrame.lookVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
  1730. local sidevelocity = sidevec/Hum.WalkSpeed
  1731. local forwardvelocity = forwardvec/Hum.WalkSpeed
  1732. local Alpha = .2
  1733. local wsVal = 4
  1734. local movement = 8
  1735. if(legAnims)then
  1736. if(State=='Walk')then
  1737. Change=.5
  1738. LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-movement/15*M.C(Sine/wsVal)/2,(-.1+movement/15*M.C(Sine/wsVal))*(.5+.5*forwardvelocity))*CF.A((M.R(-10*forwardvelocity+Change*5-movement*M.C(Sine/wsVal))+-(movement/10)*M.S(Sine/wsVal))*forwardvelocity,0,(M.R(Change*5-movement*M.C(Sine/wsVal))+-(movement/10)*M.S(Sine/wsVal))*(sidevec/(Hum.WalkSpeed*2))),Alpha)
  1739. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+movement/15*M.C(Sine/wsVal)/2,(-.1-movement/15*M.C(Sine/wsVal))*(.5+.5*forwardvelocity))*CF.A((M.R(-10*forwardvelocity+Change*5+movement*M.C(Sine/wsVal))+(movement/10)*M.S(Sine/wsVal))*forwardvelocity,0,(M.R(Change*5+movement*M.C(Sine/wsVal))+(movement/10)*M.S(Sine/wsVal))*(sidevec/(Hum.WalkSpeed*2))),Alpha)
  1740. elseif(State=='Idle')then
  1741. Change=1
  1742. if(NeutralAnims)then
  1743. LH.C0 = LH.C0:lerp(CF.N(-0.5,-1-.05*M.C(Sine/36),0)*CF.A(M.R(0-1*M.S(Sine/36)),M.R(5.6),M.R(0)),Alpha)
  1744. RH.C0 = RH.C0:lerp(CF.N(0.5,-1-.05*M.C(Sine/36),0)*CF.A(M.R(0-1*M.S(Sine/36)),M.R(-36.8),M.R(0)),Alpha)
  1745. else
  1746. LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(5.6),M.R(0)),Alpha)
  1747. RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(-5.6),M.R(0)),Alpha)
  1748. end
  1749. elseif(State=='Jump' or State=='Fall')then
  1750. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1751. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1752. end
  1753. end
  1754. if(NeutralAnims)then
  1755. if(State == 'Idle')then
  1756. local Alpha = .1
  1757. RJ.C0 = RJ.C0:lerp(CF.N(-0.1,0+.05*M.C(Sine/36),0)*CF.A(M.R(0+1*M.S(Sine/36)),M.R(36.8),M.R(0)),Alpha)
  1758. LS.C0 = LS.C0:lerp(CF.N(-1.4,0.5,0)*CF.A(M.R(0),M.R(0),M.R(-10.8+5*M.S(Sine/42))),Alpha)
  1759. RS.C0 = RS.C0:lerp(CF.N(1.3,0.5,0)*CF.A(M.R(90),M.R(0),M.R(36.8-5*M.S(Sine/42))),Alpha)
  1760. NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0+5*M.S(Sine/36)),M.R(-36.8),M.R(0)),Alpha)
  1761. HW.C0 = HW.C0:lerp(CF.N(0,-0.9,-0.5)*CF.A(M.R(128),M.R(85.1),M.R(125.6)),Alpha)
  1762. elseif(State == 'Walk')then
  1763. local Alpha = .2
  1764. local wsVal = 4
  1765. local movement = 8
  1766. RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,.05+Change/4*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-(Change*20)-movement/20*M.C(Sine/(wsVal/2)))*forwardvelocity,M.R(0+5*M.C(Sine/wsVal)),M.R(-(Change*20)-movement/20*M.C(Sine/(wsVal/2)))*sidevelocity+M.R(0-1*M.C(Sine/wsVal))),Alpha)
  1767. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1768. LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0)*CF.A(M.R(0+55*(movement/8)*M.S(Sine/wsVal))*forwardvelocity,0,M.R(-5-5*M.C(Sine/wsVal))),Alpha)
  1769. RS.C0 = RS.C0:lerp(CF.N(1.1,0.5,0.4)*CF.A(M.R(90),M.R(0),M.R(36.8)),Alpha)
  1770. HW.C0 = HW.C0:lerp(CF.N(0,-0.9,-0.5)*CF.A(M.R(128),M.R(85.1),M.R(125.6)),Alpha)
  1771. elseif(State == 'Jump')then
  1772. local Alpha = .1
  1773. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1774. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
  1775. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
  1776. RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1777. NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1778. HW.C0 = HW.C0:lerp(HWC0,Alpha)
  1779. elseif(State == 'Fall')then
  1780. local Alpha = .1
  1781. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1782. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1783. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1784. RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1785. NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1786. HW.C0 = HW.C0:lerp(HWC0,Alpha)
  1787. elseif(State == 'Paralyzed')then
  1788. -- paralyzed
  1789. elseif(State == 'Sit')then
  1790. -- sit
  1791. end
  1792. end
  1793.  
  1794. for _,tab in next, Stunned do
  1795. local v,hrp = unpack(tab)
  1796. local asdq = S.Players:GetPlayerFromCharacter(v)
  1797. local h = v:FindFirstChildOfClass"Humanoid"
  1798. if(h and h.Health > 0)then
  1799. for _,c in next, v:children() do
  1800. if c:IsA'Tool' then
  1801. c.ManualActivationOnly = true
  1802. wait()
  1803. if(asdq)then
  1804. c.Parent = asdq:FindFirstChildOfClass'Backpack'
  1805. c.ManualActivationOnly=false
  1806. else
  1807. c:Destroy()
  1808. end
  1809. end
  1810. end
  1811.  
  1812. h.PlatformStand = true
  1813. h.Sit = false
  1814. h.Name = 'Stunned my nibba'
  1815. else
  1816. table.remove(Stunned,_)
  1817. end
  1818. end
  1819.  
  1820. for i,v in next, BloodPuddles do
  1821. local mesh = i:FindFirstChild'CylinderMesh'
  1822. BloodPuddles[i] = v + 1
  1823. if(not mesh or mesh.Scale.X<=0)then
  1824. i:destroy()
  1825. BloodPuddles[i] = nil
  1826. else
  1827. if(mesh.Scale.Z > 0)then
  1828. mesh.Scale = mesh.Scale-V3.N(.005,0,.005)
  1829. end
  1830. end
  1831. end
  1832. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement