Advertisement
NoHackJustStevePlayz

Untitled

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