Advertisement
Guest User

killer

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