Advertisement
Guest User

Untitled

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