Advertisement
StarzoZero

Roblox The Murderer v2

Jan 9th, 2019
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.19 KB | None | 0 0
  1. -- This script has been converted to FE by StarzoZero
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7. print("FE Compatibility code by StarzoZero")
  8. print("The Murderer v2 made by FloweyTheFlower on Pastebin")
  9. script.Parent = Player.Character
  10.  
  11. --RemoteEvent for communicating
  12. local Event = Instance.new("RemoteEvent")
  13. Event.Name = "UserInput_Event"
  14.  
  15. --Fake event to make stuff like Mouse.KeyDown work
  16. local function fakeEvent()
  17. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  18. t.connect = t.Connect
  19. return t
  20. end
  21.  
  22. --Creating fake input objects with fake variables
  23. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  24. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  25. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  26. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  27. end}
  28. --Merged 2 functions into one by checking amount of arguments
  29. CAS.UnbindAction = CAS.BindAction
  30.  
  31. --This function will trigger the events that have been :Connect()'ed
  32. local function te(self,ev,...)
  33. local t = m[ev]
  34. if t and t._fakeEvent and t.Function then
  35. t.Function(...)
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=Player then return end
  43. if io.isMouse then
  44. m.Target = io.Target
  45. m.Hit = io.Hit
  46. else
  47. local b = io.UserInputState == Enum.UserInputState.Begin
  48. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  49. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  50. end
  51. for _,t in pairs(CAS.Actions) do
  52. for _,k in pairs(t.Keys) do
  53. if k==io.KeyCode then
  54. t.Function(t.Name,io.UserInputState,io)
  55. end
  56. end
  57. end
  58. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  59. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  60. end
  61. end)
  62. Event.Parent = NLS([==[
  63. local Player = game:GetService("Players").LocalPlayer
  64. local Event = script:WaitForChild("UserInput_Event")
  65.  
  66. local UIS = game:GetService("UserInputService")
  67. local input = function(io,a)
  68. if a then return end
  69. --Since InputObject is a client-side instance, we create and pass table instead
  70. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  71. end
  72. UIS.InputBegan:Connect(input)
  73. UIS.InputEnded:Connect(input)
  74.  
  75. local Mouse = Player:GetMouse()
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  86. end
  87.  
  88. -- The Murderer
  89. -- Created by Nebula_Zorua
  90. -- Youtube channel: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  91. -- Discord account: Nebula the Zorua#6666
  92.  
  93. -- Credit to Shackluster for the inspiration for this
  94. -- I might update this in the future.
  95.  
  96. --[[
  97. CONTROLS:
  98. Left Mouse Button Click - Attack
  99. Left Mouse Button Click - Get knife back once thrown (You must be near the thrown knife)
  100. T - Throw (You cant attack until you get it back with the above control)
  101. ; - Machete
  102. TO BECOME BLOODLUSTFUL:
  103. Kill 12 people/dummies quickly. You must keep killing to keep the bloodlust.
  104. Once you're bloodlustful, you charge forward when you attack
  105. ]]
  106.  
  107. --[[
  108. TO EDITORS/RESKINNERS:
  109. You can edit BloodColor, BloodMaterial, and BloodlustBlood to change the color of the blood, material of the blood, and the
  110. number of blood you need to become bloodlustful. You get 30 blood with each kill.
  111. ]]
  112.  
  113. wait()
  114. script.Parent = nil
  115. local S = setmetatable({},{
  116. __index = function(self,index)
  117. local service = game:GetService(index)
  118. if(service)then
  119. self[index] = service
  120. return service
  121. end
  122. end
  123. })
  124.  
  125. plr=owner
  126. chr=plr.Character
  127. CV="Bright red"
  128. local txt = Instance.new("BillboardGui", chr)
  129. txt.Adornee = chr.Head
  130. txt.Name = "_status"
  131. txt.Size = UDim2.new(4, 0, 2.5, 0)
  132. txt.StudsOffset = Vector3.new(-4, 2, 0)
  133. local text = Instance.new("TextLabel", txt)
  134. text.Size = UDim2.new(3, 0, 0.5, 0)
  135. text.FontSize = "Size24"
  136. text.TextScaled = true
  137. text.TextTransparency = 0
  138. text.BackgroundTransparency = 1
  139. text.TextTransparency = 0
  140. text.TextStrokeTransparency = 0
  141. text.Font = "Antique"
  142. text.TextStrokeColor3 = Color3.new(255,0,0)
  143. text.Text = "tHe mURdEreR"
  144. local plr = owner
  145. local char = plr.Character
  146. local hum = char.Humanoid
  147. local rarm = char["Right Arm"]
  148. local larm= char["Left Arm"]
  149. local rleg= char["Right Leg"]
  150. local lleg = char["Left Leg"]
  151. local root = char:FindFirstChild'HumanoidRootPart'
  152. local torso = char.Torso
  153. local head = char.Head
  154. local sine = 0;
  155. local lastTwitch = 0;
  156. local combo = 1;
  157. local ThrownKnife = false
  158. local KnifePosition = CFrame.new(0,0,0)
  159. local lastClick = time()
  160. local change = 1;
  161. local runService = S.RunService
  162. local Attack = false
  163. local neutralAnims = true
  164. local WalkSine = 0
  165. local Debounces = {Debounces={}}
  166. local Hit = {}
  167. local BloodPuddles = {}
  168. local Bloodied = 0
  169. local Teamed = {}
  170. local WalkSpeed = 50
  171. hum.WalkSpeed = WalkSpeed
  172. local BloodColor = BrickColor.new'Bright red'
  173. local BloodMaterial = Enum.Material.Neon
  174. local BloodTime = time()
  175. local Twitch = false
  176. local BloodlustBlood = 100
  177. hum.DisplayDistanceType = "None"
  178. hum.MaxHealth = "inf"
  179. hum.Health = "inf"
  180.  
  181. function Debounces:New(name,cooldown)
  182. local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  183. setmetatable(aaaaa,{__index = Debounces})
  184. Debounces.Debounces[name] = aaaaa
  185. return aaaaa
  186. end
  187.  
  188. function Debounces:Use(overrideUsable)
  189. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  190. if(self.Usable or overrideUsable)then
  191. self.Usable = false
  192. self.CoolingDown = true
  193. local LastUse = time()
  194. self.LastUse = LastUse
  195. delay(self.Cooldown or 2,function()
  196. if(self.LastUse == LastUse)then
  197. self.CoolingDown = false
  198. self.Usable = true
  199. end
  200. end)
  201. end
  202. end
  203.  
  204. function Debounces:Get(name)
  205. assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  206. for i,v in next, Debounces.Debounces do
  207. if(i == name)then
  208. return v;
  209. end
  210. end
  211. end
  212.  
  213. function Debounces:GetProgressPercentage()
  214. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  215. if(self.CoolingDown and not self.Usable)then
  216. return math.max(
  217. math.floor(
  218. (
  219. (time()-self.LastUse)/self.Cooldown or 2
  220. )*100
  221. )
  222. )
  223. else
  224. return 100
  225. end
  226. end
  227.  
  228. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  229. local V3 = {N=Vector3.new}
  230. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge}
  231.  
  232. local Hold = CF.N(0,-1,-1)*CF.A(M.R(-90),M.R(90),0)
  233. local BeheadHold = CF.A(0,0,0)
  234. local Effects,Sounds = {},{};
  235. --Stop animations
  236. for _,v in next, hum:GetPlayingAnimationTracks() do
  237. v:Stop();
  238. end
  239.  
  240. pcall(game.Destroy,char:FindFirstChild'Animate')
  241. pcall(game.Destroy,hum:FindFirstChild'Animator')
  242.  
  243. -- Sounds
  244. Sounds['Wet'] = {Id=256738023,Loop=false,Pitch=1}
  245. Sounds['Swoosh1'] = {Id=320557353,Loop=false,Pitch=1,Volume=6}
  246. Sounds['Swoosh2'] = {Id=320557382,Loop=false,Pitch=1,Volume=6}
  247. Sounds['Swoosh3'] = {Id=320557413,Loop=false,Pitch=1,Volume=6}
  248. Sounds['Swoosh4'] = {Id=320557453,Loop=false,Pitch=1,Volume=6}
  249. Sounds['Swoosh5'] = {Id=320557487,Loop=false,Pitch=1,Volume=6}
  250. Sounds['Swoosh6'] = {Id=320557537,Loop=false,Pitch=1,Volume=6}
  251. Sounds['Swoosh7'] = {Id=320557563,Loop=false,Pitch=1,Volume=6}
  252. Sounds['Swoosh8'] = {Id=320557518,Loop=false,Pitch=1,Volume=6}
  253. Sounds['SmallBoom'] = {Id=341336485,Loop=false,Volume=5,Pitch=1}
  254. Sounds['ChaosBuster'] = {Id=333534812,Loop=false,Volume=5,Pitch=0.75}
  255. Sounds['Magic'] = {Id=315743350,Loop=false,Volume=5,Pitch=1}
  256. Sounds['ShrekRemix'] = {Id=163306929,Loop=true,Pitch=1,Volume = 4}
  257. Sounds['CreoDimension'] = {Id=927529620,Loop=true,Pitch=1,Volume=4}
  258. Sounds['BlackBlizzard'] = {Id=657626121,Loop=true,Pitch=1,Volume=4}
  259. Sounds['ColbreakzFantasy'] = {Id=876981900,Loop=true,Pitch=1,Volume=4}
  260. Sounds['NeflCrystals'] = {Id=340106355,Loop=true,Pitch=1,Volume=4}
  261. Sounds['EvilMortyRemix'] = {Id=1057401232,Loop=true,Pitch=1,Volume=10}
  262. Sounds['Psycho'] = {Id=156879167,Loop=true,Pitch=1,Volume=10}
  263. -- Functions
  264. local NewInstance = function(instance,parent,properties)
  265. local inst = Instance.new(instance,parent)
  266. if(properties)then
  267. for i,v in next, properties do
  268. pcall(function() inst[i] = v end)
  269. end
  270. end
  271. return inst;
  272. end
  273.  
  274. ArtificialHB = NewInstance("BindableEvent", script,{
  275. Parent = script,
  276. Name = "Heartbeat",
  277. })
  278.  
  279. script:WaitForChild("Heartbeat")
  280.  
  281. frame = 1 / 60
  282. tf = 0
  283. allowframeloss = false
  284. tossremainder = false
  285. lastframe = tick()
  286. script.Heartbeat:Fire()
  287.  
  288. game:GetService("RunService").Heartbeat:connect(function(s, p)
  289. tf = tf + s
  290. if tf >= frame then
  291. if allowframeloss then
  292. script.Heartbeat:Fire()
  293. lastframe = tick()
  294. else
  295. for i = 1, math.floor(tf / frame) do
  296. script.Heartbeat:Fire()
  297. end
  298. lastframe = tick()
  299. end
  300. if tossremainder then
  301. tf = 0
  302. else
  303. tf = tf - frame * math.floor(tf / frame)
  304. end
  305. end
  306. end)
  307.  
  308. function swait(num)
  309. if num == 0 or num == nil then
  310. ArtificialHB.Event:wait()
  311. else
  312. for i = 0, num do
  313. ArtificialHB.Event:wait()
  314. end
  315. end
  316. end
  317.  
  318.  
  319. function clerp(startCF,endCF,alpha)
  320. return startCF:lerp(endCF, alpha)
  321. end
  322. local sndFromData = function(data,parent)
  323. assert(typeof(data) == 'table',"sndFromData's first argument must be a table!")
  324. local snd = NewInstance("Sound",parent or char,{SoundId = "rbxassetid://407749940",Looped=data.Loop or false,Pitch = data.Pitch or 1,Volume = data.Volume or 1})
  325. return snd;
  326. end
  327.  
  328. local FX = function(ID,vol,pitch,parent)
  329. local snd = NewInstance("Sound",parent or torso, {Pitch=pitch or 1, Volume = vol or 1,SoundId = "rbxassetid://"..ID})
  330. snd:Play()
  331. repeat wait() until snd.IsLoaded and snd.IsPlaying
  332. delay(snd.TimePosition+.5,function()
  333. snd:Stop()
  334. snd:Destroy()
  335. end)
  336. end
  337. function UnbindLoops()
  338. pcall(runService.UnbindFromRenderStep,runService,"N_Effects")
  339. pcall(runService.UnbindFromRenderStep,runService,"N_Animations")
  340. end;
  341.  
  342. UnbindLoops() -- Just so if the loops already exist from previously running a script using this template, there's no errors
  343.  
  344. -- Model
  345.  
  346. local Music = sndFromData(Sounds.Psycho,torso)
  347. Music:Play()
  348. Music.MaxDistance = 500
  349.  
  350. local Handle = NewInstance('Part',char,{CanCollide=false,Size=V3.N(0.46,3.82,0.37),Name='Handle'})
  351. local Mesh = NewInstance('SpecialMesh',Handle,{MeshId='rbxassetid://471401475',TextureId='rbxassetid://471401476',Scale=V3.N(.01,.01,.01)})
  352. local Decal = NewInstance('Decal',Handle,{Transparency=1,Texture='rbxassetid://116830967'})
  353. -- Joints and Lerp
  354. local LS = NewInstance('Motor',char,{Part0=torso,Part1=larm,C0 = CF.N(-1.5,0.5,0),C1 = CF.N(0,.5,0)})
  355. local RS = NewInstance('Motor',char,{Part0=torso,Part1=rarm,C0 = CF.N(1.5,0.5,0),C1 = CF.N(0,.5,0)})
  356. local NK = NewInstance('Motor',char,{Part0=torso,Part1=head,C0 = CF.N(0,1.5,0)})
  357. local LH = NewInstance('Motor',char,{Part0=torso,Part1=lleg,C0 = CF.N(-.5,-1,0),C1 = CF.N(0,1,0)})
  358. local RH = NewInstance('Motor',char,{Part0=torso,Part1=rleg,C0 = CF.N(.5,-1,0),C1 = CF.N(0,1,0)})
  359. local RJ = NewInstance('Motor',char,{Part0=root,Part1=torso})
  360. local HW = NewInstance('Motor',char,{Part0=rarm,Part1=Handle,C0 = CF.N(0,-1,-1)*CF.A(M.R(-90),M.R(90),0)})
  361.  
  362. -- watevr
  363.  
  364. -- Default C0s
  365. local LSD=LS.C0
  366. local RSD=RS.C0
  367. local HD=NK.C0
  368. local TD=RJ.C0
  369. local LHD=LH.C0
  370. local RHD=RH.C0
  371.  
  372. -- Check State
  373. function CheckState(rPart)
  374. if(rPart.Velocity.y > .35 and hum:GetState() == Enum.HumanoidStateType.Freefall)then
  375. return 'Jump';
  376. elseif(rPart.Velocity.y < -.35 and hum:GetState() == Enum.HumanoidStateType.Freefall)then
  377. return 'Fall';
  378. elseif(math.abs(rPart.Velocity.x) > 2 or math.abs(rPart.Velocity.z) > 2 and hum:GetState() ~= Enum.HumanoidStateType.Freefall)then
  379. return 'Walk';
  380. end
  381. return 'Idle';
  382. end
  383.  
  384. -- Effect Functions
  385. function SphereFX(duration,color,scale,pos,endScale)
  386. local rng = Instance.new("Part", char)
  387. rng.Anchored = true
  388. rng.BrickColor = color
  389. rng.CanCollide = false
  390. rng.FormFactor = 3
  391. rng.Name = "Ring"
  392. rng.Size = Vector3.new(1,1,1)
  393. rng.Transparency = 0
  394. rng.TopSurface = 0
  395. rng.BottomSurface = 0
  396. rng.CFrame = pos
  397. local rngm = Instance.new("SpecialMesh", rng)
  398. rngm.MeshType = "Sphere"
  399. rngm.Scale = scale
  400. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  401. return rng
  402. end
  403.  
  404. function BlastFX(duration,color,scale,pos,endScale)
  405. local rng = Instance.new("Part", char)
  406. rng.Anchored = true
  407. rng.BrickColor = color
  408. rng.CanCollide = false
  409. rng.FormFactor = 3
  410. rng.Name = "Ring"
  411. rng.Size = Vector3.new(1,1,1)
  412. rng.Transparency = 0
  413. rng.TopSurface = 0
  414. rng.BottomSurface = 0
  415. rng.CFrame = pos
  416. local rngm = Instance.new("SpecialMesh", rng)
  417. rngm.MeshType = "FileMesh"
  418. rngm.MeshId = 'rbxassetid://20329976'
  419. rngm.Scale = scale
  420. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  421. return rng
  422. end
  423.  
  424. function BlockFX(duration,color,scale,pos,endScale)
  425. local rng = Instance.new("Part", char)
  426. rng.Anchored = true
  427. rng.BrickColor = color
  428. rng.CanCollide = false
  429. rng.FormFactor = 3
  430. rng.Name = "Ring"
  431. rng.Size = Vector3.new(1,1,1)
  432. rng.Transparency = 0
  433. rng.TopSurface = 0
  434. rng.BottomSurface = 0
  435. rng.CFrame = pos
  436. local rngm = Instance.new("BlockMesh", rng)
  437. rngm.Scale = scale
  438. table.insert(Effects, {Frame = 0, Effect="Block", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  439. return rng
  440. end
  441.  
  442. function LaserFX(duration,color,cframe,scale,endScale)
  443. local rng = Instance.new("Part", char)
  444. rng.Anchored = true
  445. rng.BrickColor = color
  446. rng.CanCollide = false
  447. rng.FormFactor = 3
  448. rng.Material = Enum.Material.Neon
  449. rng.Name = "Laser"
  450. rng.Size = Vector3.new(.5,.5,.5)
  451. rng.Transparency = 0
  452. rng.TopSurface = 0
  453. rng.BottomSurface = 0
  454. rng.CFrame = cframe
  455. local rngm = Instance.new("CylinderMesh", rng)
  456. rngm.Scale = scale
  457. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = cframe})
  458. return rng
  459. end
  460.  
  461. function BloodDrop(pos,dir,maxsize)
  462. local owo = NewInstance("Part",char,{Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.25,.25,.25), CanCollide = false})
  463. owo.CFrame=CF.N(pos,dir)
  464. local bv = Instance.new("BodyVelocity",owo)
  465. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  466. bv.velocity = CF.N(pos,dir+V3.N(M.RNG(-3,3)/30,M.RNG(-3,3)/30,M.RNG(-3,3)/30)).lookVector*15
  467. bv.Name = "MOVE"
  468. game:service'Debris':AddItem(bv,0.05)
  469. local touch
  470. touch = owo.Touched:connect(function(hit)
  471. if(hit.Anchored==true)then
  472. touch:disconnect()
  473. BloodPuddle(owo.Position+V3.N(0,1,0),10,maxsize,owo)
  474. owo:destroy()
  475. end
  476. end)
  477. end
  478. function BloodPuddle(position,range,maxSize,where)
  479. local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new(
  480. position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range
  481. ),{where,char},false,true)
  482. if(hit)then
  483. if(BloodPuddles[hit])then
  484. BloodPuddles[hit].Frame = 0
  485. if(hit:FindFirstChild'CylinderMesh' and hit.CylinderMesh.Scale.Z < BloodPuddles[hit].MaxSize)then
  486. hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1)
  487. end
  488. else
  489. local Puddle = NewInstance('Part',workspace,{Material=BloodMaterial,BrickColor=BloodColor,Size=V3.N(1,.1,1),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
  490. local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  491. BloodPuddles[Puddle] = {MaxSize=maxSize or 7,Frame=0}
  492. end
  493. end
  494. end
  495.  
  496. function ShatterFX(duration,color,scale,cframe)
  497. local rng = Instance.new("Part", char)
  498. rng.Anchored = true
  499. rng.BrickColor = color
  500. rng.CanCollide = false
  501. rng.FormFactor = 3
  502. rng.Name = "Ring"
  503. rng.Size = Vector3.new(1,1,1)
  504. rng.Transparency = 0
  505. rng.TopSurface = 0
  506. rng.BottomSurface = 0
  507. rng.CFrame = cframe * CF.fEA(M.RNG(-50, 50), M.RNG(-50, 50), M.RNG(-50, 50))
  508. local rngm = Instance.new("SpecialMesh", rng)
  509. rngm.Scale = scale
  510. rngm.MeshType = "Sphere"
  511. table.insert(Effects, {Frame = 0, Effect="Shatter", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale,Position=rng.CFrame})
  512. end
  513.  
  514. function RingFX(duration,color,scale,pos,endScale)
  515. local type = type
  516. local rng = Instance.new("Part", char)
  517. rng.Anchored = true
  518. rng.BrickColor = color
  519. rng.CanCollide = false
  520. rng.FormFactor = 3
  521. rng.Name = "Ring"
  522. rng.Size = Vector3.new(1,1,1)
  523. rng.Transparency = 0
  524. rng.TopSurface = 0
  525. rng.BottomSurface = 0
  526. rng.CFrame = pos
  527. local rngm = Instance.new("SpecialMesh", rng)
  528. rngm.MeshId = "rbxassetid://3270017"
  529. rngm.Scale = scale
  530. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  531. return rng
  532. end
  533.  
  534. function Shoot(StartCF,EndCF,Spread,Speed,Num,Color,Drop,MinDamage,MaxDamage)
  535. local Spread = V3.N(M.RNG(-Spread,Spread),M.RNG(-Spread,Spread),M.RNG(-Spread,Spread))
  536. local Start = StartCF.p
  537. local End = EndCF.p
  538. local SpreadPos = End + Spread
  539. local Look = CF.N((Start + SpreadPos) / 2, SpreadPos)
  540. local Count = Num
  541. spawn(function()
  542. repeat
  543. wait()
  544. local hit, pos = workspace:findPartOnRay(Ray.new(
  545. Start,(Look.lookVector).unit * Speed
  546. ),char,false,true)
  547. local dist = (Start-pos).magnitude
  548. local yScale = dist * (Speed / (Speed/2))
  549. local aa = CF.N((Start + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0)
  550. LaserFX(25,Color,aa,Vector3.new(1,yScale,1),Vector3.new(-1,yScale,-1))
  551. Start = Start + Look.lookVector * Speed
  552. Look = Look * CF.A(M.R(Drop or -1),0,0)
  553. Count = Count - 1
  554.  
  555. if(hit)then
  556. Count = 0
  557. MagniDamage(pos,10,MinDamage,MaxDamage,0,'Normal')
  558. end
  559. if(Count <= 0)then
  560. local sphere = SphereFX(25,Color,Vector3.new(5,5,5),CF.N(pos),Vector3.new(15,15,15))
  561. local ring = RingFX(25,Color,Vector3.new(6,6,6),CF.N(pos) * CF.A(0,M.R(90),0) * CF.A(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360))),Vector3.new(16,16,16))
  562. end
  563. until Count <= 0
  564. end)
  565. end
  566.  
  567. -- Effect Loop
  568.  
  569. runService:BindToRenderStep("N_Effects",Enum.RenderPriority.Character.Value + 2,function()
  570. for _,data in next, Effects do
  571. local frame,effect,duration = data.Frame,data.Effect,data.Duration
  572. local transparency = (frame / duration)
  573. local opacity = 1 - transparency
  574. if(frame > duration)then
  575. Effects[_] = nil
  576. end
  577. frame = frame + 1
  578. data.Frame = frame
  579. if(effect == 'Sphere')then
  580. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  581. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  582. Part.Transparency = transparency
  583. if(frame > duration)then
  584. Part:destroy()
  585. end
  586. elseif(effect == 'Shatter')then
  587. local Part,Mesh,Scale,Position,Thingie,Thingie2,Inc = data.Part,
  588. data.Mesh,
  589. data.Scale,
  590. data.Position,
  591. (data.Thingie or 0),
  592. (data.Thingie2 or M.RNG(50, 100) / 100),
  593. (data.Inc or M.RNG() - M.RNG())
  594. Part.Transparency = transparency
  595. Position = Position * CF.N(0,Thingie2,0)
  596. Part.CFrame = Position * CF.fEA(Thingie,0,0)
  597. Thingie = Thingie + Inc
  598.  
  599. data.Position = Position
  600. data.Thingie = Thingie
  601. data.Thingie2 = Thingie2
  602. data.Inc = Inc
  603. elseif(effect == 'Block')then
  604. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  605. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  606. Part.Transparency = transparency
  607. Part.CFrame = CF * CFrame.Angles(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)))
  608. if(frame > duration)then
  609. Part:destroy()
  610. end
  611. end
  612. end
  613. for puddle,data in next, BloodPuddles do
  614. if(puddle.Transparency > 0.9)then
  615. BloodPuddles[puddle] = nil
  616. puddle:destroy()
  617. end
  618. data.Frame = data.Frame + 1
  619. if(data.Frame > 105)then
  620. local trans = (data.Frame-105)/30
  621. puddle.Transparency = trans
  622. if(puddle:FindFirstChild'CylinderMesh' and puddle.CylinderMesh.Scale.Z > 0)then
  623. puddle.CylinderMesh.Scale = puddle.CylinderMesh.Scale-V3.N(.1,0,.1)
  624. end
  625. else
  626. puddle.Transparency = 0
  627. end
  628. end
  629. end)
  630.  
  631.  
  632. -- Nametag
  633. local naeeym2 = Instance.new("BillboardGui",char)
  634. naeeym2.AlwaysOnTop = true
  635. naeeym2.Size = UDim2.new(5,35,2,35)
  636. naeeym2.StudsOffset = Vector3.new(0,1,0)
  637. naeeym2.Adornee = head
  638. naeeym2.Name = "Name"
  639. naeeym2.PlayerToHideFrom = plr
  640. local tecks2 = Instance.new("TextLabel",naeeym2)
  641. tecks2.BackgroundTransparency = 1
  642. tecks2.TextScaled = true
  643. tecks2.BorderSizePixel = 0
  644. tecks2.Text = "The-Box"
  645. tecks2.Font = "Antique"
  646. tecks2.TextSize = 30
  647. tecks2.TextStrokeTransparency = 0
  648. tecks2.TextColor3 = Color3.new(0.8,0,0)
  649. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  650. tecks2.Size = UDim2.new(1,0,0.5,0)
  651. tecks2.Parent = naeeym2
  652.  
  653. coroutine.wrap(function()
  654. while true do
  655. swait(15)
  656. hum.Health = hum.Health + 15
  657. local chance = 200
  658. if(Bloodied/4 > 25)then
  659. chance = Bloodied/4
  660. elseif(Bloodied/2 ~= 0)then
  661. chance = 25
  662. end
  663. local name = M.RNG(1,45)
  664. if(name == 1)then
  665. tecks2.Text = "T@#-!ox"
  666. elseif(name == 2)then
  667. tecks2.Text = "The-Box"
  668. elseif(name == 3)then
  669. tecks2.Text = "The-Boxxxxx"
  670. elseif(M.RNG(1,chance) == math.ceil(chance/2))then
  671. tecks2.Text = "Heh Heh"
  672. else
  673. tecks2.Text = "The-Box"
  674. end
  675. if(tecks2.Text~="Hahahaahahhahahahahahahahaaha")then
  676. if(Bloodied > BloodlustBlood)then
  677. tecks2.Text = "Bloodlustful "..tecks2.Text
  678. else
  679. tecks2.Text = "Psychopathic "..tecks2.Text
  680. end
  681. end
  682. if(Twitch)then
  683. tecks2.Text = tecks2.Text:gsub("",string.char(M.RNG(1,127)))
  684. end
  685. end
  686. end)()
  687. -- Animation Loop
  688. runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function()
  689. sine=sine+change
  690. if(not ThrownKnife)then Decal.Transparency = 1-(Bloodied/150) end
  691. local twitchVal = M.RNG(1,400)
  692. if(Bloodied >= BloodlustBlood)then
  693. local twitchVal = M.RNG(1,100)
  694. end
  695. if(twitchVal == 1 and not Twitch and time()-lastTwitch > 1.5)then
  696. Twitch = true
  697. lastTwitch = time()
  698. end
  699. if(time()-lastTwitch > M.RNG(50,100)/100)then
  700. Twitch = false
  701. end
  702. if(Decal.Transparency <= 0.7)then
  703. if(time()-BloodTime > .25)then
  704. if(not ThrownKnife)then
  705. BloodDrop((Handle.CFrame*CF.N(0,1.5,0)).p,(CF.N(Handle.CFrame.p)*CF.N(0,-25,0)).p,8)
  706. BloodTime = time()
  707. Bloodied = Bloodied-1
  708. end
  709. end
  710. end
  711. if(Bloodied > BloodlustBlood)then
  712. if(not Twitch)then
  713. Music.Pitch = 0.85
  714. end
  715. WalkSpeed = 50
  716. else
  717. if(not Twitch)then
  718. Music.Pitch = 1
  719. end
  720. WalkSpeed = 50
  721. end
  722. hum.WalkSpeed = WalkSpeed
  723.  
  724. if(Twitch)then
  725. Music.Pitch = 0.65
  726. NK.C1 = clerp(NK.C1,CF.A(-M.R(15+M.RNG(0,25)),-M.R(25+M.RNG(-15,15)/15),0),.5)
  727. else
  728. NK.C1 = clerp(NK.C1,CF.N(),.3)
  729. end
  730.  
  731. local wsVal = 5 / (hum.WalkSpeed / 50)
  732. if(CheckState(root) == 'Walk')then
  733. -- Walk anim
  734. change = 2/3
  735. RH.C1 = clerp(RH.C1,CF.N(0,.975-.1*M.S(sine/wsVal),-.1*M.C(sine/9)) *CF.A(M.R(25+35*M.C(sine/wsVal)),0,0),.6)
  736. LH.C1 = clerp(LH.C1,CF.N(0,.975+.1*M.S(sine/wsVal),.1*M.C(sine/9))*CF.A(M.R(25+35*-M.C(sine/wsVal)),0,0),.6)
  737. else
  738. RH.C1 = clerp(RH.C1,CF.N(0,1,0),.3)
  739. LH.C1 = clerp(LH.C1,CF.N(0,1,0),.3)
  740. end
  741. if(neutralAnims)then
  742. if(CheckState(root) == 'Idle')then
  743. -- Idle anim
  744. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  745. RH.C0 = clerp(RH.C0,CF.N(.5,-1-.1*M.C(time()),0),.1)
  746. LH.C0 = clerp(LH.C0,CF.N(-.5,-1-.1*M.C(time()),0),.1)
  747. RJ.C0 = clerp(RJ.C0,CF.N(0,0+.1*M.C(time()),0),.1)
  748. LS.C0 = clerp(LS.C0,CF.N(-1.5,.5,0)*CF.A(0,0,M.R(-12)-.1*M.C(time())),.1)
  749. RS.C0 = clerp(RS.C0,CF.N(1.5,.5,0)*CF.A(0,0,M.R(6+6*M.C(time()))),.1)
  750. elseif(CheckState(root) == 'Walk')then
  751. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  752. RJ.C0 = clerp(RJ.C0,CF.N(0,0+.1*M.C(sine/(wsVal/2)),0),.3)
  753. RH.C0 = clerp(RH.C0,RHD*CF.N(0,0-.1*M.C(sine/(wsVal/2)),0),.3)
  754. LH.C0 = clerp(LH.C0,LHD*CF.N(0,0-.1*M.C(sine/(wsVal/2)),0),.3)
  755. RS.C0 = clerp(RS.C0,RSD*CF.A(M.R(0+25*M.C(sine/wsVal)),0,0),.3)
  756. LS.C0 = clerp(LS.C0,LSD*CF.A(M.R(0+25*-M.C(sine/wsVal)),0,0),.3)
  757. elseif(CheckState(root) == 'Jump')then
  758. RJ.C0 = clerp(RJ.C0,CFrame.new(3.20309751e-13, 0.00628912123, 1.38760515e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496),0.1)
  759. LH.C0 = clerp(LH.C0,CFrame.new(-0.496501386, -0.990816772, 0.0216115266, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),0.1)
  760. RH.C0 = clerp(RH.C0,CFrame.new(0.951985836, -0.878642321, 0.00768248737, 0.807899356, 0.589113057, 0.0156119959, -0.58925271, 0.80792439, 0.0062854127, -0.0089104902, -0.0142773949, 0.999858022),0.1)
  761. LS.C0 = clerp(LS.C0,CFrame.new(-1.46314824, 0.504732132, -0.0780580789, 0.996319413, 0.084279716, 0.0156119959, -0.0843861476, 0.996413291, 0.0062854127, -0.0150262676, -0.00757971918, 0.999858022),0.1)
  762. RS.C0 = clerp(RS.C0,CFrame.new(1.41746354, 0.490631759, 0.0355827622, 0.983217537, -0.181765735, 0.0156119959, 0.181687862, 0.98333621, 0.0062854127, -0.0164943133, -0.0033434222, 0.999858022),0.1)
  763. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  764. elseif(CheckState(root) == 'Fall')then
  765. RJ.C0 = clerp(RJ.C0,CFrame.new(3.20309751e-13, 0.00628912123, 1.38760515e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496),0.1)
  766. LH.C0 = clerp(LH.C0,CFrame.new(-0.496501386, -0.990816772, 0.0216115266, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),0.1)
  767. RH.C0 = clerp(RH.C0,CFrame.new(0.951985836, -0.878642321, 0.00768248737, 0.807899356, 0.589113057, 0.0156119959, -0.58925271, 0.80792439, 0.0062854127, -0.0089104902, -0.0142773949, 0.999858022),0.1)
  768. LS.C0 = clerp(LS.C0,CFrame.new(-1.39294851, 0.589963198, 0.0808894783, 0.976439953, 0.21526964, 0.0149493031, -0.210034028, 0.932227492, 0.294682175, 0.0494999699, -0.29087922, 0.955478072),0.1)
  769. RS.C0 = clerp(RS.C0,CFrame.new(1.29713261, 0.551729858, 0.0523524433, 0.920970082, -0.389345646, 0.0149465948, 0.368037164, 0.88187921, 0.294682831, -0.127914533, -0.265893161, 0.955477953),0.1)
  770. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  771. end
  772. end
  773. end)
  774.  
  775. -- Died event
  776.  
  777. hum.Died:connect(function() -- When the player dies
  778. UnbindLoops() -- Unbind all of the loops used
  779. end)
  780.  
  781.  
  782. -- Everything else
  783.  
  784.  
  785. function GetTorso(char)
  786. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  787. end
  788.  
  789. function Projectile(what)
  790. what.Archivable = true
  791. local projectile = what:Clone()
  792. projectile.Parent = char
  793. projectile.Transparency = 0
  794. projectile.Name = "Projectile"
  795. projectile.CFrame = CFrame.new(head.CFrame.p,mouse.Hit.p)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(-90))
  796. projectile.Anchored = true
  797. projectile.Velocity = Vector3.new(0,0,0)
  798. projectile.RotVelocity = Vector3.new(0,0,0)
  799. projectile.Anchored = false
  800. --character.Head.Position).unit
  801. local Velocity = (mouse.Hit.p-head.CFrame.p).unit
  802. projectile.Velocity = Velocity*160
  803. local force = Instance.new("BodyForce")
  804. force.force = Vector3.new(0, 196.2, 0) * projectile:GetMass() * .8
  805. force.Parent = projectile
  806. local touchie
  807. coroutine.wrap(function()
  808. repeat wait() KnifePosition = projectile.CFrame until not projectile or not projectile.Parent or not ThrownKnife
  809. projectile:destroy()
  810. print'knifu'
  811. ThrownKnife = false
  812. Attack = false
  813. Handle.Transparency = 0
  814. KnifePosition = CF.N(0,0,0)
  815. end)()
  816. touchie = projectile.Touched:connect(function(h)
  817. if(not char:IsAncestorOf(h))then
  818. force:destroy()
  819. projectile.Velocity = V3.N(0,0,0)
  820. touchie:disconnect()
  821. local rag = Ragdoll(h.Parent)
  822. swait()
  823. local name = (h.Name == 'Head' and 'FakeHead' or h.Name)
  824. local asd = CF.N((projectile.CFrame.p + h.CFrame.p) * .5)
  825.  
  826. if(not h.Parent and rag and rag:FindFirstChild(name,true))then h = rag:FindFirstChild(name,true) end
  827. local C0 = projectile.CFrame:inverse() * asd
  828. if(not h.Anchored)then
  829. local w = NewInstance('Weld',char,{Part0=projectile,Part1=h,C0 = C0,C1=h.CFrame:inverse() * asd})
  830. else
  831. projectile.Anchored = true
  832. end
  833. if(rag)then
  834. Bloodied = Bloodied + 30
  835. local bloodie = NewInstance('Part',rag,{Anchored = false,CanCollide=false,Size=V3.N(.02,.02,.02),Transparency=1})
  836. local w = NewInstance('Weld',rag,{Part0=bloodie,Part1=h,C0 = C0,C1=h.CFrame:inverse() * asd})
  837. coroutine.wrap(function() repeat wait(M.RNG(2,10)/100)
  838. local spread = V3.N(M.RNG(-85,85)/100,M.RNG(-85,85)/100,M.RNG(-85,85)/100)
  839. BloodDrop(bloodie.CFrame*CF.N(0,.02,0).p,bloodie.CFrame * CF.N(0,100,0).p+spread,10)
  840. until not bloodie or not bloodie.Parent or not rag or not rag.Parent end)()
  841. repeat wait() until not ThrownKnife
  842. delay(5, function()
  843. if(rag)then
  844. rag:destroy()
  845. end
  846. end)
  847. end
  848. end
  849. end)
  850. end
  851. function Decapitate(target)
  852. if(target and target ~= char and GetTorso(target) and target:FindFirstChildOfClass'Humanoid' and target:FindFirstChildOfClass'Humanoid'.Name ~= 'Corpse' and target:FindFirstChildOfClass'Humanoid'.Health > 0 and target:FindFirstChild'Head')then
  853. --BloodPuddle(start,direction,range,maxSize)
  854. Bloodied = Bloodied + 60
  855. target.Archivable = true
  856. local Clone = target:Clone()
  857. target:destroy()
  858. Clone.Parent = workspace
  859. local FakeHead = Clone.Head:Clone()
  860. Clone.Head:destroy()
  861. Clone:FindFirstChildOfClass'Humanoid'.PlatformStand = true
  862. Clone.Name = 'Ragdoll of '..target.Name
  863. FakeHead.Name = 'FakeHead'
  864. FakeHead.Parent = Clone
  865. Clone:FindFirstChildOfClass'Humanoid'.Name = 'Corpse'
  866. local head = FakeHead
  867. local torso = GetTorso(Clone)
  868. local cut = FX(756072587)
  869. local bv = Instance.new("BodyVelocity",torso)
  870. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  871. bv.velocity = CF.N(Handle.Position,torso.Position).lookVector*20
  872. bv.Name = "MOVE"
  873. game:service'Debris':AddItem(bv,0.2)
  874. local bv = Instance.new("BodyVelocity",FakeHead)
  875. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  876. bv.velocity = CF.N(Handle.Position,FakeHead.Position).lookVector*20
  877. bv.Name = "MOVE"
  878. game:service'Debris':AddItem(bv,0.2)
  879.  
  880. game:service'Debris':AddItem(Clone,10)
  881. for i = 1, 500 do
  882. wait(M.RNG(2,10)/100)
  883. BloodDrop(torso.CFrame * CF.N(0,torso.Size.Y/2,0).p,(torso.CFrame * CF.N(0,torso.Size.Y,0)).p,10)
  884. BloodDrop(head.CFrame * CF.N(0,-.25,0).p,(head.CFrame * CF.N(0,-.7,0)).p,5)
  885. if not head or not torso or not Clone or not Clone.Parent or not Clone.Parent.Parent then break end
  886. end
  887. end
  888. end
  889.  
  890. function Ragdoll(target,bloodPos)
  891. if(target and target ~= char and GetTorso(target) and target:FindFirstChildOfClass'Humanoid' and target:FindFirstChildOfClass'Humanoid'.Name ~= 'Corpse' and target:FindFirstChildOfClass'Humanoid'.Health > 0 and target:FindFirstChild'Head')then
  892. --BloodPuddle(start,direction,range,maxSize)
  893. target.Archivable = true
  894. local Clone = target:Clone()
  895. local torso = GetTorso(Clone)
  896. target:destroy()
  897. Clone.Parent = workspace
  898. Clone:FindFirstChildOfClass'Humanoid'.PlatformStand = true
  899. Clone.Name = 'Ragdoll of '..target.Name
  900. Clone:FindFirstChildOfClass'Humanoid'.Name = 'Corpse'
  901. local fHead = Clone.Head:Clone()
  902. Clone.Head:destroy()
  903. fHead.Name = 'FakeHead'
  904. fHead.Parent = Clone
  905. NewInstance("Motor6D",torso,{Name='Neck',Part0=torso,Part1=fHead,C0 = HD})
  906. return Clone;
  907. end
  908. end
  909.  
  910. function DealDamage(who,minDam,maxDam,Knock,Type)
  911. if(who)then
  912. local hum = who:FindFirstChildOfClass'Humanoid'
  913. local Damage = M.RNG(minDam,maxDam)
  914. local canHit = true
  915. if(hum)then
  916. for _, p in pairs(Hit) do
  917. if p[1] == hum then
  918. if(time() - p[2] < 0.1) then
  919. canHit = false
  920. else
  921. Hit[_] = nil
  922. end
  923. end
  924. end
  925. if(canHit)then
  926. if(hum.Health >= math.huge)then
  927. who:BreakJoints()
  928. else
  929. local player = S.Players:GetPlayerFromCharacter(who)
  930. if(not player or not Teamed[player])then
  931. if(Type == "Fire")then
  932. --idk..
  933. else
  934. local c = Instance.new("ObjectValue",hum)
  935. c.Name = "creator"
  936. c.Value = plr
  937. game:service'Debris':AddItem(c,0.35)
  938. hum.Health = hum.Health - Damage
  939. if(Type == 'Knockback' and GetTorso(who))then
  940. local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit
  941. local body = NewInstance('BodyVelocity',GetTorso(who),{
  942. P = 500,
  943. maxForce = V3.N(math.huge,0,math.huge),
  944. velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05
  945. })
  946. game:service'Debris':AddItem(body,.5)
  947. elseif(Type == 'Knockdown' and GetTorso(who))then
  948. local rek = GetTorso(who)
  949. print(rek)
  950. hum.PlatformStand = true
  951. delay(1,function()
  952. hum.PlatformStand = false
  953. end)
  954. local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit
  955. local bodvol = NewInstance("BodyVelocity",rek,{
  956. velocity = angle * Knock,
  957. P = 5000,
  958. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  959. })
  960. local rl = NewInstance("BodyAngularVelocity",rek,{
  961. P = 3000,
  962. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  963. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  964. })
  965. game:GetService("Debris"):AddItem(bodvol, .5)
  966. game:GetService("Debris"):AddItem(rl, .5)
  967. end
  968. end
  969. end
  970. end
  971. table.insert(Hit,{hum,time()})
  972. end
  973. end
  974. end
  975. end
  976.  
  977. function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype)
  978. local Recursive
  979. Recursive = function(whom)
  980. for _,c in next, whom:children() do
  981. local hum = c:FindFirstChildOfClass'Humanoid'
  982. local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso'
  983. if(hum and hed)then
  984. local mag = (hed.CFrame.p - pos).magnitude
  985. if(mag <= radius and c ~= char)then
  986. DealDamage(c,mindamage,maxdamage,knockback,damagetype)
  987. end
  988. end
  989. Recursive(c)
  990. end
  991. end
  992. Recursive(workspace)
  993. end
  994.  
  995. function MagniHeal(pos,radius,heal,needsTeamed)
  996. for _,v in next, workspace:GetDescendants() do
  997. local player = S.Players:GetPlayerFromCharacter(v)
  998. local hum = v:FindFirstChildOfClass'Humanoid'
  999. if(hum and v:IsA'Model')then
  1000. if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then
  1001. local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso'
  1002. if(pp and (pp.CFrame.p-pos).magnitude <= radius)then
  1003. hum.Health = hum.Health + heal
  1004. end
  1005. end
  1006. end
  1007. end
  1008. end
  1009.  
  1010.  
  1011. Debounces:New('how2use',1) -- name, cooldown
  1012.  
  1013. function TestDebounce()
  1014. if(Debounces:Get('how2use').Usable)then
  1015. -- code
  1016. Debounces:Get('how2use'):Use() -- use it up
  1017. end
  1018. end
  1019.  
  1020. function Throw()
  1021. Attack = true
  1022. neutralAnims = false
  1023. for i = 0, 0.5, 0.01 do
  1024. swait()
  1025. RJ.C0 = clerp(RJ.C0,CFrame.new(3.20297608e-13, 0.00628888281, 1.38610631e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496),i)
  1026. LH.C0 = clerp(LH.C0,CFrame.new(-0.496501386, -0.990817726, 0.0216115303, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),i)
  1027. RH.C0 = clerp(RH.C0,CFrame.new(0.498532087, -0.990986288, 0.0154690417, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),i)
  1028. LS.C0 = clerp(LS.C0,CFrame.new(-1.46255744, 0.505245924, -0.00366198737, 0.996415496, 0.083136864, 0.0156119959, -0.0832431838, 0.996509492, 0.0062854127, -0.0150349522, -0.007562479, 0.999858022),i)
  1029. RS.C0 = clerp(RS.C0,CFrame.new(1.45461845, 0.798322797, -0.0251020491, 0.992853343, 0.114112578, -0.0349269882, 0.119324632, -0.944872856, 0.304921478, 0.00179381669, -0.306909949, -0.951736629),i)
  1030. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),i)
  1031. end
  1032. wait(.25)
  1033. for i = 0, 0.5, 0.1 do
  1034. swait()
  1035. RJ.C0 = clerp(RJ.C0,CFrame.new(3.20297608e-13, 0.00628888281, 1.38610631e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496),i)
  1036. LH.C0 = clerp(LH.C0,CFrame.new(-0.496501386, -0.990817726, 0.0216115303, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),i)
  1037. RH.C0 = clerp(RH.C0,CFrame.new(0.498532087, -0.990986288, 0.0154690417, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),i)
  1038. LS.C0 = clerp(LS.C0,CFrame.new(-1.46255744, 0.505245924, -0.00366198737, 0.996415496, 0.083136864, 0.0156119959, -0.0832431838, 0.996509492, 0.0062854127, -0.0150349522, -0.007562479, 0.999858022),i)
  1039. RS.C0 = clerp(RS.C0,CFrame.new(1.47101879, 0.662136793, -0.0487503409, 0.99285394, -0.0636505187, 0.100939959, 0.119318806, 0.516643643, -0.847845852, 0.00181584992, 0.853831172, 0.520546317),i)
  1040. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),i)
  1041. end
  1042. ThrownKnife = true
  1043. Handle.Transparency = 1
  1044. Projectile(Handle)
  1045. Decal.Transparency = 1
  1046. wait(.5)
  1047. neutralAnims = true
  1048. end
  1049.  
  1050. function ClickCombo()
  1051. Attack = true
  1052. neutralAnims = false
  1053. for i = 0, 1, 0.1 do
  1054. swait()
  1055. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0288643427, 0.00628663553, 0.0650177076, 0.795387626, -0.00380940945, -0.606089413, 0, 0.99998033, -0.0062851035, 0.606101394, 0.00499909231, 0.79537189),0.3)
  1056. LH.C0 = clerp(LH.C0,CFrame.new(-0.636930108, -0.990812421, 0.0222794991, 0.785828114, 0, 0.618445039, -0.00388699071, 0.99998033, 0.00493901037, -0.61843282, -0.0062851035, 0.785812557),0.3)
  1057. RH.C0 = clerp(RH.C0,CFrame.new(0.52050519, -0.991459012, -0.0594233908, 0.785828114, 0, 0.618445039, -0.00388699071, 0.99998033, 0.00493901037, -0.61843282, -0.0062851035, 0.785812557),0.3)
  1058. LS.C0 = clerp(LS.C0,CFrame.new(-1.3529017, 0.445256352, -0.140841246, 0.946949303, 0.32137382, 0.00244083256, -0.0499903522, 0.154793665, -0.986681402, -0.317471415, 0.934215069, 0.162647352),0.3)
  1059. RS.C0 = clerp(RS.C0,CFrame.new(1.27564776, 0.466243029, 0.284559131, 0.129886121, -0.885094404, -0.446920156, 0.991494656, 0.112184346, 0.0659796819, -0.00826080143, -0.451688766, 0.892137289),0.3)
  1060. NK.C0 = clerp(NK.C0,CFrame.new(-0.0194674022, 1.49851632, -0.0826113448, 0.795387626, -0.0348471925, 0.605098784, -0.00380940945, 0.998038769, 0.0624837019, -0.606089413, -0.0520038158, 0.793694794),0.3)
  1061. end
  1062. local swoosh = coroutine.wrap(FX)(1306070008,1,M.RNG(95,125)/100)
  1063. Handle.CanCollide = true
  1064. local touched = Handle.Touched:connect(function(t)
  1065. Decapitate(t.Parent)
  1066. end)
  1067. for i = 0, 1, 0.05 do
  1068. swait()
  1069. if((root.Velocity * V3.N(1, 0, 1)).magnitude > 0.3 and WalkSpeed == 16)then
  1070. root.CFrame = root.CFrame*CF.N(0,0,-1)
  1071. end
  1072. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0220096968, 0.00628673984, -0.0231647622, 0.894043028, 0.00281593157, 0.447972536, 0, 0.99998033, -0.00628582342, -0.447981387, 0.00561979692, 0.894025445),0.3)
  1073. LH.C0 = clerp(LH.C0,CFrame.new(-0.526260316, -0.99155879, -0.0964359194, 0.900927901, 0, -0.433968931, 0.00272785197, 0.99998033, 0.00566307362, 0.433960348, -0.00628582342, 0.900910139),0.3)
  1074. RH.C0 = clerp(RH.C0,CFrame.new(0.494664222, -0.99110806, -0.00358221633, 0.900927901, 0, -0.433968931, 0.00272785197, 0.99998033, 0.00566307362, 0.433960348, -0.00628582342, 0.900910139),0.3)
  1075. LS.C0 = clerp(LS.C0,CFrame.new(-1.35400736, 0.608840644, 0.230960667, 0.920430303, 0.226487458, 0.318608999, -0.244053409, 0.969633698, 0.0157693904, -0.305362433, -0.092272222, 0.947755098),0.3)
  1076. RS.C0 = clerp(RS.C0,CFrame.new(1.13865554, 0.477464586, -0.481917799, 0.129889846, 0.658138037, 0.7416085, 0.99149406, -0.0799742565, -0.102683425, -0.0082702823, 0.748637795, -0.662927747),0.3)
  1077. NK.C0 = clerp(NK.C0,CFrame.new(0.0115462095, 1.49914026, 0.0166844055, 0.894043028, 0.0257562418, -0.447240323, 0.00281593157, 0.998003125, 0.0631033778, 0.447972536, -0.0576765276, 0.892185211),0.3)
  1078. HW.C0 = clerp(HW.C0,CFrame.new(0.0201188885, -1.41869056, -0.559928358, -1.8030405e-06, -3.1888485e-06, 1.00000012, -0.698006153, -0.716091871, -3.54647636e-06, 0.716091871, -0.698006153, -9.38773155e-07)*BeheadHold,0.3)
  1079. end
  1080. wait(.1)
  1081. Handle.CanCollide = false
  1082. touched:disconnect()
  1083. coroutine.wrap(function()
  1084. for i = 0, 1, 0.1 do
  1085. swait()
  1086. HW.C0 = Hold
  1087. end
  1088. end)()
  1089. neutralAnims = true
  1090. Attack = false
  1091. end
  1092. function AttemptGetKnife()
  1093. if((torso.CFrame.p-KnifePosition.p).magnitude < 6)then
  1094. ThrownKnife = false
  1095. end
  1096. end
  1097. mouse.Button1Down:connect(function()
  1098. if(not ThrownKnife)then
  1099. if(Attack)then return end
  1100. ClickCombo()
  1101. else
  1102. AttemptGetKnife()
  1103. end
  1104. end)
  1105. mouse.KeyDown:connect(function(k)
  1106. if(Attack)then return end
  1107. if(k == "e")then
  1108. Throw()
  1109. elseif(k == 'm')then
  1110. if(Music.Volume ~= 0)then
  1111. Music.Volume =0
  1112. else
  1113. Music.Volume = Sounds.Psycho.Volume
  1114. end
  1115. elseif(k == 'q')then
  1116. if(Mesh.MeshId ~= 'http://www.roblox.com/asset/?id=123248347')then
  1117. Mesh.MeshId = 'http://www.roblox.com/asset/?id=123248347'
  1118. Mesh.TextureId = 'http://www.roblox.com/asset/?id=123248449'
  1119. Mesh.Scale = V3.N(.4,.4,.4)
  1120. Hold = CF.N(0,-1,-1.35)*CF.A(M.R(-90),0,0)
  1121. BeheadHold = CF.N(0,.5,0)*CF.A(0,M.R(-90),0)
  1122. else
  1123. Mesh.MeshId='rbxassetid://471401475'
  1124. Mesh.TextureId='rbxassetid://471401476'
  1125. Mesh.Scale = V3.N(.01,.01,.01)
  1126. Hold = CF.N(0,-1,-1)*CF.A(M.R(-90),M.R(90),0)
  1127. BeheadHold = CF.A(0,0,0)
  1128. end
  1129. HW.C0 = Hold
  1130. end
  1131. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement