MrWiggles1029

dfseas

Oct 26th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.44 KB | None | 0 0
  1. --- shortcuts
  2. v3 = Vector3.new
  3. cn = CFrame.new
  4. ca2 = CFrame.Angles
  5. mf = math.floor
  6. mran = math.random rn=mran
  7. mrad = math.rad rd=mran
  8. mdeg = math.deg
  9. ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end
  10. mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end
  11. ud=UDim2.new
  12. bn = BrickColor.new
  13. c3 = Color3.new
  14. -----
  15. -- Player = game:service'Players'.TigreBlood
  16. Player = game:service'Players'.LocalPlayer
  17. Char = Player.Character
  18. Torso = Char.Torso
  19. Head = Char.Head
  20. Humanoid = Char.Humanoid
  21. Root=Char.HumanoidRootPart.RootJoint
  22.  
  23. LA=Char['Left Arm']
  24. RA=Char['Right Arm']
  25. LL=Char['Left Leg']
  26. RL=Char['Right Leg']
  27. LAM=Torso['Left Shoulder']
  28. RAM=Torso['Right Shoulder']
  29. LLM=Torso['Left Hip']
  30. RLM=Torso['Right Hip']
  31. Neck=Torso.Neck
  32. Neck.C0=cn(0,1.5,0)
  33. Neck.C1=cn(0,0,0)
  34.  
  35. name='Hook and Cleaver'
  36. Range = 100
  37. pcall(function() Player.Backpack[name]:Remove() end)
  38. pcall(function() Char[name]:Remove() end)
  39. pcall(function() Char.Block:Remove() end)
  40. pcall(function() Root.Parent.BodyGyro:Destroy() end)
  41.  
  42. as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
  43. as.corner='11294911'
  44. as.cone='1033714'
  45. as.ring="3270017"
  46. as.Chakram='47260990'
  47. as.ring2='18430887'
  48. as.blast='20329976'
  49. as.missile='10207677'
  50. as.fire='2693346'
  51. as.boom='3264793'
  52. as.slash='10209645'
  53. as.abscond='2767090'
  54. as.firelaser='13775494'
  55. as.diamond='9756362'
  56. as.metal='rbxasset://sounds\\unsheath.wav'
  57. as.Block = 'rbxasset://sounds\\metal.ogg'
  58. as.Slash = '10209645'
  59. as.Slash2 = '46760716'
  60. as.Hit='10209583'
  61. as.Kick='46153268'
  62. as.cast='2101137'
  63.  
  64.  
  65. for i,v in pairs(as) do
  66. if type(tonumber(v:sub(1,3)))=="number" then
  67. as[i]="http://www.roblox.com/asset/?id="..v
  68. end
  69. end
  70.  
  71.  
  72. iNew=function(tab)
  73. local v=Instance.new(tab[1])
  74. for Ind,Val in pairs(tab) do
  75. if Ind~=1 and Ind~=2 then
  76. v[Ind] = Val
  77. end
  78. end
  79. v.Parent=tab[2]==0 and LastMade or tab[2]
  80. LastMade=v
  81. return v
  82. end
  83.  
  84. iPart=function(tab)
  85. local v=Instance.new(tab.type or 'Part')
  86. if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
  87. v.Material = "SmoothPlastic"
  88. v.CanCollide=false
  89. v.TopSurface=10 v.BottomSurface=10 v.RightSurface=10 v.LeftSurface=10 v.BackSurface=10 v.FrontSurface=10
  90. v.Size=v3(tab[2],tab[3],tab[4])
  91. if tab.co then v.BrickColor=bn(tab.co) end
  92. if tab.tr then v.Transparency=tab.tr end
  93. if tab.rf then v.Reflectance=tab.rf end
  94. if tab.cf then v.CFrame=tab.cf end
  95. if tab.an then v.Anchored=tab.an end
  96. v.Parent=tab[1]
  97. LastMade=v
  98. return v
  99. end
  100.  
  101. pcall(function() Torso.LAW:Remove() Torso.RAW:Remove() Torso.LLW:Remove() Torso.RLW:Remove() end)
  102. LAW=iNew{'Weld',Torso,Name='LAW',Part0=Torso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)}
  103. RAW=iNew{'Weld',Torso,Name='RAW',Part0=Torso,C0=cn( 1.5,0.5,0),C1=cn(0,0.5,0)}
  104. LLW=iNew{'Weld',Torso,Name='LLW',Part0=Torso,C0=cn(-0.5, -1,0),C1=cn(0, 1,0)}
  105. RLW=iNew{'Weld',Torso,Name='RLW',Part0=Torso,C0=cn( 0.5, -1,0),C1=cn(0, 1,0)}
  106.  
  107. function Arms(on)
  108. LAM.Parent=Torso LAM.Part0=Torso
  109. RAM.Parent=Torso RAM.Part0=Torso
  110. LAM.Part1=on and nil or LA
  111. RAM.Part1=on and nil or RA
  112. LAW.Part1=on and LA or nil
  113. RAW.Part1=on and RA or nil
  114. end
  115.  
  116. function Legs(on)
  117. LLM.Part1=on and nil or LL
  118. RLM.Part1=on and nil or RL
  119. LLW.Part1=on and LL or nil
  120. RLW.Part1=on and RL or nil
  121. end
  122.  
  123.  
  124. function GetWeld(weld)
  125. if not weld:findFirstChild("Angle") then
  126. local a = Instance.new("Vector3Value", weld)
  127. a.Name = "Angle"
  128. local x,y,z=weld.C0:toEulerAnglesXYZ()
  129. a.Value=v3(mdeg(x),mdeg(y),mdeg(z))
  130. end
  131. return weld.C0.p,weld.Angle.Value
  132. end
  133. function ClearWeld(weld)
  134. if weld:findFirstChild'Angle' then
  135. weld.Angle:Remove()
  136. end
  137. end
  138. function SetWeld(weld,CC,i, loops, origpos,origangle, nextpos,nextangle,smooth)
  139. local CO='C'..CC
  140. smooth = smooth or 1
  141. if not weld:findFirstChild("Angle") then
  142. local a = Instance.new("Vector3Value", weld)
  143. a.Name = "Angle"
  144. local x,y,z=weld.C0:toEulerAnglesXYZ()
  145. a.Value=v3(mdeg(x),mdeg(y),mdeg(z))
  146. end
  147.  
  148. local perc
  149. if smooth == 1 then
  150. perc = math.sin((math.pi/2)/loops*i)
  151. else
  152. perc = i/loops
  153. end
  154.  
  155. local tox,toy,toz = 0,0,0
  156. if origangle.x > nextangle.x then
  157. tox = -math.abs(origangle.x - nextangle.x) *perc
  158. else
  159. tox = math.abs(origangle.x - nextangle.x) *perc
  160. end
  161. if origangle.y > nextangle.y then
  162. toy = -math.abs(origangle.y - nextangle.y) *perc
  163. else
  164. toy = math.abs(origangle.y - nextangle.y) *perc
  165. end
  166. if origangle.z > nextangle.z then
  167. toz = -math.abs(origangle.z - nextangle.z) *perc
  168. else
  169. toz = math.abs(origangle.z - nextangle.z) *perc
  170. end
  171.  
  172. local tox2,toy2,toz2 = 0,0,0
  173. if origpos.x > nextpos.x then
  174. tox2 = -math.abs(origpos.x - nextpos.x) *perc
  175. else
  176. tox2 = math.abs(origpos.x - nextpos.x) *perc
  177. end
  178. if origpos.y > nextpos.y then
  179. toy2 = -math.abs(origpos.y - nextpos.y) *perc
  180. else
  181. toy2 = math.abs(origpos.y - nextpos.y) *perc
  182. end
  183. if origpos.z > nextpos.z then
  184. toz2 = -math.abs(origpos.z - nextpos.z) *perc
  185. else
  186. toz2 = math.abs(origpos.z - nextpos.z) *perc
  187. end
  188. weld.Angle.Value = Vector3.new(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  189. weld[CO] = CFrame.new(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  190. end
  191.  
  192. LoopFunctions={}
  193. function DoLoop(times,func)
  194. LoopFunctions[#LoopFunctions+1]={times,0,func}
  195. end
  196.  
  197. Combo = 0
  198. HookHit = false
  199. Dmg=false
  200. Dmg2=false
  201. Dmgv={17,23}
  202. HitDebounce={}
  203.  
  204. Damage=function(Hum,Mult,Sound)
  205. if not Hum.Parent:findFirstChild'Torso' then return end
  206. local HName=Hum.Parent.Name
  207. if HitDebounce[HName] and HitDebounce[HName]>tick() then return end
  208. HitDebounce[HName]=tick()+0.5
  209. local Mult=Mult or 1
  210. local Dealt=mran(Dmgv[1],Dmgv[2])*Mult
  211. local col=''
  212. if Hum.Parent:findFirstChild'Block' and Hum.Parent.Block.Value>0 then
  213. Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
  214. col='Bright blue'
  215. else
  216. Hum.Health=Hum.Health-Dealt
  217. col='Bright red'
  218. end
  219. if Sound then
  220. so[col=='Bright blue' and 'Block' or 'Hit']:Play()
  221. end
  222. local DoH=iNew{'Model',Pack,Name=col=='Bright blue' and 'Block' or Dealt}
  223. iNew{'Humanoid',DoH,MaxHealth=0,Health=0,Name=''}
  224. local Doh=iPart{DoH,1,0.2,1,co=col,an=true}
  225. Doh.Name='Head'
  226. iNew{'BlockMesh',Doh}
  227. local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1))
  228. Doh.CFrame=dofs
  229. DoLoop(40,function(i)
  230. Doh.CFrame=dofs*cn(0,i*2,0) Doh.Transparency=i-0.5
  231. if i==1 then
  232. DoH:Remove()
  233. end
  234. end)
  235. end
  236.  
  237. Trails={}
  238. TrailPack={}
  239. Traili={}
  240. function Trail(obj,ofs,col)
  241. Trails[obj]=true
  242. Traili[#Traili+1]={obj,ofs,col,obj.CFrame*ofs}
  243. end
  244.  
  245.  
  246. Gyro=iNew{"BodyGyro",Root.Parent,D=50,P=1500}
  247.  
  248. c={'Dark stone grey','Reddish brown','Light stone grey'}
  249. Tool=iNew{'HopperBin',Player.Backpack,Name=name}
  250. Pack=iNew{'Model',Char,Name=name}
  251.  
  252. -- hook
  253. Hook = iPart{Pack,0.25,1,0.25,co=c[1]}
  254. wHook= iNew{"Weld",Pack,Part0=RL,Part1=Hook,C0=cn(0.625,1,0)*ca(210,0,0)} iNew{"CylinderMesh",Hook}
  255.  
  256. hpb = iPart{Pack,0.2,0.2,0.2,co=c[1]}
  257. iNew{"Weld",Pack,Part0=Hook,Part1=hpb,C0=cn(0,-0.55,0)}
  258. iNew{"CylinderMesh",hpb,Scale=v3(0.5,0.5,0.5)}
  259.  
  260. hpr = iPart{Pack,1,1,1,co=c[1]}
  261. iNew{"Weld",Pack,Part0=hpb,Part1=hpr,C0=cn(0,-0.25,0)*ca(0,90,0)}
  262. iNew{"SpecialMesh",hpr,MeshId=as.ring,Scale=v3(0.4,0.4,0.6)}
  263.  
  264. hpr = iPart{Pack,0,0,0,tr=1}
  265. iNew{"Weld",Pack,Part0=hpb,Part1=hpr,C0=cn(0,-0.45,0)}
  266.  
  267. hb = iPart{Pack,0.25,0.25,0.25,co=c[1]}
  268. iNew{"Weld",Pack,Part0=Hook,Part1=hb,C0=cn(0,0.5,0)} iNew{"SpecialMesh",hb,MeshType="Sphere"}
  269.  
  270. h1 = iPart{Pack,0.25,0.5,0.25,co=c[1]}
  271. iNew{"Weld",Pack,Part0=hb,Part1=h1,C0=ca(60,0,0)*cn(0,0.25,0)} iNew{"CylinderMesh",h1}
  272.  
  273. h1b = iPart{Pack,0.25,0.25,0.25,co=c[1]} h1b.Name="Ball1"
  274. iNew{"Weld",Pack,Part0=h1,Part1=h1b,C0=cn(0,0.25,0)} iNew{"SpecialMesh",h1b,MeshType="Sphere"}
  275.  
  276. for i=1,4 do
  277. hpart = iPart{Pack,0.25,0.5,0.25,co=c[1]} iNew{"CylinderMesh",hpart}
  278. iNew{"Weld",Pack,Part0=Pack["Ball"..i],Part1=hpart,C0=ca(-45,0,0)*cn(0,0.25,0)}
  279. hball = iPart{Pack,0.25,0.25,0.25,co=c[1]} hball.Name="Ball"..(i+1) iNew{"SpecialMesh",hball,MeshType="Sphere"}
  280. if hball.Name ~= "Ball5" then
  281. iNew{"Weld",Pack,Part0=hpart,Part1=hball,C0=cn(0,0.25,0)}
  282. else
  283. iNew{"Weld",Pack,Part0=hpart,Part1=hball,C0=cn(0,0.25,0)*ca(-45,0,0)}
  284. end
  285. end
  286.  
  287. spi = iPart{Pack,0.25,0.5,0.25,co=c[1]}
  288. iNew{"Weld",Pack,Part0=Pack["Ball5"],Part1=spi,C0=cn(0,0.3,0)} iNew{"SpecialMesh",spi,MeshId=as.cone,Scale=v3(0.125,0.7,0.125)}
  289.  
  290. HookHitBox = iPart{Pack,0.4,1.25,1.25,tr=1}
  291. iNew{"Weld",Pack,Part0=Hook,Part1=HookHitBox,C0=cn(0,1.2,0)}
  292.  
  293. -- cleaver
  294. Cleaver = iPart{Pack,0.25,1,0.25,co=c[2]}
  295. wCleaver = iNew{"Weld",Pack,Part0=LL,Part1=Cleaver,C0=cn(-0.625,1,0)*ca(210,0,0)} Cleaver.Material="Wood"
  296.  
  297. hpb = iPart{Pack,0.2,0.2,0.2,co=c[1]}
  298. iNew{"Weld",Pack,Part0=Cleaver,Part1=hpb,C0=cn(0,-0.55,0)}
  299. iNew{"CylinderMesh",hpb,Scale=v3(0.5,0.5,0.5)}
  300.  
  301. cpr=iPart{Pack,0.3,0.3,0.3,co=c[1]}
  302. iNew{"Weld",Pack,Part0=hpb,Part1=cpr,C0=cn(0,-0.25,0)}
  303. iNew{"SpecialMesh",cpr,MeshId=as.ring,Scale=v3(0.4,0.4,0.6)}
  304.  
  305. hs1=iPart{Pack,1,1,1,co=c[3]}
  306. iNew{"Weld",Pack,Part0=Cleaver,Part1=hs1,C0=cn(0,-0.4,0)*ca(0,0,90)}
  307. iNew{"CylinderMesh",hs1,Scale=v3(0.1,0.3,0.1)}
  308.  
  309. hs2=iPart{Pack,1,1,1,co=c[3]}
  310. iNew{"Weld",Pack,Part0=Cleaver,Part1=hs2,C0=cn(0,0.4,0)*ca(0,0,90)}
  311. iNew{"CylinderMesh",hs2,Scale=v3(0.1,0.3,0.1)}
  312.  
  313. bl=iPart{Pack,1,1.5,0.6,co=c[1]}
  314. iNew{"Weld",Pack,Part0=Cleaver,Part1=bl,C0=cn(0,1.15,-0.3+0.135)}
  315. iNew{"BlockMesh",bl,Scale=v3(0.12,1,1)}
  316.  
  317. for i=-1,1,2 do
  318. bw=iPart{Pack,1.5,0.2,1,co=c[3]}
  319. iNew{"Weld",Pack,Part0=bl,Part1=bw,C0=cn(0.03*i,0,-0.4)*ca(0,-90*i,90*i)}
  320. iNew{"SpecialMesh",bw,MeshType="Wedge",Scale=v3(1,1,0.06)}
  321. end
  322.  
  323. for i=0,360,360/8 do
  324. prop = iPart{Pack,1,1,1,co=c[1]}
  325. iNew{"Weld",Pack,Part0=bl,Part1=prop,C0=cn(0,0.6,0.375)*ca(i,0,0)*cn(0,0,0.1)}
  326. iNew{"BlockMesh",prop,Scale=v3(0.12,0.12,0.075)}
  327. end
  328.  
  329. prop = iPart{Pack,1,1,0.25,co=c[1]}
  330. iNew{"Weld",Pack,Part0=bl,Part1=prop,C0=cn(0,0.72,0.425)}
  331. iNew{"BlockMesh",prop,Scale=v3(0.12,0.06,1)}
  332.  
  333. prop = iPart{Pack,1,0.25,1,co=c[1]}
  334. iNew{"Weld",Pack,Part0=bl,Part1=prop,C0=cn(0,0.6,0.52)}
  335. iNew{"BlockMesh",prop,Scale=v3(0.12,1,0.06)}
  336.  
  337. prop = iPart{Pack,1,0.2,0.75,co=c[1]}
  338. iNew{"Weld",Pack,Part0=bl,Part1=prop,C0=cn(0,0.125,0.45)*ca(90,180,0)}
  339. iNew{"SpecialMesh",prop,Scale=v3(0.12,1,1),MeshType="Wedge"}
  340.  
  341. propl = iPart{Pack,1,1,0.75,co=c[1]}
  342. iNew{"Weld",Pack,Part0=bl,Part1=propl,C0=cn(0,0.125,0.325)*ca(90,180,0)}
  343. iNew{"BlockMesh",propl,Scale=v3(0.12,0.05,1)}
  344.  
  345. prop = iPart{Pack,1,1,0.5,co=c[1]}
  346. iNew{"Weld",Pack,Part0=propl,Part1=prop,C0=cn(0,0,-1.25/2)}
  347. iNew{"SpecialMesh",prop,Scale=v3(0.12,0.05,1),MeshType="Wedge"}
  348.  
  349. CleaverHitBox = iPart{Pack,0.4,1.6,1.25,tr=1}
  350. iNew{"Weld",Pack,Part0=Cleaver,Part1=CleaverHitBox,C0=cn(0,1.15,-0.2)}
  351.  
  352. for i,v in pairs(Pack:GetChildren()) do if v:IsA("BasePart") then v.CanCollide=false v.Name="Ignore" end end
  353.  
  354. hTW=nil
  355. HookHitBox.Touched:connect(function(hit)
  356. if Anim == "Throwing Hook" and not HookHit then
  357. if hit.Parent~=Char and hit.Parent:FindFirstChild("Humanoid") then
  358. HookHit = true
  359. local hHum = hit.Parent:FindFirstChild("Humanoid")
  360. hHum.PlatformStand=true
  361. DoLoop(20,function(i)
  362. wait()
  363. if i==1 then
  364. hHum.PlatformStand=false
  365. end
  366. end)
  367. Spawn(function()
  368. while HookHit do
  369. hit.Parent.Torso.CFrame = HookHitBox.CFrame*ca(0,0,90)*ca(0,90,0)
  370. wait()
  371. end
  372. end)
  373. end
  374. end
  375. if not Dmg then return end
  376. if hit.Parent==Char then return end
  377. if hit.Parent:findFirstChild'Humanoid' then
  378. local h=hit.Parent.Humanoid
  379. Damage(h,1,true)
  380. end
  381. end)
  382.  
  383. CleaverHitBox.Touched:connect(function(hit)
  384. if not Dmg2 then return end
  385. if hit.Parent==Char then return end
  386. if hit.Parent:findFirstChild'Humanoid' then
  387. local h=hit.Parent.Humanoid
  388. Damage(h,1,true)
  389. end
  390. end)
  391.  
  392. for i,v in pairs(Torso:children()) do
  393. if v:IsA'Sound' then
  394. v:Remove()
  395. end
  396. end
  397. for i,n in pairs(so) do
  398. local v=iNew{'Sound',Torso,Volume=1,Pitch=1,Looped=false,Name=v,SoundId=as[n]}
  399. so[n]=v
  400. end
  401.  
  402. function RePose()
  403. local a,b=GetWeld(LAW)
  404. local c,d=GetWeld(RAW)
  405. local e,f=GetWeld(wHook)
  406. local g,h=GetWeld(wCleaver)
  407. local i,j=GetWeld(Root)
  408. local k,l=GetWeld(Neck)
  409. oPoseLA=a oPoseLA2=b
  410. oPoseRA=c oPoseRA2=d
  411. oPoseHook=e oPoseHook2=f
  412. oPoseCleaver=g oPoseCleaver2=h
  413. oPoseRT=i oPoseRT2=j
  414. oPoseNE=k oPoseNE2=l
  415. end
  416.  
  417. function ReturnPose()
  418. local wLA,wLA2=GetWeld(LAW)
  419. local wRA,wRA2=GetWeld(RAW)
  420. local wRT,wRT2=GetWeld(Root)
  421. local AA,AA2=GetWeld(wHook)
  422. local BB,BB2=GetWeld(wCleaver)
  423. local wNE,wNE2=GetWeld(Neck)
  424. for i=1,ASpeed do
  425. SetWeld(LAW,0,i,ASpeed,wLA,wLA2,PoseLA,PoseLA2,1)
  426. SetWeld(RAW,0,i,ASpeed,wRA,wRA2,PoseRA,PoseRA2,1)
  427. SetWeld(wHook,0,i,ASpeed,AA,AA2,PoseHook,PoseHook2,1)
  428. SetWeld(wCleaver,0,i,ASpeed,BB,BB2,PoseCleaver,PoseCleaver2,1)
  429. SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,PoseRT2,1)
  430. SetWeld(Neck,0,i,ASpeed,wNE,wNE2,PoseNE,PoseNE2,1)
  431. wait()
  432. end
  433. end
  434. function TorsoROT(i,rot,spid)
  435. SetWeld(Root,0,i,spid,oPoseRT,oPoseRT2,PoseRT,v3(0,rot,0),1)
  436. SetWeld(Neck,0,i,spid,oPoseNE,oPoseNE2,PoseNE,v3(0,-rot,0),1)
  437. end
  438.  
  439. Block=iNew{'NumberValue',Char,Name='Block',Value=0}
  440.  
  441.  
  442. key={}
  443. Tool.Selected:connect(function(mouse)
  444. print'Selected'
  445. Mouse=mouse
  446. if Anim=='None' then
  447. Anim='Equipping'
  448. Arms(0)
  449. for i=1,ASpeed do
  450. SetWeld(LAW,0,i,ASpeed,OrigLA,OrigLA2,OrigLA,v3(-25,0,5),1)
  451. SetWeld(RAW,0,i,ASpeed,OrigRA,OrigRA2,OrigRA,v3(-25,0,-5),1)
  452. wait()
  453. end
  454. local ofs = RA.CFrame:toObjectSpace(Hook.CFrame)
  455. wHook.Part0=RA wHook.C0=ofs ClearWeld(wHook)
  456. local AA,AA2=GetWeld(wHook)
  457. local ofs = LA.CFrame:toObjectSpace(Cleaver.CFrame)
  458. wCleaver.Part0=LA wCleaver.C0=ofs ClearWeld(wCleaver)
  459. local BB,BB2=GetWeld(wCleaver)
  460. for i=1,ASpeed do
  461. SetWeld(wHook,0,i,ASpeed,AA,AA2,PoseHook,PoseHook2,1)
  462. SetWeld(wCleaver,0,i,ASpeed,BB,BB2,PoseCleaver,PoseCleaver2,1)
  463. wait()
  464. end
  465. ReturnPose()
  466. Anim='Equipped'
  467. end
  468.  
  469. Mouse.KeyDown:connect(function(k)
  470. key[k]=true
  471. if k=="q" and Anim == "Equipped" and Combo == 0 then
  472. Anim = "Cleaver Slash"
  473. RePose()
  474. for i=1,ASpeed do
  475. so['Slash']:Play()
  476. SetWeld(LAW,0,i,ASpeed,PoseLA,PoseLA2,PoseLA,v3(200,0,-35),1)
  477. SetWeld(Neck,0,i,ASpeed,oPoseNE,oPoseNE2,PoseNE,v3(15,15,0),1)
  478. wait()
  479. end
  480. Trail(Cleaver,cn(0,1.75,-0.75),'White')
  481. Dmg2=true
  482. for i=1,ASpeed/2 do
  483. SetWeld(LAW,0,i,ASpeed/2,PoseLA,v3(200,0,-35),PoseLA,v3(20,0,20),1)
  484. SetWeld(Neck,0,i,ASpeed/2,oPoseNE,v3(15,15,0),PoseNE,v3(-5,-5,0),1)
  485. wait()
  486. end
  487. Trails[Cleaver]=false
  488. Dmg2=false
  489. ReturnPose()
  490. Anim="Equipped"
  491. elseif k=="e" and Anim=="Equipped" and Combo == 0 then
  492. Anim = "Hook Slash"
  493. RePose()
  494. for i=1,ASpeed do
  495. so['Slash']:Play()
  496. SetWeld(RAW,0,i,ASpeed,PoseRA,PoseRA2,PoseRA,v3(200,0,35),1)
  497. SetWeld(Neck,0,i,ASpeed,oPoseNE,oPoseNE2,PoseNE,v3(15,-15,0),1)
  498. wait()
  499. end
  500. Trail(Hook,cn(0,1,-0.75),'White')
  501. Dmg=true
  502. for i=1,ASpeed/2 do
  503. SetWeld(RAW,0,i,ASpeed/2,PoseRA,v3(200,0,35),PoseRA,v3(20,0,-20),1)
  504. SetWeld(Neck,0,i,ASpeed/2,oPoseNE,v3(15,-15,0),PoseNE,v3(-5,5,0),1)
  505. wait()
  506. end
  507. Trails[Hook]=false
  508. Dmg=false
  509. ReturnPose()
  510. Anim="Equipped"
  511. elseif k=="r" and Anim=="Equipped" then
  512. Anim = "Combo"
  513. local function Break() Combo=-0.5 ReturnPose() Anim="Equipped" Combo=0 end
  514. if Combo==0 then
  515. Combo=0.5
  516. Anim="Slash 1"
  517. RePose()
  518. for i=1,ASpeed do
  519. SetWeld(LAW,0,i,ASpeed,PoseLA,PoseRA2,v3(-1.2,0.5,0),v3(180,0,-10),1)
  520. SetWeld(RAW,0,i,ASpeed,PoseRA,PoseRA2,v3(1.2,0.5,0),v3(180,0,10),1)
  521. SetWeld(Neck,0,i,ASpeed,oPoseNE,oPoseNE2,PoseNE,v3(40,0,0),1)
  522. wait()
  523. end
  524. Anim="Equipped"
  525. Combo=1
  526. DoLoop(5,function(i)
  527. if i==1 and Combo==1 then
  528. Break()
  529. end
  530. wait()
  531. end)
  532. elseif Combo==1 then
  533. Combo=1.5
  534. anim="Slash 1"
  535. Dmg=true Dmg2=true
  536. so['Slash']:Play()
  537. Trail(Hook,cn(0,1,-0.75),'White')
  538. Trail(Cleaver,cn(0,1.75,-0.75),'White')
  539. RePose()
  540. local wLA,wLA2=GetWeld(LAW)
  541. local wRA,wRA2=GetWeld(RAW)
  542. local wNE,wNE2=GetWeld(Neck)
  543. for i=1,ASpeed/2 do
  544. SetWeld(LAW,0,i,ASpeed/2,wLA,wLA2,PoseLA,v3(-15,0,0),1)
  545. SetWeld(RAW,0,i,ASpeed/2,wRA,wRA2,PoseRA,v3(-15,0,0),1)
  546. SetWeld(Neck,0,i,ASpeed/2,wNE,wNE2,PoseNE,v3(-20,0,0),1)
  547. wait()
  548. end
  549. Dmg=false Dmg2=false
  550. Trails[Hook]=false Trails[Cleaver]=false
  551. Anim="Equipped"
  552. Combo=2
  553. DoLoop(5,function(i)
  554. if i==1 and Combo==2 then
  555. Break()
  556. end
  557. wait()
  558. end)
  559. elseif Combo==2 then
  560. Combo=2.5
  561. Anim="Slash 2"
  562. local wLA,wLA2=GetWeld(LAW)
  563. local wRA,wRA2=GetWeld(RAW)
  564. local wNE,wNE2=GetWeld(Neck)
  565. for i=1,ASpeed do
  566. SetWeld(LAW,0,i,ASpeed,wLA,wRA2,v3(-1.2,0.5,0),v3(110,0,30),1)
  567. SetWeld(RAW,0,i,ASpeed,wRA,wRA2,v3(1.2,0.5,0),v3(110,0,-30),1)
  568. SetWeld(Neck,0,i,ASpeed,wNE,wNE2,PoseNE,v3(40,0,0),1)
  569. wait()
  570. end
  571. Anim="Equipped"
  572. Combo=3
  573. DoLoop(5,function(i)
  574. if i==1 and Combo==3 then
  575. Break()
  576. end
  577. wait()
  578. end)
  579. elseif Combo==3 then
  580. Combo=3.5
  581. Anim="Slash 2"
  582. Dmg=true Dmg2=true
  583. so['Slash']:Play()
  584. Trail(Hook,cn(0,1,-0.75),'White')
  585. Trail(Cleaver,cn(0,1.75,-0.75),'White')
  586. local wLA,wLA2=GetWeld(LAW)
  587. local wRA,wRA2=GetWeld(RAW)
  588. local wNE,wNE2=GetWeld(Neck)
  589. for i=1,ASpeed/2 do
  590. SetWeld(LAW,0,i,ASpeed/2,wLA,wLA2,PoseLA,v3(-40,0,-30),1)
  591. SetWeld(RAW,0,i,ASpeed/2,wRA,wRA2,PoseRA,v3(-40,0,30),1)
  592. SetWeld(Neck,0,i,ASpeed/2,wNE,wNE2,PoseNE,v3(-20,0,0),1)
  593. wait()
  594. end
  595. Dmg=false Dmg2=false
  596. Trails[Hook]=false Trails[Cleaver]=false
  597. Anim="Equipped"
  598. Combo=4
  599. DoLoop(5,function(i)
  600. if i==1 and Combo==4 then
  601. Break()
  602. end
  603. wait()
  604. end)
  605. end
  606. end
  607. end)--keys
  608.  
  609. Mouse.KeyUp:connect(function(k)
  610. key[k]=false
  611. end)
  612.  
  613. Mouse.Button1Down:connect(function()
  614. if Anim == "Equipped" and Combo == 0 then
  615. local Dist = nil
  616. Anim = "Getting Ready"
  617. Humanoid.WalkSpeed = 4
  618. RePose()
  619. for i=1,ASpeed do
  620. TorsoROT(i,80,ASpeed)
  621. SetWeld(RAW,0,i,ASpeed,PoseRA,PoseRA2,PoseRA,v3(0,190,-90),1)
  622. SetWeld(wHook,0,i,ASpeed,PoseHook,PoseHook2,v3(0,-2,0),v3(-180,0,0),1)
  623. wait()
  624. end
  625. Anim = "Throwing Hook"
  626. so['Slash']:Play()
  627. Rope=iPart{Pack,0.2,1,0.2,co="Reddish brown",an=true}
  628. iNew{"CylinderMesh",Rope}
  629. Dmg=true
  630. for i=1,ASpeed*3 do
  631. if HookHit then break end
  632. SetWeld(wHook,0,i,ASpeed*3,v3(0,-2,0),v3(-180,0,0),v3(0,-2-(Range),0),v3(-180,0,0),1)
  633. wait()
  634. end
  635. Dist = wHook.C0.Y
  636. Anim = "Retrieving Hook"
  637. Humanoid.WalkSpeed=16
  638. Dmg=false
  639. for i=1,ASpeed*(-Dist/20) do
  640. SetWeld(Root,0,i,ASpeed*(-Dist/20),oPoseRT,v3(0,80,0),PoseRT,v3(0,-60,0),1)
  641. SetWeld(Neck,0,i,ASpeed*(-Dist/20),oPoseNE,v3(0,-80,0),PoseNE,v3(0,60,0),1)
  642. SetWeld(RAW,0,i,ASpeed*(-Dist/20),PoseRA,v3(0,190,-90),PoseRA,v3(0,190+150,-90),1)
  643. SetWeld(wHook,0,i,ASpeed*(-Dist/20),v3(0,Dist,0),v3(-180,0,0),v3(0,-2,0),v3(-180,0,0),1)
  644. wait()
  645. end
  646. pcall(function() hTW:Destroy() end)
  647. HookHit=false
  648. ReturnPose()
  649. Anim = "Equipped"
  650. end
  651. end)
  652. end) -- select
  653.  
  654. Tool.Deselected:connect(function(mouse)
  655. print'Deselected'
  656. Mouse=nil
  657. if Anim=='Equipped' and Combo == 0 then
  658. Anim='Unequipping'
  659. RePose()
  660. for i=1,ASpeed do
  661. SetWeld(LAW,0,i,ASpeed,PoseLA,PoseLA2,OrigLA,v3(-25,0,5),1)
  662. SetWeld(RAW,0,i,ASpeed,PoseRA,PoseRA2,OrigRA,v3(-25,0,-5),1)
  663. wait()
  664. end
  665. local ofs = RL.CFrame:toObjectSpace(Hook.CFrame)
  666. wHook.Part0=RL wHook.C0=ofs ClearWeld(wHook)
  667. local AA,AA2=GetWeld(wHook)
  668. local ofs = LL.CFrame:toObjectSpace(Cleaver.CFrame)
  669. wCleaver.Part0=LL wCleaver.C0=ofs ClearWeld(wCleaver)
  670. local BB,BB2=GetWeld(wCleaver)
  671. for i=1,ASpeed do
  672. SetWeld(wHook,0,i,ASpeed,AA,AA2,v3(0.625,1,0),v3(210,0,0),1)
  673. SetWeld(wCleaver,0,i,ASpeed,BB,BB2,v3(-0.625,1,0),v3(210,0,0),1)
  674. wait()
  675. end
  676. for i=1,ASpeed do
  677. SetWeld(LAW,0,i,ASpeed,PoseLA,v3(-25,0,5),OrigLA,OrigLA2,1)
  678. SetWeld(RAW,0,i,ASpeed,PoseRA,v3(-25,0,-5),OrigRA,OrigRA2,1)
  679. wait()
  680. end
  681. Arms()
  682. Anim='None'
  683. end
  684. end) --deselect
  685.  
  686.  
  687. print(#Pack:children())
  688. Root.C0=cn(0,0,0)*ca(0,0,0)
  689. Root.C1=cn(0,0,0)*ca(0,0,0)
  690. Arms()
  691. Legs()
  692.  
  693. WalkAnim=0
  694. Walking=false
  695. Humanoid.Running:connect(function(Walk)
  696. Walking=Walk>0 and true or false
  697. end)
  698.  
  699. Anim='None'
  700. ASpeed=10
  701. OrigLA=v3(-1.5,0.5,0) OrigLA2=v3(0,0,0)
  702. OrigRA=v3( 1.5,0.5,0) OrigRA2=v3(0,0,0)
  703. --Pose
  704. PoseLA=v3(-1.5,0.5,0) PoseLA2=v3(0,0,-10)
  705. PoseRA=v3( 1.5,0.5,0) PoseRA2=v3(0,0,10)
  706. PoseHook=v3(0,-1,0) PoseHook2=v3(-90,0,0)
  707. PoseCleaver=v3(0,-1,0) PoseCleaver2=v3(-90,0,0)
  708. PoseRT=v3(0,0,0) PoseRT2=v3(0,0,0)
  709. PoseNE=v3(0,1.5,0) PoseNE2=v3(0,0,0)
  710.  
  711. while Pack.Parent do
  712. -- Rope
  713. if Anim == "Throwing Hook" or Anim == "Retrieving Hook" then
  714. Mag=(RA.Position-hpr.Position).magnitude
  715. Rope.Size=v3(0.2,Mag,0.2)
  716. Rope.CFrame=RA.CFrame*cn(0,-Mag/2,0)
  717. else
  718. pcall(function()
  719. Rope:Destroy()
  720. end)
  721. end
  722.  
  723. --Trailing Package
  724. for i,v in pairs(Traili) do
  725. if Trails[v[1]] then
  726. local obj,ofs,col,lastofs=v[1],v[2],v[3],v[4]
  727. local length=(obj.CFrame*ofs.p-lastofs.p).magnitude
  728. local ob=iPart{Pack,0.4,length,0.4,co=col,tr=0.5,an=true,cf=CFrame.new(obj.CFrame*ofs.p,lastofs.p)}
  729. iNew{'CylinderMesh',ob}
  730. Traili[i][4]=ob.CFrame
  731. ob.CFrame=ob.CFrame*cn(0,0,-length/2)*ca(90,0,0)
  732. TrailPack[#TrailPack+1]={ob,1,-0.1}
  733. else
  734. Traili[i]=nil
  735. end
  736. end
  737. for i,v in pairs(TrailPack) do
  738. v[2]=v[2]+v[3]
  739. if v[2]<=0 then
  740. v[1]:Remove()
  741. TrailPack[i]=nil
  742. else
  743. v[1].Transparency=0.5+(0.45-0.45*v[2])
  744. v[1].Mesh.Scale=v3(v[2],1,v[2])
  745. end
  746. end
  747. --DoLoop Package
  748. for i,v in pairs(LoopFunctions) do
  749. v[2]=v[2]+1
  750. v[3](v[2]/v[1])
  751. if v[1]<=v[2] then
  752. LoopFunctions[i]=nil
  753. end
  754. end
  755. --[[
  756. HookHitBox.CFrame=Hook.CFrame*cn(0,1.2,0)
  757. HookHitBox.Velocity=v3(0,0,0) HookHitBox.RotVelocity=v3(0,0,0)
  758. CleaverHitBox.CFrame=Cleaver.CFrame*cn(0,1.15,-0.2)
  759. CleaverHitBox.Velocity=v3(0,0,0) CleaverHitBox.RotVelocity=v3(0,0,0)
  760. ]]
  761. -- Gyro
  762. if Anim~="None" then
  763. Gyro.maxTorque=v3(1,1,1)/0
  764. Gyro.cframe = cn(Root.Parent.Position,v3(workspace.CurrentCamera.CoordinateFrame.p.x,Root.Parent.Position.y,workspace.CurrentCamera.CoordinateFrame.p.z))*ca(0,180,0)
  765. else
  766. Gyro.maxTorque = v3(0,0,0)
  767. end
  768. wait()
  769. end
Add Comment
Please, Sign In to add comment