Advertisement
SonicrixLP

Untitled

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