Advertisement
Silver_cole

REEEE

Sep 4th, 2019
187
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.silver22352
  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.  
  691. coroutine.wrap(function()
  692. while true do
  693. swait(15)
  694. hum.Health = hum.Health + 15
  695. local chance = 200
  696. if(Bloodied/4 > 25)then
  697. chance = Bloodied/4
  698. elseif(Bloodied/2 ~= 0)then
  699. chance = 25
  700. end
  701. end
  702. end)()
  703. -- Animation Loop
  704. runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function()
  705. sine=sine+change
  706. if(not ThrownKnife)then Decal.Transparency = 1-(Bloodied/150) end
  707. local twitchVal = M.RNG(1,400)
  708. if(Bloodied >= BloodlustBlood)then
  709. local twitchVal = M.RNG(1,100)
  710. end
  711. if(twitchVal == 1 and not Twitch and time()-lastTwitch > 1.5)then
  712. Twitch = true
  713. lastTwitch = time()
  714. end
  715. if(time()-lastTwitch > M.RNG(50,100)/100)then
  716. Twitch = false
  717. end
  718. if(Decal.Transparency <= 0.7)then
  719. if(time()-BloodTime > .25)then
  720. if(not ThrownKnife)then
  721. BloodDrop((Handle.CFrame*CF.N(0,1.5,0)).p,(CF.N(Handle.CFrame.p)*CF.N(0,-25,0)).p,8)
  722. BloodTime = time()
  723. Bloodied = Bloodied-1
  724. end
  725. end
  726. end
  727. if(Bloodied > BloodlustBlood)then
  728. if(not Twitch)then
  729. Music.Pitch = 0.85
  730. end
  731. WalkSpeed = 16
  732. else
  733. if(not Twitch)then
  734. Music.Pitch = 1
  735. end
  736. WalkSpeed = 6
  737. end
  738. hum.WalkSpeed = WalkSpeed
  739.  
  740. if(Twitch)then
  741. Music.Pitch = 0.65
  742. NK.C1 = clerp(NK.C1,CF.A(-M.R(15+M.RNG(0,25)),-M.R(25+M.RNG(-15,15)/15),0),.5)
  743. else
  744. NK.C1 = clerp(NK.C1,CF.N(),.3)
  745. end
  746.  
  747. local wsVal = 5 / (hum.WalkSpeed / 16)
  748. if(CheckState(root) == 'Walk')then
  749. -- Walk anim
  750. change = 2/3
  751. 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)
  752. 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)
  753. else
  754. RH.C1 = clerp(RH.C1,CF.N(0,1,0),.3)
  755. LH.C1 = clerp(LH.C1,CF.N(0,1,0),.3)
  756. end
  757. if(neutralAnims)then
  758. if(CheckState(root) == 'Idle')then
  759. -- Idle anim
  760. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  761. RH.C0 = clerp(RH.C0,CF.N(.5,-1-.1*M.C(time()),0),.1)
  762. LH.C0 = clerp(LH.C0,CF.N(-.5,-1-.1*M.C(time()),0),.1)
  763. RJ.C0 = clerp(RJ.C0,CF.N(0,0+.1*M.C(time()),0),.1)
  764. LS.C0 = clerp(LS.C0,CF.N(-1.5,.5,0)*CF.A(0,0,M.R(-12)-.1*M.C(time())),.1)
  765. RS.C0 = clerp(RS.C0,CF.N(1.5,.5,0)*CF.A(0,0,M.R(6+6*M.C(time()))),.1)
  766. elseif(CheckState(root) == 'Walk')then
  767. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  768. RJ.C0 = clerp(RJ.C0,CF.N(0,0+.1*M.C(sine/(wsVal/2)),0),.3)
  769. RH.C0 = clerp(RH.C0,RHD*CF.N(0,0-.1*M.C(sine/(wsVal/2)),0),.3)
  770. LH.C0 = clerp(LH.C0,LHD*CF.N(0,0-.1*M.C(sine/(wsVal/2)),0),.3)
  771. RS.C0 = clerp(RS.C0,RSD*CF.A(M.R(0+25*M.C(sine/wsVal)),0,0),.3)
  772. LS.C0 = clerp(LS.C0,LSD*CF.A(M.R(0+25*-M.C(sine/wsVal)),0,0),.3)
  773. elseif(CheckState(root) == 'Jump')then
  774. 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)
  775. 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)
  776. 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)
  777. 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)
  778. 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)
  779. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  780. elseif(CheckState(root) == 'Fall')then
  781. 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)
  782. 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)
  783. 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)
  784. 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)
  785. 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)
  786. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),.1)
  787. end
  788. end
  789. end)
  790.  
  791. -- Died event
  792.  
  793. hum.Died:connect(function() -- When the player dies
  794. UnbindLoops() -- Unbind all of the loops used
  795. end)
  796.  
  797.  
  798. -- Everything else
  799.  
  800.  
  801. function GetTorso(char)
  802. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  803. end
  804.  
  805. function Projectile(what)
  806. what.Archivable = true
  807. local projectile = what:Clone()
  808. projectile.Parent = char
  809. projectile.Transparency = 0
  810. projectile.Name = "Projectile"
  811. projectile.CFrame = CFrame.new(head.CFrame.p,mouse.Hit.p)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(-90))
  812. projectile.Anchored = true
  813. projectile.Velocity = Vector3.new(0,0,0)
  814. projectile.RotVelocity = Vector3.new(0,0,0)
  815. projectile.Anchored = false
  816. --character.Head.Position).unit
  817. local Velocity = (mouse.Hit.p-head.CFrame.p).unit
  818. projectile.Velocity = Velocity*160
  819. local force = Instance.new("BodyForce")
  820. force.force = Vector3.new(0, 196.2, 0) * projectile:GetMass() * .8
  821. force.Parent = projectile
  822. local touchie
  823. coroutine.wrap(function()
  824. repeat wait() KnifePosition = projectile.CFrame until not projectile or not projectile.Parent or not ThrownKnife
  825. projectile:destroy()
  826. print'knifu'
  827. ThrownKnife = false
  828. Attack = false
  829. Handle.Transparency = 0
  830. KnifePosition = CF.N(0,0,0)
  831. end)()
  832. touchie = projectile.Touched:connect(function(h)
  833. if(not char:IsAncestorOf(h))then
  834. force:destroy()
  835. projectile.Velocity = V3.N(0,0,0)
  836. touchie:disconnect()
  837. local rag = Ragdoll(h.Parent)
  838. swait()
  839. local name = (h.Name == 'Head' and 'FakeHead' or h.Name)
  840. local asd = CF.N((projectile.CFrame.p + h.CFrame.p) * .5)
  841.  
  842. if(not h.Parent and rag and rag:FindFirstChild(name,true))then h = rag:FindFirstChild(name,true) end
  843. local C0 = projectile.CFrame:inverse() * asd
  844. if(not h.Anchored)then
  845. local w = NewInstance('Weld',char,{Part0=projectile,Part1=h,C0 = C0,C1=h.CFrame:inverse() * asd})
  846. else
  847. projectile.Anchored = true
  848. end
  849. if(rag)then
  850. Bloodied = Bloodied + 30
  851. local bloodie = NewInstance('Part',rag,{Anchored = false,CanCollide=false,Size=V3.N(.02,.02,.02),Transparency=1})
  852. local w = NewInstance('Weld',rag,{Part0=bloodie,Part1=h,C0 = C0,C1=h.CFrame:inverse() * asd})
  853. coroutine.wrap(function() repeat wait(M.RNG(2,10)/100)
  854. local spread = V3.N(M.RNG(-85,85)/100,M.RNG(-85,85)/100,M.RNG(-85,85)/100)
  855. BloodDrop(bloodie.CFrame*CF.N(0,.02,0).p,bloodie.CFrame * CF.N(0,100,0).p+spread,10)
  856. until not bloodie or not bloodie.Parent or not rag or not rag.Parent end)()
  857. repeat wait() until not ThrownKnife
  858. delay(5, function()
  859. if(rag)then
  860. rag:destroy()
  861. end
  862. end)
  863. end
  864. end
  865. end)
  866. end
  867. function Decapitate(target)
  868. 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
  869. --BloodPuddle(start,direction,range,maxSize)
  870. Bloodied = Bloodied + 60
  871. target.Archivable = true
  872. local Clone = target:Clone()
  873. target:destroy()
  874. Clone.Parent = workspace
  875. local FakeHead = Clone.Head:Clone()
  876. Clone.Head:destroy()
  877. Clone:FindFirstChildOfClass'Humanoid'.PlatformStand = true
  878. Clone.Name = 'Ragdoll of '..target.Name
  879. FakeHead.Name = 'FakeHead'
  880. FakeHead.Parent = Clone
  881. Clone:FindFirstChildOfClass'Humanoid'.Name = 'Corpse'
  882. local head = FakeHead
  883. local torso = GetTorso(Clone)
  884. local cut = FX(756072587)
  885. local bv = Instance.new("BodyVelocity",torso)
  886. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  887. bv.velocity = CF.N(Handle.Position,torso.Position).lookVector*20
  888. bv.Name = "MOVE"
  889. game:service'Debris':AddItem(bv,0.2)
  890. local bv = Instance.new("BodyVelocity",FakeHead)
  891. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  892. bv.velocity = CF.N(Handle.Position,FakeHead.Position).lookVector*20
  893. bv.Name = "MOVE"
  894. game:service'Debris':AddItem(bv,0.2)
  895.  
  896. game:service'Debris':AddItem(Clone,10)
  897. for i = 1, 500 do
  898. wait(M.RNG(2,10)/100)
  899. BloodDrop(torso.CFrame * CF.N(0,torso.Size.Y/2,0).p,(torso.CFrame * CF.N(0,torso.Size.Y,0)).p,10)
  900. BloodDrop(head.CFrame * CF.N(0,-.25,0).p,(head.CFrame * CF.N(0,-.7,0)).p,5)
  901. if not head or not torso or not Clone or not Clone.Parent or not Clone.Parent.Parent then break end
  902. end
  903. end
  904. end
  905.  
  906. function Ragdoll(target,bloodPos)
  907. 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
  908. --BloodPuddle(start,direction,range,maxSize)
  909. target.Archivable = true
  910. local Clone = target:Clone()
  911. local torso = GetTorso(Clone)
  912. target:destroy()
  913. Clone.Parent = workspace
  914. Clone:FindFirstChildOfClass'Humanoid'.PlatformStand = true
  915. Clone.Name = 'Ragdoll of '..target.Name
  916. Clone:FindFirstChildOfClass'Humanoid'.Name = 'Corpse'
  917. local fHead = Clone.Head:Clone()
  918. Clone.Head:destroy()
  919. fHead.Name = 'FakeHead'
  920. fHead.Parent = Clone
  921. NewInstance("Motor6D",torso,{Name='Neck',Part0=torso,Part1=fHead,C0 = HD})
  922. return Clone;
  923. end
  924. end
  925.  
  926. function DealDamage(who,minDam,maxDam,Knock,Type)
  927. if(who)then
  928. local hum = who:FindFirstChildOfClass'Humanoid'
  929. local Damage = M.RNG(minDam,maxDam)
  930. local canHit = true
  931. if(hum)then
  932. for _, p in pairs(Hit) do
  933. if p[1] == hum then
  934. if(time() - p[2] < 0.1) then
  935. canHit = false
  936. else
  937. Hit[_] = nil
  938. end
  939. end
  940. end
  941. if(canHit)then
  942. if(hum.Health >= math.huge)then
  943. who:BreakJoints()
  944. else
  945. local player = S.Players:GetPlayerFromCharacter(who)
  946. if(not player or not Teamed[player])then
  947. if(Type == "Fire")then
  948. --idk..
  949. else
  950. local c = Instance.new("ObjectValue",hum)
  951. c.Name = "creator"
  952. c.Value = plr
  953. game:service'Debris':AddItem(c,0.35)
  954. hum.Health = hum.Health - Damage
  955. if(Type == 'Knockback' and GetTorso(who))then
  956. local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit
  957. local body = NewInstance('BodyVelocity',GetTorso(who),{
  958. P = 500,
  959. maxForce = V3.N(math.huge,0,math.huge),
  960. velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05
  961. })
  962. game:service'Debris':AddItem(body,.5)
  963. elseif(Type == 'Knockdown' and GetTorso(who))then
  964. local rek = GetTorso(who)
  965. print(rek)
  966. hum.PlatformStand = true
  967. delay(1,function()
  968. hum.PlatformStand = false
  969. end)
  970. local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit
  971. local bodvol = NewInstance("BodyVelocity",rek,{
  972. velocity = angle * Knock,
  973. P = 5000,
  974. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  975. })
  976. local rl = NewInstance("BodyAngularVelocity",rek,{
  977. P = 3000,
  978. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  979. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  980. })
  981. game:GetService("Debris"):AddItem(bodvol, .5)
  982. game:GetService("Debris"):AddItem(rl, .5)
  983. end
  984. end
  985. end
  986. end
  987. table.insert(Hit,{hum,time()})
  988. end
  989. end
  990. end
  991. end
  992.  
  993. function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype)
  994. local Recursive
  995. Recursive = function(whom)
  996. for _,c in next, whom:children() do
  997. local hum = c:FindFirstChildOfClass'Humanoid'
  998. local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso'
  999. if(hum and hed)then
  1000. local mag = (hed.CFrame.p - pos).magnitude
  1001. if(mag <= radius and c ~= char)then
  1002. DealDamage(c,mindamage,maxdamage,knockback,damagetype)
  1003. end
  1004. end
  1005. Recursive(c)
  1006. end
  1007. end
  1008. Recursive(workspace)
  1009. end
  1010.  
  1011. function MagniHeal(pos,radius,heal,needsTeamed)
  1012. for _,v in next, workspace:GetDescendants() do
  1013. local player = S.Players:GetPlayerFromCharacter(v)
  1014. local hum = v:FindFirstChildOfClass'Humanoid'
  1015. if(hum and v:IsA'Model')then
  1016. if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then
  1017. local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso'
  1018. if(pp and (pp.CFrame.p-pos).magnitude <= radius)then
  1019. hum.Health = hum.Health + heal
  1020. end
  1021. end
  1022. end
  1023. end
  1024. end
  1025.  
  1026.  
  1027. Debounces:New('how2use',1) -- name, cooldown
  1028.  
  1029. function TestDebounce()
  1030. if(Debounces:Get('how2use').Usable)then
  1031. -- code
  1032. Debounces:Get('how2use'):Use() -- use it up
  1033. end
  1034. end
  1035.  
  1036. function Throw()
  1037. Attack = true
  1038. neutralAnims = false
  1039. for i = 0, 0.5, 0.01 do
  1040. swait()
  1041. 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)
  1042. 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)
  1043. 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)
  1044. 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)
  1045. 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)
  1046. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),i)
  1047. end
  1048. wait(.25)
  1049. for i = 0, 0.5, 0.1 do
  1050. swait()
  1051. 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)
  1052. 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)
  1053. 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)
  1054. 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)
  1055. 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)
  1056. NK.C0 = clerp(NK.C0,HD*CF.N(0,.1,-.25)*CF.A(M.R(-25),0,0),i)
  1057. end
  1058. ThrownKnife = true
  1059. Handle.Transparency = 1
  1060. Projectile(Handle)
  1061. Decal.Transparency = 1
  1062. wait(.5)
  1063. neutralAnims = true
  1064. end
  1065.  
  1066. function ClickCombo()
  1067. Attack = true
  1068. neutralAnims = false
  1069. for i = 0, 1, 0.1 do
  1070. swait()
  1071. 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)
  1072. 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)
  1073. 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)
  1074. 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)
  1075. 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)
  1076. 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)
  1077. end
  1078. local swoosh = coroutine.wrap(FX)(1306070008,1,M.RNG(95,125)/100)
  1079. Handle.CanCollide = true
  1080. local touched = Handle.Touched:connect(function(t)
  1081. Decapitate(t.Parent)
  1082. end)
  1083. for i = 0, 1, 0.05 do
  1084. swait()
  1085. if((root.Velocity * V3.N(1, 0, 1)).magnitude > 0.3 and WalkSpeed == 16)then
  1086. root.CFrame = root.CFrame*CF.N(0,0,-1)
  1087. end
  1088. 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)
  1089. 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)
  1090. 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)
  1091. 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)
  1092. 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)
  1093. 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)
  1094. 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)
  1095. end
  1096. wait(.1)
  1097. Handle.CanCollide = false
  1098. touched:disconnect()
  1099. coroutine.wrap(function()
  1100. for i = 0, 1, 0.1 do
  1101. swait()
  1102. HW.C0 = Hold
  1103. end
  1104. end)()
  1105. neutralAnims = true
  1106. Attack = false
  1107. end
  1108. function AttemptGetKnife()
  1109. if((torso.CFrame.p-KnifePosition.p).magnitude < 6)then
  1110. ThrownKnife = false
  1111. end
  1112. end
  1113. mouse.Button1Down:connect(function()
  1114. if(not ThrownKnife)then
  1115. if(Attack)then return end
  1116. ClickCombo()
  1117. else
  1118. AttemptGetKnife()
  1119. end
  1120. end)
  1121. mouse.KeyDown:connect(function(k)
  1122. if(Attack)then return end
  1123. if(k == "t")then
  1124. Throw()
  1125. elseif(k == 'm')then
  1126. if(Music.Volume ~= 0)then
  1127. Music.Volume =0
  1128. else
  1129. Music.Volume = Sounds.Psycho.Volume
  1130. end
  1131. elseif(k == ';')then
  1132. if(Mesh.MeshId ~= 'http://www.roblox.com/asset/?id=123248347')then
  1133. Mesh.MeshId = 'http://www.roblox.com/asset/?id=123248347'
  1134. Mesh.TextureId = 'http://www.roblox.com/asset/?id=123248449'
  1135. Mesh.Scale = V3.N(.4,.4,.4)
  1136. Hold = CF.N(0,-1,-1.35)*CF.A(M.R(-90),0,0)
  1137. BeheadHold = CF.N(0,.5,0)*CF.A(0,M.R(-90),0)
  1138. else
  1139. Mesh.MeshId='rbxassetid://471401475'
  1140. Mesh.TextureId='rbxassetid://471401476'
  1141. Mesh.Scale = V3.N(.01,.01,.01)
  1142. Hold = CF.N(0,-1,-1)*CF.A(M.R(-90),M.R(90),0)
  1143. BeheadHold = CF.A(0,0,0)
  1144. end
  1145. HW.C0 = Hold
  1146. end
  1147. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement