Advertisement
LOl2x234

Untitled

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