Advertisement
Guest User

Untitled

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