DevZee

lua hammer test (SB) --DevZee

Aug 5th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.41 KB | None | 0 0
  1. local oc = oc or function(...) return ... end
  2.  
  3. function weld(p0,p1,c0,c1,par)
  4. local w = Instance.new("Weld",p0 or par)
  5. w.Part0 = p0
  6. w.Part1 = p1
  7. w.C0 = c0 or CFrame.new()
  8. w.C1 = c1 or CFrame.new()
  9. return w
  10. end
  11.  
  12. function lerp(a, b, t)
  13. return a + (b - a)*t
  14. end
  15.  
  16. do
  17. local function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end
  18.  
  19. local function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end
  20.  
  21. local function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end
  22.  
  23. function clerp(a,b,t)
  24. local qa = {QuaternionFromCFrame(a)}
  25. local qb = {QuaternionFromCFrame(b)}
  26. local ax, ay, az = a.x, a.y, a.z
  27. local bx, by, bz = b.x, b.y, b.z
  28.  
  29. local _t = 1-t
  30. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  31. end
  32. end
  33. local his = {}
  34.  
  35. function ctween(tar,prop,c2,t,b)
  36. local function doIt()
  37. local now = tick()
  38. his[tar] = now
  39. local c1 = tar[prop]
  40. for i=1,t do
  41. if his[tar] ~= now then return end
  42. tar[prop] = clerp(c1,c2,1/t*i)
  43. wait(1/60)
  44. end
  45. end
  46. if b then coroutine.wrap(doIt)() else doIt() end
  47. end
  48.  
  49. function tickwave(time,length,offset)
  50. return (math.abs((tick()+(offset or 0))%time-time/2)*2-time/2)/time/2*length
  51. end
  52.  
  53. function playSound(id,parent,volume,pitch)
  54. local sound = Instance.new("Sound",parent or workspace)
  55. sound.SoundId = "http://www.roblox.com/asset?id="..id
  56. sound.Volume = volume or 1
  57. sound.Pitch = pitch or 1
  58. coroutine.wrap(function()
  59. wait()
  60. sound:Play()
  61. wait(10)
  62. sound:Stop()
  63. sound:Destroy()
  64. end)()
  65. return sound
  66. end
  67.  
  68. local plr = game.Players.LocalPlayer
  69. local char = plr.Character
  70. local mouse = plr:GetMouse()
  71.  
  72. local nk = char.Torso.Neck
  73. local nk0 = CFrame.new(0,1,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  74. local ra,la = char["Right Arm"], char["Left Arm"]
  75. ra:BreakJoints()
  76. la:BreakJoints()
  77. local rs = weld(char.Torso,ra,CFrame.new(1.25,.5,0), CFrame.new(-.25,.5,0),stuff)
  78. local ls = weld(char.Torso,la,CFrame.new(-1.25,.5,0), CFrame.new(.25,.5,0),stuff)
  79. ls.Part1.FrontSurface = "Hinge"
  80. rs.Part1.FrontSurface = "Hinge"
  81. local rs0 = rs.C0
  82. local ls0 = ls.C0
  83.  
  84. local color1 = BrickColor.new("Dark gray")
  85. local color2 = BrickColor.new("Navy blue")
  86.  
  87. local stuff = Instance.new("Model",char)
  88. pcall(function() char["Hammur"]:Destroy() end)
  89. stuff.Name = "Hammur"
  90. wait(.5)
  91. local handle = Instance.new("Part")
  92. handle.FormFactor = "Custom"
  93. handle.BrickColor = color1
  94. handle.Reflectance = .25
  95. handle.Size = Vector3.new(.5,5,.5)
  96. handle.TopSurface = "Smooth"
  97. handle.BottomSurface = "Smooth"
  98. handle.CanCollide = false
  99. handle.Parent = stuff
  100.  
  101. local grip = weld(char["Right Arm"],handle,CFrame.new(0,-.95,0)*CFrame.Angles(math.rad(-90),0,0),CFrame.new(0,-1.4,0))
  102. local grip0 = grip.C0
  103. local hamend = handle:Clone()
  104. Instance.new("BlockMesh",hamend)
  105. hamend.Parent = stuff
  106. hamend.Size = Vector3.new(2,2,3.5)
  107. local hamwel = weld(handle,hamend,CFrame.new(0,3,0))
  108. local hamsd1 = hamend:Clone()
  109. hamsd1.Mesh.Scale = Vector3.new(1,1,1)
  110. hamsd1.Parent = stuff
  111. hamsd1.Size = Vector3.new(2.3,2.3,.3)
  112. weld(hamend,hamsd1,CFrame.new(0,0,1.75))
  113. local hamsd2 = hamsd1:Clone()
  114. hamsd2.Parent = stuff
  115. weld(hamend,hamsd2,CFrame.new(0,0,-1.75))
  116. local hamp = hamsd1:Clone()
  117. hamp.Parent = stuff
  118. hamp.Size = Vector3.new(.2,.2,3.5)
  119. weld(hamend,hamp,CFrame.new(.95,.95,0))
  120. hamp = hamp:Clone()
  121. hamp.Parent = stuff
  122. weld(hamend,hamp,CFrame.new(.95,-.95,0))
  123. hamp = hamp:Clone()
  124. hamp.Parent = stuff
  125. weld(hamend,hamp,CFrame.new(-.95,-.95,0))
  126. hamp = hamp:Clone()
  127. hamp.Parent = stuff
  128. weld(hamend,hamp,CFrame.new(-.95,.95,0))
  129. hamp = hamp:Clone()
  130. hamp.BrickColor = color2
  131. hamp.Reflectance = .2
  132. hamp.Size = Vector3.new(.2,.2,2.5)
  133. hamp.Parent = stuff
  134. weld(hamend,hamp,CFrame.new(0,.95,0))
  135. hamp = hamp:Clone()
  136. hamp.Parent = stuff
  137. weld(hamend,hamp,CFrame.new(0,-.95,0))
  138. hamp = hamp:Clone()
  139. hamp.Parent = stuff
  140. weld(hamend,hamp,CFrame.new(.95,0,0))
  141. hamp = hamp:Clone()
  142. hamp.Parent = stuff
  143. weld(hamend,hamp,CFrame.new(-.95,0,0))
  144. hamp = handle:Clone()
  145. hamp.BrickColor = color2
  146. hamp.Reflectance = .2
  147. hamp.Parent = stuff
  148. hamp.Size = Vector3.new(.4,.2,.4)
  149. Instance.new("CylinderMesh",hamp)
  150. weld(hamend,hamp,CFrame.new(0,-.955,1.2))
  151. hamp = hamp:Clone()
  152. hamp.Parent = stuff
  153. weld(hamend,hamp,CFrame.new(0,-.955,-1.2))
  154. hamp = hamp:Clone()
  155. hamp.Parent = stuff
  156. weld(hamend,hamp,CFrame.new(0,.955,1.2))
  157. hamp = hamp:Clone()
  158. hamp.Parent = stuff
  159. weld(hamend,hamp,CFrame.new(0,.955,-1.2))
  160. hamp = hamp:Clone()
  161. hamp.Parent = stuff
  162. weld(hamend,hamp,CFrame.new(.955,0,-1.2) * CFrame.Angles(0,0,math.rad(90)))
  163. hamp = hamp:Clone()
  164. hamp.Parent = stuff
  165. weld(hamend,hamp,CFrame.new(.955,0,1.2) * CFrame.Angles(0,0,math.rad(90)))
  166. hamp = hamp:Clone()
  167. hamp.Parent = stuff
  168. weld(hamend,hamp,CFrame.new(-.955,0,-1.2) * CFrame.Angles(0,0,math.rad(90)))
  169. hamp = hamp:Clone()
  170. hamp.Parent = stuff
  171. weld(hamend,hamp,CFrame.new(-.955,0,1.2) * CFrame.Angles(0,0,math.rad(90)))
  172. hamp = hamp:Clone()
  173. hamp.Parent = stuff
  174. weld(hamend,hamp,CFrame.new(.6,.955,0))
  175. hamp = hamp:Clone()
  176. hamp.Parent = stuff
  177. weld(hamend,hamp,CFrame.new(-.6,.955,0))
  178. hamp = hamp:Clone()
  179. hamp.Parent = stuff
  180. weld(hamend,hamp,CFrame.new(.6,-.955,0))
  181. hamp = hamp:Clone()
  182. hamp.Parent = stuff
  183. weld(hamend,hamp,CFrame.new(-.6,-.955,0))
  184. hamp = hamp:Clone()
  185. hamp.Parent = stuff
  186. weld(hamend,hamp,CFrame.new(-.955,.6,0) * CFrame.Angles(0,0,math.rad(90)))
  187. hamp = hamp:Clone()
  188. hamp.Parent = stuff
  189. weld(hamend,hamp,CFrame.new(-.955,-.6,0) * CFrame.Angles(0,0,math.rad(90)))
  190. hamp = hamp:Clone()
  191. hamp.Parent = stuff
  192. weld(hamend,hamp,CFrame.new(.955,.6,0) * CFrame.Angles(0,0,math.rad(90)))
  193. hamp = hamp:Clone()
  194. hamp.Parent = stuff
  195. weld(hamend,hamp,CFrame.new(.955,-.6,0) * CFrame.Angles(0,0,math.rad(90)))
  196. local luacyl = hamp:Clone()
  197. luacyl.BrickColor = BrickColor.Blue()
  198. luacyl.Parent = stuff
  199. luacyl.Mesh.Scale = Vector3.new(1,.2,1)
  200. luacyl.Size = Vector3.new(2,.2,2)
  201. weld(hamsd1,luacyl,CFrame.new(0,0,.14) * CFrame.Angles(math.rad(90),0,0))
  202. hamp = luacyl:Clone()
  203. hamp.BrickColor = BrickColor.White()
  204. hamp.Parent = stuff
  205. hamp.Size = Vector3.new(.7,.2,.7)
  206. weld(luacyl,hamp,CFrame.new(.35,.01,-.35))
  207. local luamoon = luacyl:Clone()
  208. luamoon.Parent = stuff
  209. luamoon.Size = Vector3.new(.7,.2,.7)
  210. local mnw = weld(luacyl,luamoon,CFrame.new(1.2,.02,-1.2))
  211. for r = 1,180,10 do
  212. local r2 = 2 * (math.pi/180*r)
  213. local l = hamsd1:Clone()
  214. l.Parent = stuff
  215. l.BrickColor = luacyl.BrickColor
  216. l.Size = Vector3.new(.3,.2,.2)
  217. l.Mesh.Scale = Vector3.new(1,.3,.3)
  218. weld(luacyl,l,CFrame.new(Vector3.new(math.sin(r2)*1.7,0,math.cos(r2)*1.7),Vector3.new()))
  219. end
  220. hamp = hamend:Clone()
  221. hamp.BrickColor = color2
  222. hamp.Reflectance = .2
  223. hamp.Size = Vector3.new(.2,.2,3.5)
  224. hamp.Mesh.Scale = Vector3.new(.25,.25,1)
  225. hamp.Parent = stuff
  226. weld(hamend,hamp,CFrame.new(-1.05,.95,0))
  227. hamp = hamp:Clone()
  228. hamp.Parent = stuff
  229. weld(hamend,hamp,CFrame.new(-.95,1.05,0))
  230. hamp = hamp:Clone()
  231. hamp.Parent = stuff
  232. weld(hamend,hamp,CFrame.new(1.05,.95,0))
  233. hamp = hamp:Clone()
  234. hamp.Parent = stuff
  235. weld(hamend,hamp,CFrame.new(.95,1.05,0))
  236. hamp = hamp:Clone()
  237. hamp.Parent = stuff
  238. weld(hamend,hamp,CFrame.new(1.05,-.95,0))
  239. hamp = hamp:Clone()
  240. hamp.Parent = stuff
  241. weld(hamend,hamp,CFrame.new(.95,-1.05,0))
  242. hamp = hamp:Clone()
  243. hamp.Parent = stuff
  244. weld(hamend,hamp,CFrame.new(-1.05,-.95,0))
  245. hamp = hamp:Clone()
  246. hamp.Parent = stuff
  247. weld(hamend,hamp,CFrame.new(-.95,-1.05,0))
  248. for x = -1,1 do
  249. for y = -1,1 do
  250. hamp = hamp:Clone()
  251. hamp.Mesh.Scale = Vector3.new(1,1,1)
  252. hamp.Size = Vector3.new(.5,.5,.2)
  253. hamp.Parent = stuff
  254. weld(hamsd2,hamp,CFrame.new(x*.7,y*.7,-.1))
  255. end
  256. end
  257.  
  258. rs.C0 = rs0 * CFrame.Angles(math.rad(70),math.rad(50),math.rad(-20))
  259. ls.C0 = ls0 * CFrame.new(.4,.2,-.3) * CFrame.Angles(math.rad(110),math.rad(0),math.rad(00)) * CFrame.Angles(0,math.rad(60),0)
  260.  
  261. function endScript()
  262. pcall(function() runcon:disconnect() end)
  263. pcall(function() kdcon:disconnect() end)
  264. pcall(function() kucon:disconnect() end)
  265. pcall(game.Destroy,stuff)
  266. pcall(game.Destroy,bg)
  267. pcall(game.Destroy,bv)
  268. end
  269.  
  270. local spintime = 3
  271. local idling = true
  272.  
  273. runcon = game:GetService("RunService").Stepped:connect(oc(function()
  274. if not stuff:IsDescendantOf(workspace) then
  275. endScript()
  276. end
  277. local an = (tick()%spintime)*360/spintime
  278. mnw.C0 = CFrame.Angles(0,math.rad(an),0) * CFrame.new(0,.04,1.7)
  279. if idling then
  280. rs.C0 = clerp(rs.C0,rs0 * CFrame.Angles(math.rad(70+tickwave(3,5)),math.rad(50),math.rad(-20)),.4)
  281. ls.C0 = clerp(ls.C0,ls0 * CFrame.new(.4,.2,-.3) * CFrame.Angles(math.rad(115+tickwave(3,5)),math.rad(0),math.rad(-5)) * CFrame.Angles(0,math.rad(60),0),.4)
  282. nk.C0 = clerp(nk.C0,nk0 * CFrame.Angles(tickwave(4,-.1),0,0),.4)
  283. grip.C0 = clerp(grip.C0,grip0,.4)
  284. end
  285. end))
  286.  
  287. function cfot(tar,cf,t)
  288. coroutine.wrap(function()
  289. for i=1,t do
  290. tar.CFrame = tar.CFrame * cf
  291. wait(1/30)
  292. end
  293. end)()
  294. end
  295.  
  296. function DoDamage(hum,dmg)
  297. if hum.Health == 0 then return end
  298. local a,b = ypcall(function()
  299. --hum:TakeDamage(dmg)
  300. hum.Health = hum.Health - dmg
  301. if not hum.Parent:FindFirstChild("Torso") then return end
  302. local m = Instance.new("Model",workspace)
  303. m.Name = -dmg
  304. local h = Instance.new("Humanoid",m)
  305. h.MaxHealth = 0
  306. local p = Instance.new("Part",m)
  307. p.Name = "Head"
  308. p.FormFactor = "Custom"
  309. p.Size = Vector3.new(.2,.2,.2)
  310. p.Transparency = 0.97
  311. p.CanCollide = false
  312. p.Anchored = true
  313. p:BreakJoints()
  314. game.Debris:AddItem(m,5)
  315. p.CFrame = CFrame.new(hum.Parent.Torso.Position) * CFrame.new(math.random(-2,2),2.5,math.random(-2,2))
  316. local rAm = math.random(3,6)/100
  317. coroutine.wrap(function()
  318. for i=1,300 do
  319. p.CFrame = p.CFrame * CFrame.new(0,rAm,0)
  320. wait()
  321. end
  322. p:Destroy()
  323. end)()
  324. end)
  325. if not a then print(b) end
  326. end
  327.  
  328. local atdeb = false
  329. local basiccombo = 0
  330. local basiccombotimer = 0
  331. bg = Instance.new("BodyGyro",char.Torso)
  332. bg.maxTorque = Vector3.new(1,0,1)*9e10
  333. bg.P = 10000
  334. bg.D = 500
  335. bv = Instance.new("BodyVelocity",char.Torso)
  336. bv.maxForce = Vector3.new()
  337. bv.P = 50000
  338.  
  339. kucon = mouse.KeyUp:connect(oc(function(k)
  340. if k == "0" and sprint then
  341. pcall(function() char.Humanoid.WalkSpeed = char.Humanoid.WalkSpeed / 1.5 end)
  342. sprint = false
  343. end
  344. end))
  345.  
  346. kdcon = mouse.KeyDown:connect(oc(function(k)
  347. if k == "0" and not sprint then
  348. pcall(function() char.Humanoid.WalkSpeed = char.Humanoid.WalkSpeed * 1.5 end)
  349. sprint = true
  350. end
  351. if k == "f" then
  352. if atdeb then return end
  353. atdeb = true
  354. idling = false
  355. playSound(105374058,hamend,1,1)
  356. --- bg.cframe = char.Torso.CFrame * CFrame.Angles(math.rad(7),0,0)
  357. -- ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(-20),0,0),7,true)
  358. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(150),math.rad(0),math.rad(-90)),7)
  359. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(160),math.rad(0),math.rad(30)),13,true)
  360. ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(-35),0,0),13,true)
  361. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(160),math.rad(0),math.rad(60)),13)
  362. playSound(92597296,hamend,1,1.07)
  363. local s = playSound(96626016,hamend)
  364. s.Volume = 0
  365. local hitcon
  366. hitcon = hamend.Touched:connect(function(hit)
  367. s.Volume = 1
  368. if not hit.Anchored then
  369. hit.Velocity = hit.Velocity + hamend.CFrame.lookVector*-20
  370. end
  371. local hum = hit.Parent:FindFirstChild("Humanoid")
  372. if hum and not hum:IsDescendantOf(char) then
  373. DoDamage(hum,30)
  374. hum.PlatformStand = true
  375. wait(.6)
  376. hum.PlatformStand = false
  377. end
  378. end)
  379. bg.maxTorque = Vector3.new(1,1,1)*9e10
  380. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(35),math.rad(0),math.rad(30)),4,true)
  381. ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(35),0,0),4,true)
  382. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(35),math.rad(0),math.rad(-30)),4)
  383. if workspace:FindPartOnRay(Ray.new(hamend.Position,hamend.CFrame.lookVector*3),char) then
  384. s.Volume = 1
  385. end
  386. wait(.2)
  387. bg.maxTorque = Vector3.new(1,0,1)*9e10
  388. hitcon:disconnect()
  389. atdeb = false
  390. idling = true
  391. end
  392. if k == "q" then
  393. if atdeb then return end
  394. atdeb = true
  395. idling = false
  396. playSound(105374058,hamend,1,1)
  397. bg.cframe = char.Torso.CFrame * CFrame.Angles(math.rad(7),0,0)
  398. ctween(grip,"C0",grip0*CFrame.Angles(math.rad(-30),math.rad(-25),math.rad(-15)),9,true)
  399. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(150),math.rad(0),math.rad(30)),7,true)
  400. ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(-20),0,0),7,true)
  401. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(150),math.rad(0),math.rad(-30)),7)
  402. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(160),math.rad(0),math.rad(30)),13,true)
  403. ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(-35),0,0),13,true)
  404. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(160),math.rad(0),math.rad(-30)),13)
  405. playSound(92597296,hamend,1,1.07)
  406. local s = playSound(96626016,hamend)
  407. s.Volume = 0
  408. local hitcon
  409. hitcon = hamend.Touched:connect(function(hit)
  410. s.Volume = 1
  411. if not hit.Anchored then
  412. hit.Velocity = hit.Velocity + hamend.CFrame.lookVector*-20
  413. end
  414. local hum = hit.Parent:FindFirstChild("Humanoid")
  415. if hum and not hum:IsDescendantOf(char) then
  416. DoDamage(hum,30)
  417. hum.PlatformStand = true
  418. wait(.6)
  419. hum.PlatformStand = false
  420. end
  421. end)
  422. bg.cframe = char.Torso.CFrame * CFrame.Angles(math.rad(7),0,0)
  423. wait(.05)
  424. bg.cframe = char.Torso.CFrame * CFrame.Angles(math.rad(-20),0,0)
  425. bg.maxTorque = Vector3.new(1,1,1)*9e10
  426. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(55),math.rad(5),math.rad(50)),7,true)
  427. ctween(nk,"C0",nk0 * CFrame.Angles(math.rad(5),0,0),4,true)
  428. ctween(rs,"C0",rs0*CFrame.new(-.9,0,-.9) * CFrame.Angles(math.rad(50),math.rad(5),math.rad(-50)),7)
  429. if workspace:FindPartOnRay(Ray.new(hamend.Position,hamend.CFrame.lookVector*3),char) then
  430. s.Volume = 1
  431. end
  432. wait(.2)
  433. bg.maxTorque = Vector3.new(1,0,1)*9e10
  434. hitcon:disconnect()
  435. atdeb = false
  436. idling = true
  437. end
  438. if k == "r" then
  439. if atdeb then return end
  440. atdeb = true
  441. idling = false
  442. ctween(ls,"C0",ls0*CFrame.new(.7,0,-.7) * CFrame.Angles(math.rad(70),math.rad(0),math.rad(30)),7,true)
  443. ctween(grip,"C0",grip0*CFrame.Angles(math.rad(0),math.rad(90),math.rad(-60))*CFrame.Angles(0,math.rad(180),0),9,true)
  444. bg.maxTorque = Vector3.new(1,1,1)*9e10
  445. bg.cframe = char.Torso.CFrame
  446. ctween(rs,"C0",rs0*CFrame.new(-.7,0,-.7) * CFrame.Angles(math.rad(70),math.rad(0),math.rad(-30)),7,true)
  447. local s = playSound(92597296,hamend,1,1.07)
  448. s.Looped = true
  449. local sndmd = {}
  450. local hitcon
  451. hitcon = hamend.Touched:connect(function(hit)
  452. if not sndmd[hit] then sndmd[hit] = playSound(10730819,hamend) end
  453.  
  454. if not hit.Anchored then
  455. hit.Velocity = hit.Velocity + hamend.CFrame.lookVector*60
  456. end
  457. local hum = hit.Parent:FindFirstChild("Humanoid")
  458. if hum and not hum:IsDescendantOf(char) then
  459. DoDamage(hum,math.random(4,6))
  460. hum.Sit = true
  461. wait(2)
  462. hum.Sit = false
  463. end
  464. end)
  465. for i=1,20 do
  466. bg.cframe = bg.cframe * CFrame.Angles(0,math.rad(-1440/20),0)
  467. wait(.1)
  468. end
  469. hitcon:disconnect()
  470. bg.maxTorque = Vector3.new(1,0,1)*9e10
  471. s:Stop()
  472. s:Destroy()
  473. atdeb = false
  474. idling = true
  475. end
  476. if k == "e" then
  477. if atdeb then return end
  478. basiccombo = (tick()-basiccombotimer > .5 or basiccombo == 2) and 1 or basiccombo + 1
  479. idling = false
  480. atdeb = true
  481. if basiccombo == 1 then
  482. ctween(ls,"C0",ls0 * CFrame.new(.2,.2,-.1) * CFrame.Angles(math.rad(120),math.rad(0),math.rad(5)) * CFrame.Angles(0,math.rad(60),0),7,true)
  483. ctween(rs,"C0",rs0*CFrame.new(0,0,-.3) * CFrame.Angles(math.rad(120),math.rad(70),math.rad(-30)),7)
  484. bg.maxTorque = Vector3.new(1,1,1)*9e10
  485. bg.cframe = char.Torso.CFrame * CFrame.Angles(0,math.rad(-40),0)
  486. playSound(92597296,hamend,1,1.2)
  487. local ac
  488. local hitcon
  489. hitcon = hamend.Touched:connect(function(hit)
  490. if not ac then ac = playSound(10730819,hamend,1,1) end
  491. if not hit.Anchored then
  492. hit.Velocity = hit.Velocity + hamend.CFrame.lookVector*50
  493. end
  494. local hum = hit.Parent:FindFirstChild("Humanoid")
  495. if hum and not hum:IsDescendantOf(char) then
  496. DoDamage(hum,10)
  497. end
  498. end)
  499. ctween(ls,"C0",ls0 * CFrame.new(1,.2,-1) * CFrame.Angles(math.rad(115),math.rad(0),math.rad(40)) * CFrame.Angles(0,math.rad(60),0),6,true)
  500. ctween(rs,"C0",rs0*CFrame.new(0,0,-.3) * CFrame.Angles(math.rad(120),math.rad(80),math.rad(-30))* CFrame.Angles(math.rad(-50),0,0),6,true)
  501. wait(.1)
  502. bg.cframe = char.Torso.CFrame * CFrame.Angles(0,math.rad(40),0)
  503. hitcon:disconnect()
  504. elseif basiccombo == 2 then
  505. ctween(ls,"C0",ls0*CFrame.new(1,0,-1) * CFrame.Angles(math.rad(5),math.rad(0),math.rad(70)),10,true)
  506. ctween(grip,"C0",grip0*CFrame.Angles(math.rad(10),0,0),12,true)
  507. ctween(rs,"C0",rs0*CFrame.new(0,0,0) * CFrame.Angles(math.rad(-5),math.rad(0),math.rad(0)),10,true)
  508. wait(.2)
  509. playSound(92597296,hamend,1,.7)
  510. wait(.1)
  511. bg.maxTorque = Vector3.new(1,1,1)*9e10
  512. bg.cframe = char.Torso.CFrame
  513. bv.maxForce = Vector3.new(1,0,1)*9e5
  514. bv.velocity = bg.cframe.lookVector * 70
  515. coroutine.wrap(function() for i=1,25 do bv.velocity = bv.velocity*.9 wait(1/30) end bv.maxForce = Vector3.new() end)()
  516. local thrustcon
  517. thrustcon = hamend.Touched:connect(function(hit)
  518. if not hit.Anchored then
  519. hit.Velocity = hit.Velocity + hamend.CFrame.lookVector*-40
  520. end
  521. local hum = hit.Parent:FindFirstChild("Humanoid")
  522. if hum and not hum:IsDescendantOf(char) then
  523. DoDamage(hum,5)
  524. --thrustcon:disconnect()
  525. hum.Sit = true
  526. ctween(grip,"C0",grip0*CFrame.Angles(math.rad(30),0,0),5,true)
  527. if not ac then ac = playSound(92597296,hamend,1,1.15) end
  528. local tor = hum.Parent:FindFirstChild("Torso")
  529. if tor and not tor:FindFirstChild("torv") then
  530. --tor.Velocity = bg.cframe.lookVector*30 + Vector3.new(0,100,0)
  531. local torv = Instance.new("BodyVelocity",tor)
  532. torv.maxForce = Vector3.new(1,1,1)*9e9
  533. torv.P = 2000
  534. torv.velocity = bg.cframe.lookVector*20 + Vector3.new(0,120,0)
  535. torv.Name = "torv"
  536. local torav = Instance.new("BodyAngularVelocity",tor)
  537. torav.maxTorque = Vector3.new(1,1,1)*9e9
  538. torav.P = 5000
  539. torav.angularvelocity = Vector3.new(math.random()-.5,math.random()-.5,math.random()-.5)*2
  540. coroutine.wrap(function()
  541. for i=1,torv.velocity.Y/196.22*30 do
  542. hum.Sit = true
  543. torv.velocity = torv.velocity - Vector3.new(0,196.22/30,0)
  544. wait(1/30)
  545. end
  546. torv:Destroy()
  547. torav:Destroy()
  548. tor.Velocity = Vector3.new()
  549. end)()
  550. end
  551. end
  552. end)
  553. ctween(ls,"C0",ls0*CFrame.new(1,0,-1) * CFrame.Angles(math.rad(80),math.rad(0),math.rad(50)),12,true)
  554. ctween(grip,"C0",grip0*CFrame.Angles(math.rad(-70),0,0),12,true)
  555. ctween(rs,"C0",rs0*CFrame.new(-.6,0,-.7) * CFrame.Angles(math.rad(90),math.rad(0),math.rad(-10)),12,true)
  556. Delay(.3,function() thrustcon:disconnect() end)
  557.  
  558. end
  559. wait(.1)
  560. bg.maxTorque = Vector3.new(1,0,1)*9e10
  561.  
  562. basiccombotimer = tick()
  563. atdeb = false
  564. idling = true
  565.  
  566. end -- 96626016, 92597296
  567. bg.cframe = CFrame.new(char.Torso.Position,char.Torso.Position+char.Torso.CFrame.lookVector*Vector3.new(1,0,1))
  568. end))
  569.  
  570. char.Humanoid.MaxHealth = 220
  571. char.Humanoid.WalkSpeed = 20
  572. wait(.3)
  573. char.Humanoid.Health = 220
Add Comment
Please, Sign In to add comment