Advertisement
Caolobread

murderer

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