Advertisement
Christoffer07700Extr

Untitled

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