Advertisement
meninodapacocaII

Untitled

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